configure 30 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176
  1. #!/bin/sh
  2. # Proprietary configure script of Coturn project
  3. cleanup() {
  4. rm -rf ${TMPCPROGC}
  5. rm -rf ${TMPCPROGB}
  6. rm -rf ${TH_TMPCPROGC}
  7. rm -rf ${TH_TMPCPROGB}
  8. rm -rf ${DTLS_TMPCPROGC}
  9. rm -rf ${DTLS_TMPCPROGB}
  10. rm -rf ${GCM_TMPCPROGC}
  11. rm -rf ${GCM_TMPCPROGB}
  12. rm -rf ${PQ_TMPCPROGC}
  13. rm -rf ${PQ_TMPCPROGB}
  14. rm -rf ${MYSQL_TMPCPROGC}
  15. rm -rf ${MYSQL_TMPCPROGB}
  16. rm -rf ${MONGO_TMPCPROGC}
  17. rm -rf ${MONGO_TMPCPROGB}
  18. rm -rf ${D_TMPCPROGC}
  19. rm -rf ${D_TMPCPROGB}
  20. rm -rf ${E_TMPCPROGC}
  21. rm -rf ${E_TMPCPROGO}
  22. rm -rf ${HR_TMPCPROGC}
  23. rm -rf ${HR_TMPCPROGB}
  24. rm -rf ${TMPCADDRPROGO}
  25. }
  26. testlibraw() {
  27. ${CC} ${TMPCPROGC} -o ${TMPCPROGB} ${OSCFLAGS} ${OSLIBS} -${1} 2>>/dev/null
  28. ER=$?
  29. if ! [ ${ER} -eq 0 ] ; then
  30. ${ECHO_CMD} "Do not use -${1}"
  31. return 0
  32. else
  33. OSLIBS="${OSLIBS} -${1}"
  34. return 1
  35. fi
  36. }
  37. testlibevent2_comp() {
  38. ${CC} -c ${E_TMPCPROGC} -o ${E_TMPCPROGO} ${OSCFLAGS} 2>>/dev/null
  39. ER=$?
  40. if ! [ ${ER} -eq 0 ] ; then
  41. ${ECHO_CMD} "Libevent2 development is not installed properly"
  42. return 0
  43. else
  44. return 1
  45. fi
  46. }
  47. testhiredis() {
  48. HIREDISCFLAGS=
  49. HIREDISLIBS=-lhiredis
  50. ${CC} ${HR_TMPCPROGC} -o ${HR_TMPCPROGB} ${OSCFLAGS} ${DBLIBS} ${HIREDISCFLAGS} ${HIREDISLIBS} 2>>/dev/null
  51. ER=$?
  52. if ! [ ${ER} -eq 0 ] ; then
  53. ${ECHO_CMD}
  54. ${ECHO_CMD} "HIREDIS DEVELOPMENT LIBRARY (libhiredis.*) AND/OR HEADERS (hiredis/*.h)"
  55. ${ECHO_CMD} " ARE NOT INSTALLED PROPERLY ON THIS SYSTEM."
  56. ${ECHO_CMD} " THAT'S OK BUT THE TURN SERVER IS BUILDING WITHOUT REDIS SUPPORT."
  57. ${ECHO_CMD}
  58. return 0
  59. else
  60. DBCFLAGS="${DBCFLAGS} ${HIREDISCFLAGS}"
  61. DBLIBS="${DBLIBS} ${HIREDISLIBS}"
  62. return 1
  63. fi
  64. }
  65. testlibpq() {
  66. POSTCFLAGS="-I${PREFIX}/pgsql/include -I${PREFIX}/include/pgsql/ -I${PREFIX}/include/postgres/ -I${PREFIX}/postgres/include/ -I${PREFIX}/include/postgresql/ -I${PREFIX}/postgresql/include/"
  67. POSTCFLAGS="${POSTCFLAGS} -I/usr/local/pgsql/include -I/usr/local/include/pgsql/ -I/usr/local/include/postgres/ -I/usr/local/postgres/include/ -I/usr/local/include/postgresql/ -I/usr/local/postgresql/include/"
  68. POSTCFLAGS="${POSTCFLAGS} -I/usr/pgsql/include -I/usr/include/pgsql/ -I/usr/include/postgres/ -I/usr/postgres/include/ -I/usr/include/postgresql/ -I/usr/postgresql/include/"
  69. for ilib in ${PREFIX}/pgsql/lib ${PREFIX}/lib/pgsql ${PREFIX}/lib64/pgsql /usr/local/pgsql/lib /usr/local/lib/pgsql /usr/local/lib64/pgsql /usr/pgsql/lib /usr/lib/pgsql /usr/lib64/pgsql ${PREFIX}/postgres/lib ${PREFIX}/lib/postgres ${PREFIX}/lib64/postgres /usr/local/postgres/lib /usr/local/lib/postgres /usr/local/lib64/postgres /usr/postgres/lib /usr/lib/postgres /usr/lib64/postgres ${PREFIX}/postgresql/lib ${PREFIX}/lib/postgresql ${PREFIX}/lib64/postgresql /usr/local/postgresql/lib /usr/local/lib/postgresql /usr/local/lib64/postgresql /usr/postgresql/lib /usr/lib/postgresql /usr/lib64/postgresql
  70. do
  71. if [ -d ${ilib} ] ; then
  72. POSTLIBS="${POSTLIBS} -L${ilib}"
  73. if ! [ -z "${TURN_ACCEPT_RPATH}" ] ; then
  74. TURN_RPATH="${TURN_RPATH} -Wl,-rpath,${ilib}"
  75. fi
  76. fi
  77. done
  78. POSTLIBS="${OSLIBS} ${POSTLIBS} -lpq"
  79. ${CC} ${PQ_TMPCPROGC} -o ${PQ_TMPCPROGB} ${OSCFLAGS} ${DBCFLAGS} ${POSTCFLAGS} ${DBLIBS} ${POSTLIBS} ${OSLIBS} 2>>/dev/null
  80. ER=$?
  81. if ! [ ${ER} -eq 0 ] ; then
  82. ${ECHO_CMD}
  83. ${ECHO_CMD} "POSTGRESQL DEVELOPMENT LIBRARY (libpq.a) AND/OR HEADER (libpq-fe.h)"
  84. ${ECHO_CMD} " ARE NOT INSTALLED PROPERLY ON THIS SYSTEM."
  85. ${ECHO_CMD} " THAT'S OK BUT THE TURN SERVER IS BUILDING WITHOUT POSTGRESQL DATABASE SUPPORT."
  86. ${ECHO_CMD}
  87. return 0
  88. else
  89. DBCFLAGS="${DBCFLAGS} ${POSTCFLAGS}"
  90. DBLIBS="${DBLIBS} ${POSTLIBS}"
  91. return 1
  92. fi
  93. }
  94. testlibmysql() {
  95. MYSQL_CFLAGS="-I${PREFIX}/mysql/include -I${PREFIX}/include/mysql/"
  96. MYSQL_CFLAGS="${MYSQL_CFLAGS} -I/usr/local/mysql/include -I/usr/local/include/mysql/"
  97. MYSQL_CFLAGS="${MYSQL_CFLAGS} -I/usr/mysql/include -I/usr/include/mysql/"
  98. for ilib in ${PREFIX}/mysql/lib ${PREFIX}/lib/mysql ${PREFIX}/lib64/mysql /usr/local/mysql/lib /usr/local/lib/mysql /usr/local/lib64/mysql /usr/mysql/lib /usr/lib/mysql /usr/lib64/mysql
  99. do
  100. if [ -d ${ilib} ] ; then
  101. MYSQL_LIBS="${MYSQL_LIBS} -L${ilib}"
  102. if ! [ -z "${TURN_ACCEPT_RPATH}" ] ; then
  103. TURN_RPATH="${TURN_RPATH} -Wl,-rpath,${ilib}"
  104. fi
  105. fi
  106. done
  107. MYSQL_LIBS="${OSLIBS} ${MYSQL_LIBS} -lmysqlclient"
  108. ${CC} ${MYSQL_TMPCPROGC} -o ${MYSQL_TMPCPROGB} ${OSCFLAGS} ${DBCFLAGS} ${DBLIBS} ${MYSQL_CFLAGS} ${MYSQL_LIBS} ${OSLIBS} 2>>/dev/null
  109. ER=$?
  110. if ! [ ${ER} -eq 0 ] ; then
  111. ${ECHO_CMD}
  112. ${ECHO_CMD} "MYSQL DEVELOPMENT LIBRARY (libmysqlclient) AND/OR HEADER (mysql.h)"
  113. ${ECHO_CMD} " ARE NOT INSTALLED PROPERLY ON THIS SYSTEM."
  114. ${ECHO_CMD} " THAT'S OK BUT THE TURN SERVER IS BUILDING WITHOUT MYSQL DATABASE SUPPORT."
  115. ${ECHO_CMD}
  116. return 0
  117. else
  118. DBCFLAGS="${DBCFLAGS} ${MYSQL_CFLAGS}"
  119. DBLIBS="${DBLIBS} ${MYSQL_LIBS}"
  120. return 1
  121. fi
  122. }
  123. testlibmongoc() {
  124. for inc in ${PREFIX}/libmongoc-1.0 ${PREFIX}/libbson-1.0 /usr/local/include/libmongoc-1.0 /usr/local/include/libbson-1.0 /usr/libmongoc-1.0 -I/usr/libbson-1.0
  125. do
  126. if [ -d ${inc} ] ; then
  127. MONGO_CFLAGS="${MONGO_CFLAGS} -I${inc}"
  128. fi
  129. done
  130. MONGO_LIBS="-lmongoc-1.0 -lbson-1.0"
  131. ${CC} ${MONGO_TMPCPROGC} -o ${MONGO_TMPCPROGB} ${OSCFLAGS} ${DBCFLAGS} ${DBLIBS} ${MONGO_CFLAGS} ${MONGO_LIBS} ${OSLIBS} 2>>/dev/null
  132. ER=$?
  133. if ! [ ${ER} -eq 0 ] ; then
  134. ${ECHO_CMD}
  135. ${ECHO_CMD} "MONGODB DEVELOPMENT LIBRARIES (libmongoc-1.0 and libbson-1.0) AND/OR HEADER (mongoc.h)"
  136. ${ECHO_CMD} " ARE NOT INSTALLED PROPERLY ON THIS SYSTEM."
  137. ${ECHO_CMD} " THAT'S OK BUT THE TURN SERVER IS BUILDING WITHOUT MONGODB SUPPORT."
  138. ${ECHO_CMD}
  139. return 0
  140. else
  141. DBCFLAGS="${DBCFLAGS} ${MONGO_CFLAGS}"
  142. DBLIBS="${DBLIBS} ${MONGO_LIBS}"
  143. return 1
  144. fi
  145. }
  146. testlib() {
  147. testlibraw l${1}
  148. }
  149. pthread_testlib() {
  150. SYSTEM=`uname`
  151. if [ "${SYSTEM}" = "DragonFly" ] ; then
  152. OSLIBS="${OSLIBS} -pthread"
  153. fi
  154. ISBSD=`uname | grep -i bsd`
  155. if ! [ -z "${ISBSD}" ] ; then
  156. OSLIBS="${OSLIBS} -pthread"
  157. fi
  158. if [ -z "${PTHREAD_LIBS}" ] ; then
  159. ${CC} ${TH_TMPCPROGC} -o ${TH_TMPCPROGB} ${OSCFLAGS} ${OSLIBS} 2>>/dev/null
  160. ER=$?
  161. if [ ${ER} -eq 0 ] ; then
  162. return 1
  163. else
  164. ${CC} ${TH_TMPCPROGC} -o ${TH_TMPCPROGB} ${OSCFLAGS} ${OSLIBS} -pthread 2>>/dev/null
  165. ER=$?
  166. if [ ${ER} -eq 0 ] ; then
  167. OSLIBS="${OSLIBS} -pthread"
  168. return 1
  169. else
  170. ${CC} ${TH_TMPCPROGC} -o ${TH_TMPCPROGB} ${OSCFLAGS} ${OSLIBS} -lpthread 2>>/dev/null
  171. ER=$?
  172. if [ ${ER} -eq 0 ] ; then
  173. OSLIBS="${OSLIBS} -lpthread"
  174. return 1
  175. fi
  176. fi
  177. fi
  178. else
  179. OSLIBS="${OSLIBS} ${PTHREAD_LIBS}"
  180. fi
  181. ${CC} ${TH_TMPCPROGC} -o ${TH_TMPCPROGB} ${OSCFLAGS} ${OSLIBS} 2>>/dev/null
  182. ER=$?
  183. if [ ${ER} -eq 0 ] ; then
  184. return 1
  185. else
  186. ${CC} ${TH_TMPCPROGC} -o ${TH_TMPCPROGB} ${OSCFLAGS} ${OSLIBS} -D_GNU_SOURCE 2>>/dev/null
  187. ER=$?
  188. if [ ${ER} -eq 0 ] ; then
  189. ${ECHO_CMD} "Older GNU pthread library found"
  190. OSCFLAGS="${OSCFLAGS} -D_GNU_SOURCE"
  191. return 1
  192. else
  193. ${ECHO_CMD} "Do not use pthreads"
  194. fi
  195. fi
  196. return 0
  197. }
  198. pthread_testbarriers() {
  199. ${ECHO_CMD} "pthread_barrier_t barrier;" >> ${TH_TMPCPROGC}
  200. ${CC} ${TH_TMPCPROGC} -o ${TH_TMPCPROGB} ${OSCFLAGS} ${OSLIBS} 2>>/dev/null
  201. ER=$?
  202. if ! [ ${ER} -eq 0 ] ; then
  203. ${ECHO_CMD} "pthread barriers not found"
  204. OSCFLAGS="${OSCFLAGS} -DTURN_NO_THREAD_BARRIERS"
  205. fi
  206. }
  207. dtls_testlib() {
  208. if [ -z "${TURN_NO_DTLS}" ] ; then
  209. ${CC} ${DTLS_TMPCPROGC} -o ${DTLS_TMPCPROGB} ${OSCFLAGS} ${OSLIBS} 2>>/dev/null
  210. ER=$?
  211. if [ ${ER} -eq 0 ] ; then
  212. return 1
  213. else
  214. return 0
  215. fi
  216. else
  217. return 0
  218. fi
  219. }
  220. gcm_testlib() {
  221. if [ -z "${TURN_NO_GCM}" ] ; then
  222. ${CC} ${GCM_TMPCPROGC} -o ${GCM_TMPCPROGB} ${OSCFLAGS} ${OSLIBS} 2>>/dev/null
  223. ER=$?
  224. if [ ${ER} -eq 0 ] ; then
  225. return 1
  226. else
  227. return 0
  228. fi
  229. else
  230. return 0
  231. fi
  232. }
  233. testdaemon() {
  234. ${CC} ${D_TMPCPROGC} -o ${D_TMPCPROGB} ${OSCFLAGS} ${OSLIBS} 2>>/dev/null
  235. ER=$?
  236. if [ ${ER} -eq 0 ] ; then
  237. OSCFLAGS="${OSCFLAGS} -DTURN_HAS_DAEMON"
  238. fi
  239. }
  240. test_sin_len() {
  241. TMPCADDRPROGC=src/client/ns_turn_ioaddr.c
  242. ${CC} -c ${OSCFLAGS} -DTURN_HAS_SIN_LEN -Isrc ${TMPCADDRPROGC} -o ${TMPCADDRPROGO} 2>>/dev/null
  243. ER=$?
  244. if [ ${ER} -eq 0 ] ; then
  245. OSCFLAGS="${OSCFLAGS} -DTURN_HAS_SIN_LEN"
  246. ${ECHO_CMD} "Sockets code is fine: sin_len field present"
  247. else
  248. ${CC} -c ${OSCFLAGS} -Isrc ${TMPCADDRPROGC} -o ${TMPCADDRPROGO} 2>>/dev/null
  249. ER=$?
  250. if [ ${ER} -eq 0 ] ; then
  251. ${ECHO_CMD} "Sockets code is fine: no sin_len field present"
  252. else
  253. ${ECHO_CMD} "WARNING: trial compilation failed: src/client/ns_turn_ioaddr.c"
  254. fi
  255. fi
  256. }
  257. #########################
  258. # Start
  259. #########################
  260. cleanup
  261. #########################
  262. # To be set:
  263. #########################
  264. if [ -z "${ECHO_CMD}" ] ; then
  265. ECHO_CMD=echo
  266. fi
  267. if [ -z "${PORTNAME}" ] ; then
  268. PORTNAME=turnserver
  269. fi
  270. #########################
  271. # Installation directory options
  272. ac_prev=
  273. ac_dashdash=
  274. for ac_option
  275. do
  276. # If the previous option needs an argument, assign it.
  277. if test -n "$ac_prev"; then
  278. eval $ac_prev=\$ac_option
  279. ac_prev=
  280. continue
  281. fi
  282. case $ac_option in
  283. *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
  284. *=) ac_optarg= ;;
  285. *) ac_optarg=yes ;;
  286. esac
  287. # Accept the important Cygnus configure options, so we can diagnose typos.
  288. case $ac_dashdash$ac_option in
  289. --)
  290. ac_dashdash=yes ;;
  291. -bindir | --bindir | --bindi | --bind | --bin | --bi)
  292. ac_prev=BINDIR ;;
  293. -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
  294. BINDIR=$ac_optarg ;;
  295. -datadir | --datadir | --datadi | --datad | -schemadir | --schemadir)
  296. ac_prev=SCHEMADIR ;;
  297. -datadir=* | --datadir=* | --datadi=* | --datad=* | -schemadir=* | --schemadir=*)
  298. SCHEMADIR=$ac_optarg ;;
  299. -docdir | --docdir | --docdi | --doc | --do | -docsdir | --docsdir | --docsdi | --docs)
  300. ac_prev=DOCDIR ;;
  301. -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=* | -docsdir=* | --docsdir=* | --docsdi=* | --docs=*)
  302. DOCSDIR=$ac_optarg ;;
  303. -examplesdir | --examplesdir | -examples | --examples)
  304. ac_prev=EXAMPLESDIR ;;
  305. -examplesdir=* | --examplesdir=* | -examples=* | --examples=*)
  306. EXAMPLESDIR=$ac_optarg ;;
  307. -includedir | --includedir | --includedi | --included | --include \
  308. | --includ | --inclu | --incl | --inc)
  309. ac_prev=INCLUDEDIR ;;
  310. -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
  311. | --includ=* | --inclu=* | --incl=* | --inc=*)
  312. INCLUDEDIR=$ac_optarg ;;
  313. -turnincludedir | --turnincludedir)
  314. ac_prev=TURNINCLUDEDIR ;;
  315. -turnincludedir=* | --turnincludedir=*)
  316. TURNINCLUDEDIR=$ac_optarg ;;
  317. -libdir | --libdir | --libdi | --libd)
  318. ac_prev=LIBDIR ;;
  319. -libdir=* | --libdir=* | --libdi=* | --libd=*)
  320. LIBDIR=$ac_optarg ;;
  321. -mandir | --mandir | --mandi | --mand | --man | --ma | --m | -manprefix | --manprefix)
  322. ac_prev=MAXPREFIX ;;
  323. -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=* | -manprefix=* | --manprefix=*)
  324. MANPREFIX=$ac_optarg ;;
  325. -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
  326. ac_prev=PREFIX ;;
  327. -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
  328. PREFIX=$ac_optarg ;;
  329. -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
  330. | --syscon | --sysco | --sysc | --sys | --sy | -confdir | --confdir)
  331. ac_prev=CONFDIR ;;
  332. -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
  333. | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=* | -confdir=* | --confdir=*)
  334. CONFDIR=$ac_optarg ;;
  335. -disable-rpath | --disable-rpath)
  336. TURN_DISABLE_RPATH=1 ;;
  337. esac
  338. done
  339. if test -n "$ac_prev"; then
  340. ac_option=--`echo $ac_prev | sed 's/_/-/g'`
  341. as_fn_error $? "missing argument to $ac_option"
  342. fi
  343. #############################################
  344. if [ -z "${PREFIX}" ] ; then
  345. if [ -z "${prefix}" ] ; then
  346. SYSTEM=`uname`
  347. if [ "${SYSTEM}" = "NetBSD" ] ; then
  348. # A little tough guy
  349. PREFIX=/usr/pkg
  350. elif [ "${SYSTEM}" = "SunOS" ] ; then
  351. # A fat guy
  352. PREFIX=/usr
  353. else
  354. # An ordinary person
  355. PREFIX=/usr/local
  356. fi
  357. else
  358. PREFIX=${prefix}
  359. fi
  360. fi
  361. if [ -z "${BINDIR}" ] ; then
  362. if [ -z "${bindir}" ] ; then
  363. BINDIR=${PREFIX}/bin
  364. else
  365. BINDIR=${bindir}
  366. fi
  367. fi
  368. if [ -z "${CONFDIR}" ] ; then
  369. if [ -z "${confdir}" ] ; then
  370. CONFDIR=${PREFIX}/etc
  371. else
  372. CONFDIR=${confdir}
  373. fi
  374. fi
  375. if [ -z "${MANPREFIX}" ] ; then
  376. if [ -z "${manprefix}" ] ; then
  377. MANPREFIX=${PREFIX}
  378. else
  379. MANPREFIX=${manprefix}
  380. fi
  381. fi
  382. if [ -z "${EXAMPLESDIR}" ] ; then
  383. if [ -z "${examplesdir}" ] ; then
  384. EXAMPLESDIR=${PREFIX}/share/examples/${PORTNAME}
  385. else
  386. EXAMPLESDIR=${examplesdir}
  387. fi
  388. fi
  389. if [ -z "${DOCSDIR}" ] ; then
  390. if [ -z "${docsdir}" ] ; then
  391. DOCSDIR=${PREFIX}/share/doc/${PORTNAME}
  392. else
  393. DOCSDIR=${docsdir}
  394. fi
  395. fi
  396. if [ -z "${LIBDIR}" ] ; then
  397. if [ -z "${libdir}" ] ; then
  398. LIBDIR=${PREFIX}/lib
  399. else
  400. LIBDIR=${libdir}
  401. fi
  402. fi
  403. if [ -z "${SCHEMADIR}" ] ; then
  404. if [ -z "${schemadir}" ] ; then
  405. SCHEMADIR=${PREFIX}/share/${PORTNAME}
  406. else
  407. SCHEMADIR=${schemadir}
  408. fi
  409. fi
  410. if [ -z "${INCLUDEDIR}" ] ; then
  411. if [ -z "${includedir}" ] ; then
  412. INCLUDEDIR=${PREFIX}/include
  413. else
  414. INCLUDEDIR=${includedir}
  415. fi
  416. fi
  417. if [ -z "${TURNINCLUDEDIR}" ] ; then
  418. if [ -z "${turnincludedir}" ] ; then
  419. TURNINCLUDEDIR=${INCLUDEDIR}/turn
  420. else
  421. TURNINCLUDEDIR=${turnincludedir}
  422. fi
  423. fi
  424. ###############################################
  425. if [ -z "${ARCHIVERCMD}" ] ; then
  426. ARCHIVERCMD="ar -r"
  427. fi
  428. if [ -z "${MORECMD}" ]; then
  429. type more 2>>/dev/null
  430. ER=$?
  431. if [ ${ER} -eq 0 ] ; then
  432. MORECMD="more"
  433. else
  434. type less 2>>/dev/null
  435. ER=$?
  436. if [ ${ER} -eq 0 ] ; then
  437. MORECMD="less"
  438. else
  439. MORECMD="cat"
  440. fi
  441. fi
  442. fi
  443. OSCFLAGS="-I${INCLUDEDIR} -I${PREFIX}/include/ -I/usr/local/include ${CFLAGS}"
  444. OSLIBS="${LDFLAGS}"
  445. for ilib in ${PREFIX}/lib/event2/ ${PREFIX}/lib/ /usr/local/lib/event2/ /usr/local/lib/ ${PREFIX}/lib64/event2/ ${PREFIX}/lib64/ /usr/local/lib64/event2/ /usr/local/lib64/
  446. do
  447. if [ -d ${ilib} ] ; then
  448. OSLIBS="${OSLIBS} -L${ilib}"
  449. TURN_RPATH="${TURN_RPATH} -Wl,-rpath,${ilib}"
  450. fi
  451. done
  452. SYSTEM=`uname`
  453. if [ "${SYSTEM}" = "NetBSD" ] ; then
  454. OSCFLAGS="${OSCFLAGS} -I/usr/pkg/include"
  455. OSLIBS="-L/usr/pkg/lib ${OSLIBS}"
  456. if ! [ -z "${TURN_ACCEPT_RPATH}" ] ; then
  457. TURN_RPATH="${TURN_RPATH} -Wl,-rpath,/usr/pkg/lib"
  458. fi
  459. fi
  460. ###########################
  461. # Install shell commands
  462. ###########################
  463. type ginstall 2>>/dev/null
  464. ER=$?
  465. if [ ${ER} -eq 0 ] ; then
  466. INSTALL_PROGRAM="ginstall"
  467. INSTALL_MAN="ginstall"
  468. INSTALL_SCRIPT="ginstall"
  469. INSTALL_SHARED_LIB="ginstall"
  470. INSTALL_STATIC_LIB="ginstall"
  471. INSTALL_DATA="ginstall"
  472. MKDIR="ginstall -d"
  473. else
  474. type install 2>>/dev/null
  475. ER=$?
  476. if [ ${ER} -eq 0 ] ; then
  477. INSTALL_PROGRAM="install"
  478. INSTALL_MAN="install"
  479. INSTALL_SCRIPT="install"
  480. INSTALL_SHARED_LIB="install"
  481. INSTALL_STATIC_LIB="install"
  482. INSTALL_DATA="install"
  483. MKDIR="install -d"
  484. else
  485. INSTALL_PROGRAM="cp -pf"
  486. INSTALL_MAN="cp -pf"
  487. INSTALL_SCRIPT="cp -pf"
  488. INSTALL_SHARED_LIB="cp -pf"
  489. INSTALL_STATIC_LIB="cp -pf"
  490. INSTALL_DATA="cp -pf"
  491. MKDIR="mkdir -p"
  492. fi
  493. fi
  494. type pkill 2>>/dev/null
  495. ER=$?
  496. if [ ${ER} -eq 0 ] ; then
  497. PKILL_PROGRAM="pkill"
  498. else
  499. PKILL_PROGRAM="${ECHO_CMD}"
  500. fi
  501. INSTALL_DIR="cp -rpf"
  502. MKBUILDDIR="mkdir -p"
  503. RMCMD="rm -rf"
  504. #############################
  505. # Adjustments for Solaris
  506. #############################
  507. SYSTEM=`uname`
  508. if [ "${SYSTEM}" = "SunOS" ] ; then
  509. # Solaris ? is this you ?!
  510. OSCFLAGS="${OSCFLAGS} -D__EXTENSIONS__ -D_XOPEN_SOURCE=500 -DTURN_NO_GETDOMAINNAME"
  511. OSLIBS="${OSLIBS} -lnsl"
  512. fi
  513. #########################
  514. # Temporary DIR location:
  515. #########################
  516. TMPDIR="."
  517. if [ -d /var/tmp ] ; then
  518. TMPDIR="/var/tmp"
  519. elif [ -d /tmp ] ; then
  520. TMPDIR=/tmp
  521. fi
  522. ${ECHO_CMD} Use TMP dir ${TMPDIR}
  523. #########################
  524. # Basic C test programs
  525. #########################
  526. TMPCADDRPROGO=${TMPDIR}/__test__ccomp_addr_$$.o
  527. TMPCPROG=__test__ccomp__$$
  528. TMPCPROGC=${TMPDIR}/${TMPCPROG}.c
  529. TMPCPROGB=${TMPDIR}/${TMPCPROG}
  530. cat > ${TMPCPROGC} <<!
  531. #include <stdlib.h>
  532. int main(int argc, char** argv) {
  533. return (int)(argv[argc][0]);
  534. }
  535. !
  536. TH_TMPCPROG=__test__ccomp__pthread__$$
  537. TH_TMPCPROGC=${TMPDIR}/${TH_TMPCPROG}.c
  538. TH_TMPCPROGB=${TMPDIR}/${TH_TMPCPROG}
  539. cat > ${TH_TMPCPROGC} <<!
  540. #include <stdlib.h>
  541. #include <pthread.h>
  542. int main(int argc, char** argv) {
  543. pthread_mutexattr_settype(0,PTHREAD_MUTEX_RECURSIVE);
  544. return (int)pthread_create(0,0,0,0)+(int)(argv[argc][0]);
  545. }
  546. !
  547. DTLS_TMPCPROG=__test__ccomp__dtls__$$
  548. DTLS_TMPCPROGC=${TMPDIR}/${DTLS_TMPCPROG}.c
  549. DTLS_TMPCPROGB=${TMPDIR}/${DTLS_TMPCPROG}
  550. cat > ${DTLS_TMPCPROGC} <<!
  551. #include <stdlib.h>
  552. #include <openssl/ssl.h>
  553. #include <openssl/bio.h>
  554. int main(int argc, char** argv) {
  555. return (((int)(BIO_CTRL_DGRAM_QUERY_MTU)) + argc + (int)(argv[argc][0]) + DTLSv1_listen(NULL,NULL));
  556. }
  557. !
  558. GCM_TMPCPROG=__test__ccomp__gcm__$$
  559. GCM_TMPCPROGC=${TMPDIR}/${GCM_TMPCPROG}.c
  560. GCM_TMPCPROGB=${TMPDIR}/${GCM_TMPCPROG}
  561. cat > ${GCM_TMPCPROGC} <<!
  562. #include <stdlib.h>
  563. #include <openssl/ssl.h>
  564. #include <openssl/evp.h>
  565. int main(int argc, char** argv) {
  566. return (int)EVP_CIPH_GCM_MODE;
  567. }
  568. !
  569. D_TMPCPROG=__test__ccomp__daemon__$$
  570. D_TMPCPROGC=${TMPDIR}/${D_TMPCPROG}.c
  571. D_TMPCPROGB=${TMPDIR}/${D_TMPCPROG}
  572. cat > ${D_TMPCPROGC} <<!
  573. #include <stdlib.h>
  574. #include <unistd.h>
  575. int main(int argc, char** argv) {
  576. return (int)daemon(0,0)+(int)(argv[argc][0]);
  577. }
  578. !
  579. E_TMPCPROG=__test__ccomp__libevent2__$$
  580. E_TMPCPROGC=${TMPDIR}/${E_TMPCPROG}.c
  581. E_TMPCPROGO=${TMPDIR}/${E_TMPCPROG}.o
  582. cat > ${E_TMPCPROGC} <<!
  583. #include <stdlib.h>
  584. #include <event2/event.h>
  585. int main(int argc, char** argv) {
  586. return (int)(argv[argc][0]);
  587. }
  588. !
  589. HR_TMPCPROG=__test__ccomp__hiredis__$$
  590. HR_TMPCPROGC=${TMPDIR}/${HR_TMPCPROG}.c
  591. HR_TMPCPROGB=${TMPDIR}/${HR_TMPCPROG}
  592. cat > ${HR_TMPCPROGC} <<!
  593. #include <stdlib.h>
  594. #include <hiredis/hiredis.h>
  595. #include <hiredis/async.h>
  596. int main(int argc, char** argv) {
  597. redisAsyncHandleRead(NULL);
  598. return (int)(argv[argc][0]);
  599. }
  600. !
  601. PQ_TMPCPROG=__test__ccomp__libpq__$$
  602. PQ_TMPCPROGC=${TMPDIR}/${PQ_TMPCPROG}.c
  603. PQ_TMPCPROGB=${TMPDIR}/${PQ_TMPCPROG}
  604. cat > ${PQ_TMPCPROGC} <<!
  605. #include <stdlib.h>
  606. #include <libpq-fe.h>
  607. int main(int argc, char** argv) {
  608. return (argc+(PQprotocolVersion(NULL))+(int)(argv[0][0]));
  609. }
  610. !
  611. MYSQL_TMPCPROG=__test__ccomp__libmysql__$$
  612. MYSQL_TMPCPROGC=${TMPDIR}/${MYSQL_TMPCPROG}.c
  613. MYSQL_TMPCPROGB=${TMPDIR}/${MYSQL_TMPCPROG}
  614. cat > ${MYSQL_TMPCPROGC} <<!
  615. #include <stdlib.h>
  616. #include <mysql.h>
  617. int main(int argc, char** argv) {
  618. return (argc+
  619. (int)(mysql_real_connect(NULL, NULL, NULL, NULL, NULL, 0, NULL, 0)!=0)+
  620. (int)(argv[0][0]));
  621. }
  622. !
  623. MONGO_TMPCPROG=__test__ccomp__libmongoc__$$
  624. MONGO_TMPCPROGC=${TMPDIR}/${MONGO_TMPCPROG}.c
  625. MONGO_TMPCPROGB=${TMPDIR}/${MONGO_TMPCPROG}
  626. cat > ${MONGO_TMPCPROGC} <<!
  627. #include <mongoc.h>
  628. int main(int argc, char** argv) {
  629. return (argc+
  630. (int)(mongoc_client_new("mongodb://localhost:27017")!=0)+
  631. (int)(argv[0][0]));
  632. }
  633. !
  634. ##########################
  635. # What is our compiler ?
  636. ##########################
  637. if [ -z "${CC}" ] ; then
  638. CC=cc
  639. ${CC} ${TMPCPROGC} ${OSCFLAGS} -o ${TMPCPROGB} 2>>/dev/null
  640. ER=$?
  641. if ! [ ${ER} -eq 0 ] ; then
  642. CC=gcc
  643. ${CC} ${TMPCPROGC} ${OSCFLAGS} -o ${TMPCPROGB} 2>>/dev/null
  644. ER=$?
  645. if ! [ ${ER} -eq 0 ] ; then
  646. CC=clang
  647. ${CC} ${TMPCPROGC} ${OSCFLAGS} -o ${TMPCPROGB} 2>>/dev/null
  648. ER=$?
  649. if ! [ ${ER} -eq 0 ] ; then
  650. CC=unknown
  651. fi
  652. fi
  653. fi
  654. fi
  655. ${ECHO_CMD} "Compiler: ${CC}"
  656. if [ -z "${TURN_ACCEPT_RPATH}" ] ; then
  657. ${CC} ${TMPCPROGC} ${OSCFLAGS} -o ${TMPCPROGB} -Wl,-rpath,/usr/lib 2>>/dev/null
  658. ER=$?
  659. if [ ${ER} -eq 0 ] ; then
  660. TURN_ACCEPT_RPATH=1
  661. fi
  662. fi
  663. ${CC} ${TMPCPROGC} ${OSCFLAGS} -o ${TMPCPROGB} 2>>/dev/null
  664. ER=$?
  665. if ! [ ${ER} -eq 0 ] ; then
  666. ${ECHO_CMD} "ERROR: cannot use compiler ${CC} properly"
  667. cleanup
  668. exit
  669. fi
  670. ###########################
  671. # Check if we can use GNU
  672. # or Clang compiler flags
  673. ###########################
  674. GNUOSCFLAGS="-g ${GNUOSCFLAGS}"
  675. GNUOSCFLAGS="${GNUOSCFLAGS} -Wall -Wno-deprecated-declarations -Wextra -Wformat-security -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wcast-qual"
  676. GNUOSCFLAGS="${GNUOSCFLAGS}"
  677. ${CC} -Werror ${GNUOSCFLAGS} ${TMPCPROGC} ${OSCFLAGS} -o ${TMPCPROGB} 2>>/dev/null
  678. ER=$?
  679. if ! [ ${ER} -eq 0 ] ; then
  680. ${ECHO_CMD} "Hm..."
  681. ${CC} -Wall ${TMPCPROGC} ${OSCFLAGS} -o ${TMPCPROGB} 2>>/dev/null
  682. ER=$?
  683. if ! [ ${ER} -eq 0 ] ; then
  684. ${ECHO_CMD} "Not an ordinary GNU or Clang compiler"
  685. else
  686. ${ECHO_CMD} "g++ or something..."
  687. GNUOSCFLAGS="-g -Wall -Wno-deprecated-declarations -Wextra -Wformat-security -Wpointer-arith -Wcast-qual"
  688. ${CC} -Werror ${GNUOSCFLAGS} ${TMPCPROGC} ${OSCFLAGS} -o ${TMPCPROGB} 2>>/dev/null
  689. ER=$?
  690. if ! [ ${ER} -eq 0 ] ; then
  691. ${ECHO_CMD} "Not an ordinary g++ compiler"
  692. GNUOSCFLAGS="-x c++ -g -Wall -Wno-deprecated-declarations -Wextra -Wformat-security -Wpointer-arith -Wcast-qual"
  693. ${CC} -Werror ${GNUOSCFLAGS} ${TMPCPROGC} ${OSCFLAGS} -o ${TMPCPROGB} 2>>/dev/null
  694. ER=$?
  695. if ! [ ${ER} -eq 0 ] ; then
  696. ${ECHO_CMD} "Not an ordinary c++ compiler"
  697. else
  698. ${ECHO_CMD} "Clang++ compiler ?"
  699. OSCFLAGS="${GNUOSCFLAGS} ${OSCFLAGS}"
  700. fi
  701. else
  702. OSCFLAGS="${GNUOSCFLAGS} ${OSCFLAGS}"
  703. fi
  704. fi
  705. else
  706. OSCFLAGS="${GNUOSCFLAGS} ${OSCFLAGS}"
  707. fi
  708. ###########################
  709. # Test some general-purpose
  710. # libraries
  711. ###########################
  712. testlib socket
  713. testlib rt
  714. testlib wldap32
  715. ER=$?
  716. if ! [ ${ER} -eq 0 ] ; then
  717. echo "CYGWIN ?"
  718. fi
  719. testlib wldap64
  720. testlib intl
  721. ###########################
  722. # Test sockets compilation
  723. ###########################
  724. test_sin_len
  725. ###########################
  726. # Can we use multi-threading ?
  727. ###########################
  728. pthread_testlib
  729. ER=$?
  730. if [ ${ER} -eq 0 ] ; then
  731. ${ECHO_CMD} "ERROR: Cannot find pthread library functions."
  732. exit
  733. fi
  734. if [ -z ${TURN_NO_THREAD_BARRIERS} ] ; then
  735. pthread_testbarriers
  736. else
  737. TURN_NO_THREAD_BARRIERS="-DTURN_NO_THREAD_BARRIERS"
  738. fi
  739. if [ -z ${TURN_IP_RECVERR} ] ; then
  740. ${ECHO_CMD} "Ignore IP_RECVERR"
  741. else
  742. ${ECHO_CMD} "Use IP_RECVERR"
  743. TURN_IP_RECVERR="-DTURN_IP_RECVERR"
  744. OSCFLAGS="${OSCFLAGS} ${TURN_IP_RECVERR}"
  745. fi
  746. ###########################
  747. # Can we use daemon ?
  748. ###########################
  749. testdaemon
  750. ###########################
  751. # Test OpenSSL installation
  752. ###########################
  753. testlib crypto
  754. ER=$?
  755. if ! [ ${ER} -eq 0 ] ; then
  756. ${ECHO_CMD} "Crypto SSL lib found."
  757. else
  758. ${ECHO_CMD} "ERROR: OpenSSL Crypto development libraries are not installed properly in required location."
  759. ${ECHO_CMD} "Abort."
  760. cleanup
  761. exit
  762. fi
  763. testlib ssl
  764. ER=$?
  765. if ! [ ${ER} -eq 0 ] ; then
  766. ${ECHO_CMD} "SSL lib found."
  767. else
  768. ${ECHO_CMD} "ERROR: OpenSSL development libraries are not installed properly in required location."
  769. ${ECHO_CMD} "Abort."
  770. cleanup
  771. exit
  772. fi
  773. ###########################
  774. # Can we use DTLS ?
  775. ###########################
  776. if [ -z ${TURN_NO_DTLS} ] ; then
  777. dtls_testlib
  778. ER=$?
  779. if [ ${ER} -eq 0 ] ; then
  780. ${ECHO_CMD} "WARNING: Cannot find DTLS support."
  781. ${ECHO_CMD} "Turning DTLS off."
  782. TURN_NO_DTLS="-DTURN_NO_DTLS"
  783. fi
  784. else
  785. TURN_NO_DTLS="-DTURN_NO_DTLS"
  786. fi
  787. ###########################
  788. # Can we use GCM cipher ?
  789. ###########################
  790. if [ -z ${TURN_NO_GCM} ] ; then
  791. gcm_testlib
  792. ER=$?
  793. if [ ${ER} -eq 0 ] ; then
  794. ${ECHO_CMD} "WARNING: Cannot find GCM support."
  795. ${ECHO_CMD} "Turning GCM off."
  796. TURN_NO_GCM="-DTURN_NO_GCM"
  797. fi
  798. else
  799. TURN_NO_GCM="-DTURN_NO_GCM"
  800. fi
  801. ###########################
  802. # Test Libevent2 setup
  803. ###########################
  804. testlibevent2_comp
  805. ER=$?
  806. if ! [ ${ER} -eq 0 ] ; then
  807. ${ECHO_CMD} "Libevent2 development found."
  808. else
  809. ${ECHO_CMD} "ERROR: Libevent2 development libraries are not installed properly in required location."
  810. ${ECHO_CMD} "ERROR: may be you have just too old libevent tool - then you have to upgrade it."
  811. ${ECHO_CMD} "See the INSTALL file."
  812. ${ECHO_CMD} "Abort."
  813. cleanup
  814. exit
  815. fi
  816. testlib event_core
  817. ER=$?
  818. if ! [ ${ER} -eq 0 ] ; then
  819. ${ECHO_CMD} "Libevent2 runtime found."
  820. testlib event_extra
  821. ER=$?
  822. if ! [ ${ER} -eq 0 ] ; then
  823. ${ECHO_CMD} "Libevent2 runtime 'extra' found."
  824. else
  825. ${ECHO_CMD} "ERROR: Libevent2 'extra' runtime library is not installed properly in required location."
  826. ${ECHO_CMD} "See the INSTALL file."
  827. ${ECHO_CMD} "Abort."
  828. cleanup
  829. exit
  830. fi
  831. else
  832. testlib event
  833. ER=$?
  834. if ! [ ${ER} -eq 0 ] ; then
  835. ${ECHO_CMD} "Libevent2 runtime found (old style)."
  836. else
  837. ${ECHO_CMD} "ERROR: Libevent2 runtime libraries are not installed properly in required location."
  838. ${ECHO_CMD} "See the INSTALL file."
  839. ${ECHO_CMD} "Abort."
  840. cleanup
  841. exit
  842. fi
  843. fi
  844. if [ -z "${TURN_NO_TLS}" ] ; then
  845. testlib event_openssl
  846. ER=$?
  847. if ! [ ${ER} -eq 0 ] ; then
  848. ${ECHO_CMD} "Libevent2 openssl found."
  849. else
  850. ${ECHO_CMD} "ERROR: Libevent2 development libraries are not compiled with OpenSSL support."
  851. ${ECHO_CMD} "TLS will be disabled."
  852. TURN_NO_TLS="-DTURN_NO_TLS"
  853. fi
  854. else
  855. TURN_NO_TLS="-DTURN_NO_TLS"
  856. fi
  857. testlib event_pthreads
  858. ER=$?
  859. if ! [ ${ER} -eq 0 ] ; then
  860. ${ECHO_CMD} "Libevent2 pthreads found."
  861. else
  862. ${ECHO_CMD} "ERROR: Libevent2 development libraries are not compiled with threads support."
  863. exit
  864. fi
  865. ###########################
  866. # Test PostgreSQL
  867. ###########################
  868. if [ -z "${TURN_NO_PQ}" ] ; then
  869. testlibpq
  870. ER=$?
  871. if ! [ ${ER} -eq 0 ] ; then
  872. ${ECHO_CMD} "PostgreSQL found."
  873. else
  874. TURN_NO_PQ="-DTURN_NO_PQ"
  875. fi
  876. else
  877. TURN_NO_PQ="-DTURN_NO_PQ"
  878. fi
  879. ###########################
  880. # Test MySQL
  881. ###########################
  882. if [ -z "${TURN_NO_MYSQL}" ] ; then
  883. testlibmysql
  884. ER=$?
  885. if ! [ ${ER} -eq 0 ] ; then
  886. ${ECHO_CMD} "MySQL found."
  887. else
  888. TURN_NO_MYSQL="-DTURN_NO_MYSQL"
  889. fi
  890. else
  891. TURN_NO_MYSQL="-DTURN_NO_MYSQL"
  892. fi
  893. ###########################
  894. # Test MongoDB
  895. ###########################
  896. if [ -z "${TURN_NO_MONGO}" ] ; then
  897. testlibmongoc
  898. ER=$?
  899. if ! [ ${ER} -eq 0 ] ; then
  900. ${ECHO_CMD} "MongoDB found."
  901. else
  902. TURN_NO_MONGO="-DTURN_NO_MONGO"
  903. fi
  904. else
  905. TURN_NO_MONGO="-DTURN_NO_MONGO"
  906. fi
  907. ###########################
  908. # Test Redis
  909. ###########################
  910. if [ -z "${TURN_NO_HIREDIS}" ] ; then
  911. testhiredis
  912. ER=$?
  913. if ! [ ${ER} -eq 0 ] ; then
  914. ${ECHO_CMD} "Hiredis found."
  915. else
  916. TURN_NO_HIREDIS="-DTURN_NO_HIREDIS"
  917. fi
  918. else
  919. TURN_NO_HIREDIS="-DTURN_NO_HIREDIS"
  920. fi
  921. ###############################
  922. # LDCONFIG
  923. ###############################
  924. if [ -z "${LDCONFIG}" ] ; then
  925. ISBSD=`uname | grep -i bsd`
  926. if [ -z "${ISBSD}" ] ; then
  927. ISLINUX=`uname | grep -i linux`
  928. if [ -z "${ISLINUX}" ] ; then
  929. SYSTEM=`uname`
  930. if [ "${SYSTEM}" = "SunOS" ] ; then
  931. LDCONFIG="crle -u -l"
  932. else
  933. LDCONFIG=${ECHO_CMD}
  934. fi
  935. else
  936. LDCONFIG="ldconfig -n"
  937. fi
  938. else
  939. LDCONFIG="ldconfig -m"
  940. fi
  941. fi
  942. ###############################
  943. # So, what we have now:
  944. ###############################
  945. OSCFLAGS="${OSCFLAGS} ${TURN_NO_THREAD_BARRIERS} ${TURN_NO_DTLS} ${TURN_NO_GCM} ${TURN_NO_TLS} -DINSTALL_PREFIX=${PREFIX}"
  946. if ! [ -z "${TURN_ACCEPT_RPATH}" ] ; then
  947. if [ -z "${TURN_DISABLE_RPATH}" ] ; then
  948. TURN_RPATH="${TURN_RPATH} -Wl,-rpath,/usr/local/lib"
  949. OSLIBS="${OSLIBS} ${TURN_RPATH}"
  950. fi
  951. fi
  952. ${ECHO_CMD} PREFIX="${PREFIX}" OSLIBS="${OSLIBS}" DBLIBS="${DBLIBS}" OSCFLAGS="${OSCFLAGS}" DBCFLAGS="${DBCFLAGS}" $@
  953. ###############################
  954. # Make make:
  955. ###############################
  956. ${ECHO_CMD} "#################################" > Makefile
  957. ${ECHO_CMD} "# Generated by configure script #" >> Makefile
  958. ${ECHO_CMD} "#################################" >> Makefile
  959. ${ECHO_CMD} "ECHO_CMD = ${ECHO_CMD}" >> Makefile
  960. ${ECHO_CMD} "CC = ${CC}" >> Makefile
  961. ${ECHO_CMD} "LDFLAGS += ${OSLIBS}" >> Makefile
  962. ${ECHO_CMD} "DBLIBS += ${DBLIBS}" >> Makefile
  963. ${ECHO_CMD} "CFLAGS += ${OSCFLAGS}" >> Makefile
  964. ${ECHO_CMD} "CPPFLAGS = ${CPPFLAGS}" >> Makefile
  965. ${ECHO_CMD} "DBCFLAGS += ${DBCFLAGS} ${TURN_NO_PQ} ${TURN_NO_MYSQL} ${TURN_NO_MONGO} ${TURN_NO_HIREDIS}" >> Makefile
  966. ${ECHO_CMD} "#" >> Makefile
  967. ${ECHO_CMD} "PORTNAME = ${PORTNAME}" >> Makefile
  968. ${ECHO_CMD} "PREFIX = ${PREFIX}" >> Makefile
  969. ${ECHO_CMD} "prefix = ${PREFIX}" >> Makefile
  970. ${ECHO_CMD} "BINDIR = ${BINDIR}" >> Makefile
  971. ${ECHO_CMD} "bindir = ${BINDIR}" >> Makefile
  972. ${ECHO_CMD} "CONFDIR = ${CONFDIR}" >> Makefile
  973. ${ECHO_CMD} "confdir = ${CONFDIR}" >> Makefile
  974. ${ECHO_CMD} "MANPREFIX = ${MANPREFIX}" >> Makefile
  975. ${ECHO_CMD} "manprefix = ${MANPREFIX}" >> Makefile
  976. ${ECHO_CMD} "EXAMPLESDIR = ${EXAMPLESDIR}" >> Makefile
  977. ${ECHO_CMD} "examplesdir = ${EXAMPLESDIR}" >> Makefile
  978. ${ECHO_CMD} "DOCSDIR = ${DOCSDIR}" >> Makefile
  979. ${ECHO_CMD} "docsdir = ${DOCSDIR}" >> Makefile
  980. ${ECHO_CMD} "LIBDIR = ${LIBDIR}" >> Makefile
  981. ${ECHO_CMD} "libdir = ${LIBDIR}" >> Makefile
  982. ${ECHO_CMD} "SCHEMADIR = ${SCHEMADIR}" >> Makefile
  983. ${ECHO_CMD} "schemadir = ${SCHEMADIR}" >> Makefile
  984. ${ECHO_CMD} "INCLUDEDIR = ${INCLUDEDIR}" >> Makefile
  985. ${ECHO_CMD} "includedir = ${INCLUDEDIR}" >> Makefile
  986. ${ECHO_CMD} "TURNINCLUDEDIR = ${TURNINCLUDEDIR}" >> Makefile
  987. ${ECHO_CMD} "turnincludedir = ${TURNINCLUDEDIR}" >> Makefile
  988. ${ECHO_CMD} "#" >> Makefile
  989. ${ECHO_CMD} "ARCHIVERCMD = ${ARCHIVERCMD}" >> Makefile
  990. ${ECHO_CMD} "MKDIR = ${MKDIR}" >> Makefile
  991. ${ECHO_CMD} "INSTALL_PROGRAM = ${INSTALL_PROGRAM}" >> Makefile
  992. ${ECHO_CMD} "PKILL_PROGRAM = ${PKILL_PROGRAM}" >> Makefile
  993. ${ECHO_CMD} "INSTALL_MAN = ${INSTALL_MAN}" >> Makefile
  994. ${ECHO_CMD} "INSTALL_SCRIPT = ${INSTALL_SCRIPT}" >> Makefile
  995. ${ECHO_CMD} "INSTALL_SHARED_LIB = ${INSTALL_SHARED_LIB}" >> Makefile
  996. ${ECHO_CMD} "INSTALL_STATIC_LIB = ${INSTALL_STATIC_LIB}" >> Makefile
  997. ${ECHO_CMD} "INSTALL_DATA = ${INSTALL_DATA}" >> Makefile
  998. ${ECHO_CMD} "INSTALL_DIR = ${INSTALL_DIR}" >> Makefile
  999. ${ECHO_CMD} "MKBUILDDIR = ${MKBUILDDIR}" >> Makefile
  1000. ${ECHO_CMD} "RMCMD = ${RMCMD}" >> Makefile
  1001. ${ECHO_CMD} "MORECMD = ${MORECMD}" >> Makefile
  1002. ${ECHO_CMD} "LDCONFIG=${LDCONFIG}" >> Makefile
  1003. ${ECHO_CMD} "################################" >> Makefile
  1004. ${ECHO_CMD} "" >> Makefile
  1005. cat Makefile.in >> Makefile
  1006. ###############################
  1007. # End:
  1008. ###############################
  1009. cleanup