configure 28 KB

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