/projects/appweb-solaris.sh

https://github.com/ni-webtech/appweb-4 · Shell · 204 lines · 127 code · 74 blank · 3 comment · 3 complexity · 5d9e283b150d071d027fb3d99e94f119 MD5 · raw file

  1. #
  2. # appweb-solaris.sh -- Build It Shell Script to build Embedthis Appweb
  3. #
  4. ARCH="x86"
  5. ARCH="$(shell uname -m | sed 's/i.86/x86/;s/x86_64/x64/')"
  6. OS="solaris"
  7. PROFILE="debug"
  8. CONFIG="${OS}-${ARCH}-${PROFILE}"
  9. CC="gcc"
  10. LD="/usr/bin/ld"
  11. CFLAGS="-Wall -fPIC -g -mtune=generic"
  12. DFLAGS="-D_REENTRANT -DPIC -DBIT_DEBUG"
  13. IFLAGS="-I${CONFIG}/inc"
  14. LDFLAGS="-g"
  15. LIBPATHS="-L${CONFIG}/bin"
  16. LIBS="-llxnet -lrt -lsocket -lpthread -lm -ldl"
  17. [ ! -x ${CONFIG}/inc ] && mkdir -p ${CONFIG}/inc ${CONFIG}/obj ${CONFIG}/lib ${CONFIG}/bin
  18. [ ! -f ${CONFIG}/inc/bit.h ] && cp projects/appweb-${OS}-bit.h ${CONFIG}/inc/bit.h
  19. if ! diff ${CONFIG}/inc/bit.h projects/appweb-${OS}-bit.h >/dev/null ; then
  20. cp projects/appweb-${OS}-bit.h ${CONFIG}/inc/bit.h
  21. fi
  22. rm -rf ${CONFIG}/inc/mpr.h
  23. cp -r src/deps/mpr/mpr.h ${CONFIG}/inc/mpr.h
  24. ${CC} -c -o ${CONFIG}/obj/mprLib.o -Wall -fPIC ${LDFLAGS} -mtune=generic ${DFLAGS} -I${CONFIG}/inc src/deps/mpr/mprLib.c
  25. ${CC} -shared -o ${CONFIG}/bin/libmpr.so ${LDFLAGS} ${LIBPATHS} ${CONFIG}/obj/mprLib.o ${LIBS}
  26. ${CC} -c -o ${CONFIG}/obj/mprSsl.o -Wall -fPIC ${LDFLAGS} -mtune=generic ${DFLAGS} -I${CONFIG}/inc src/deps/mpr/mprSsl.c
  27. ${CC} -shared -o ${CONFIG}/bin/libmprssl.so ${LDFLAGS} ${LIBPATHS} ${CONFIG}/obj/mprSsl.o ${LIBS} -lmpr
  28. ${CC} -c -o ${CONFIG}/obj/manager.o -Wall -fPIC ${LDFLAGS} -mtune=generic ${DFLAGS} -I${CONFIG}/inc src/deps/mpr/manager.c
  29. ${CC} -o ${CONFIG}/bin/appman ${LDFLAGS} ${LIBPATHS} ${CONFIG}/obj/manager.o ${LIBS} -lmpr ${LDFLAGS}
  30. ${CC} -c -o ${CONFIG}/obj/makerom.o -Wall -fPIC ${LDFLAGS} -mtune=generic ${DFLAGS} -I${CONFIG}/inc src/deps/mpr/makerom.c
  31. ${CC} -o ${CONFIG}/bin/makerom ${LDFLAGS} ${LIBPATHS} ${CONFIG}/obj/makerom.o ${LIBS} -lmpr ${LDFLAGS}
  32. rm -rf ${CONFIG}/inc/pcre.h
  33. cp -r src/deps/pcre/pcre.h ${CONFIG}/inc/pcre.h
  34. ${CC} -c -o ${CONFIG}/obj/pcre.o -Wall -fPIC ${LDFLAGS} -mtune=generic ${DFLAGS} -I${CONFIG}/inc src/deps/pcre/pcre.c
  35. ${CC} -shared -o ${CONFIG}/bin/libpcre.so ${LDFLAGS} ${LIBPATHS} ${CONFIG}/obj/pcre.o ${LIBS}
  36. rm -rf ${CONFIG}/inc/http.h
  37. cp -r src/deps/http/http.h ${CONFIG}/inc/http.h
  38. ${CC} -c -o ${CONFIG}/obj/httpLib.o -Wall -fPIC ${LDFLAGS} -mtune=generic ${DFLAGS} -I${CONFIG}/inc src/deps/http/httpLib.c
  39. ${CC} -shared -o ${CONFIG}/bin/libhttp.so ${LDFLAGS} ${LIBPATHS} ${CONFIG}/obj/httpLib.o ${LIBS} -lmpr -lpcre
  40. ${CC} -c -o ${CONFIG}/obj/http.o -Wall -fPIC ${LDFLAGS} -mtune=generic ${DFLAGS} -I${CONFIG}/inc src/deps/http/http.c
  41. ${CC} -o ${CONFIG}/bin/http ${LDFLAGS} ${LIBPATHS} ${CONFIG}/obj/http.o ${LIBS} -lhttp -lmpr -lpcre ${LDFLAGS}
  42. rm -rf ${CONFIG}/inc/sqlite3.h
  43. cp -r src/deps/sqlite/sqlite3.h ${CONFIG}/inc/sqlite3.h
  44. ${CC} -c -o ${CONFIG}/obj/sqlite3.o -fPIC ${LDFLAGS} -mtune=generic -w ${DFLAGS} -I${CONFIG}/inc src/deps/sqlite/sqlite3.c
  45. ${CC} -shared -o ${CONFIG}/bin/libsqlite3.so ${LDFLAGS} ${LIBPATHS} ${CONFIG}/obj/sqlite3.o ${LIBS}
  46. ${CC} -c -o ${CONFIG}/obj/sqlite.o -Wall -fPIC ${LDFLAGS} -mtune=generic ${DFLAGS} -I${CONFIG}/inc src/deps/sqlite/sqlite.c
  47. ${CC} -o ${CONFIG}/bin/sqlite ${LDFLAGS} ${LIBPATHS} ${CONFIG}/obj/sqlite.o ${LIBS} -lsqlite3 ${LDFLAGS}
  48. rm -rf ${CONFIG}/inc/appweb.h
  49. cp -r src/appweb.h ${CONFIG}/inc/appweb.h
  50. rm -rf ${CONFIG}/inc/customize.h
  51. cp -r src/customize.h ${CONFIG}/inc/customize.h
  52. ${CC} -c -o ${CONFIG}/obj/config.o -Wall -fPIC ${LDFLAGS} -mtune=generic ${DFLAGS} -I${CONFIG}/inc src/config.c
  53. ${CC} -c -o ${CONFIG}/obj/convenience.o -Wall -fPIC ${LDFLAGS} -mtune=generic ${DFLAGS} -I${CONFIG}/inc src/convenience.c
  54. ${CC} -c -o ${CONFIG}/obj/dirHandler.o -Wall -fPIC ${LDFLAGS} -mtune=generic ${DFLAGS} -I${CONFIG}/inc src/dirHandler.c
  55. ${CC} -c -o ${CONFIG}/obj/fileHandler.o -Wall -fPIC ${LDFLAGS} -mtune=generic ${DFLAGS} -I${CONFIG}/inc src/fileHandler.c
  56. ${CC} -c -o ${CONFIG}/obj/log.o -Wall -fPIC ${LDFLAGS} -mtune=generic ${DFLAGS} -I${CONFIG}/inc src/log.c
  57. ${CC} -c -o ${CONFIG}/obj/server.o -Wall -fPIC ${LDFLAGS} -mtune=generic ${DFLAGS} -I${CONFIG}/inc src/server.c
  58. ${CC} -shared -o ${CONFIG}/bin/libappweb.so ${LDFLAGS} ${LIBPATHS} ${CONFIG}/obj/config.o ${CONFIG}/obj/convenience.o ${CONFIG}/obj/dirHandler.o ${CONFIG}/obj/fileHandler.o ${CONFIG}/obj/log.o ${CONFIG}/obj/server.o ${LIBS} -lhttp -lmpr -lpcre
  59. rm -rf ${CONFIG}/inc/edi.h
  60. cp -r src/esp/edi.h ${CONFIG}/inc/edi.h
  61. rm -rf ${CONFIG}/inc/esp-app.h
  62. cp -r src/esp/esp-app.h ${CONFIG}/inc/esp-app.h
  63. rm -rf ${CONFIG}/inc/esp.h
  64. cp -r src/esp/esp.h ${CONFIG}/inc/esp.h
  65. rm -rf ${CONFIG}/inc/mdb.h
  66. cp -r src/esp/mdb.h ${CONFIG}/inc/mdb.h
  67. ${CC} -c -o ${CONFIG}/obj/edi.o -Wall -fPIC ${LDFLAGS} -mtune=generic ${DFLAGS} -I${CONFIG}/inc src/esp/edi.c
  68. ${CC} -c -o ${CONFIG}/obj/espAbbrev.o -Wall -fPIC ${LDFLAGS} -mtune=generic ${DFLAGS} -I${CONFIG}/inc src/esp/espAbbrev.c
  69. ${CC} -c -o ${CONFIG}/obj/espFramework.o -Wall -fPIC ${LDFLAGS} -mtune=generic ${DFLAGS} -I${CONFIG}/inc src/esp/espFramework.c
  70. ${CC} -c -o ${CONFIG}/obj/espHandler.o -Wall -fPIC ${LDFLAGS} -mtune=generic ${DFLAGS} -I${CONFIG}/inc src/esp/espHandler.c
  71. ${CC} -c -o ${CONFIG}/obj/espHtml.o -Wall -fPIC ${LDFLAGS} -mtune=generic ${DFLAGS} -I${CONFIG}/inc src/esp/espHtml.c
  72. ${CC} -c -o ${CONFIG}/obj/espSession.o -Wall -fPIC ${LDFLAGS} -mtune=generic ${DFLAGS} -I${CONFIG}/inc src/esp/espSession.c
  73. ${CC} -c -o ${CONFIG}/obj/espTemplate.o -Wall -fPIC ${LDFLAGS} -mtune=generic ${DFLAGS} -I${CONFIG}/inc src/esp/espTemplate.c
  74. ${CC} -c -o ${CONFIG}/obj/mdb.o -Wall -fPIC ${LDFLAGS} -mtune=generic ${DFLAGS} -I${CONFIG}/inc src/esp/mdb.c
  75. ${CC} -c -o ${CONFIG}/obj/sdb.o -Wall -fPIC ${LDFLAGS} -mtune=generic ${DFLAGS} -I${CONFIG}/inc src/esp/sdb.c
  76. ${CC} -shared -o ${CONFIG}/bin/mod_esp.so ${LDFLAGS} ${LIBPATHS} ${CONFIG}/obj/edi.o ${CONFIG}/obj/espAbbrev.o ${CONFIG}/obj/espFramework.o ${CONFIG}/obj/espHandler.o ${CONFIG}/obj/espHtml.o ${CONFIG}/obj/espSession.o ${CONFIG}/obj/espTemplate.o ${CONFIG}/obj/mdb.o ${CONFIG}/obj/sdb.o ${LIBS} -lappweb -lhttp -lmpr -lpcre
  77. ${CC} -c -o ${CONFIG}/obj/esp.o -Wall -fPIC ${LDFLAGS} -mtune=generic ${DFLAGS} -I${CONFIG}/inc src/esp/esp.c
  78. ${CC} -o ${CONFIG}/bin/esp ${LDFLAGS} ${LIBPATHS} ${CONFIG}/obj/edi.o ${CONFIG}/obj/esp.o ${CONFIG}/obj/espAbbrev.o ${CONFIG}/obj/espFramework.o ${CONFIG}/obj/espHandler.o ${CONFIG}/obj/espHtml.o ${CONFIG}/obj/espSession.o ${CONFIG}/obj/espTemplate.o ${CONFIG}/obj/mdb.o ${CONFIG}/obj/sdb.o ${LIBS} -lappweb -lhttp -lmpr -lpcre ${LDFLAGS}
  79. rm -rf ${CONFIG}/bin/esp.conf
  80. cp -r src/esp/esp.conf ${CONFIG}/bin/esp.conf
  81. rm -rf ${CONFIG}/bin/esp-www
  82. cp -r src/esp/www ${CONFIG}/bin/esp-www
  83. rm -rf ${CONFIG}/bin/esp-appweb.conf
  84. cp -r src/esp/esp-appweb.conf ${CONFIG}/bin/esp-appweb.conf
  85. ${CC} -c -o ${CONFIG}/obj/cgiHandler.o -Wall -fPIC ${LDFLAGS} -mtune=generic ${DFLAGS} -I${CONFIG}/inc src/modules/cgiHandler.c
  86. ${CC} -shared -o ${CONFIG}/bin/mod_cgi.so ${LDFLAGS} ${LIBPATHS} ${CONFIG}/obj/cgiHandler.o ${LIBS} -lappweb -lhttp -lmpr -lpcre
  87. ${CC} -c -o ${CONFIG}/obj/authpass.o -Wall -fPIC ${LDFLAGS} -mtune=generic ${DFLAGS} -I${CONFIG}/inc src/utils/authpass.c
  88. ${CC} -o ${CONFIG}/bin/authpass ${LDFLAGS} ${LIBPATHS} ${CONFIG}/obj/authpass.o ${LIBS} -lappweb -lhttp -lmpr -lpcre ${LDFLAGS}
  89. ${CC} -c -o ${CONFIG}/obj/cgiProgram.o -Wall -fPIC ${LDFLAGS} -mtune=generic ${DFLAGS} -I${CONFIG}/inc src/utils/cgiProgram.c
  90. ${CC} -o ${CONFIG}/bin/cgiProgram ${LDFLAGS} ${LIBPATHS} ${CONFIG}/obj/cgiProgram.o ${LIBS} ${LDFLAGS}
  91. ${CC} -c -o ${CONFIG}/obj/setConfig.o -Wall -fPIC ${LDFLAGS} -mtune=generic ${DFLAGS} -I${CONFIG}/inc src/utils/setConfig.c
  92. ${CC} -o ${CONFIG}/bin/setConfig ${LDFLAGS} ${LIBPATHS} ${CONFIG}/obj/setConfig.o ${LIBS} -lmpr ${LDFLAGS}
  93. rm -rf ${CONFIG}/inc/appwebMonitor.h
  94. cp -r src/server/appwebMonitor.h ${CONFIG}/inc/appwebMonitor.h
  95. ${CC} -c -o ${CONFIG}/obj/appweb.o -Wall -fPIC ${LDFLAGS} -mtune=generic ${DFLAGS} -I${CONFIG}/inc src/server/appweb.c
  96. ${CC} -o ${CONFIG}/bin/appweb ${LDFLAGS} ${LIBPATHS} ${CONFIG}/obj/appweb.o ${LIBS} -lappweb -lhttp -lmpr -lpcre ${LDFLAGS}
  97. rm -rf ${CONFIG}/inc/testAppweb.h
  98. cp -r test/testAppweb.h ${CONFIG}/inc/testAppweb.h
  99. ${CC} -c -o ${CONFIG}/obj/testAppweb.o -Wall -fPIC ${LDFLAGS} -mtune=generic ${DFLAGS} -I${CONFIG}/inc test/testAppweb.c
  100. ${CC} -c -o ${CONFIG}/obj/testHttp.o -Wall -fPIC ${LDFLAGS} -mtune=generic ${DFLAGS} -I${CONFIG}/inc test/testHttp.c
  101. ${CC} -o ${CONFIG}/bin/testAppweb ${LDFLAGS} ${LIBPATHS} ${CONFIG}/obj/testAppweb.o ${CONFIG}/obj/testHttp.o ${LIBS} -lappweb -lhttp -lmpr -lpcre ${LDFLAGS}
  102. cd test >/dev/null ;\
  103. echo '#!../${CONFIG}/bin/cgiProgram' >cgi-bin/testScript ; chmod +x cgi-bin/testScript ;\
  104. cd - >/dev/null
  105. cd test >/dev/null ;\
  106. echo "#!`type -p sh`" >web/caching/cache.cgi ;\
  107. echo '' >>web/caching/cache.cgi ;\
  108. echo 'echo HTTP/1.0 200 OK' >>web/caching/cache.cgi ;\
  109. echo 'echo Content-Type: text/plain' >>web/caching/cache.cgi ;\
  110. echo 'date' >>web/caching/cache.cgi ;\
  111. chmod +x web/caching/cache.cgi ;\
  112. cd - >/dev/null
  113. cd test >/dev/null ;\
  114. echo "#!`type -p sh`" >web/auth/basic/basic.cgi ;\
  115. echo '' >>web/auth/basic/basic.cgi ;\
  116. echo 'echo Content-Type: text/plain' >>web/auth/basic/basic.cgi ;\
  117. echo 'echo' >>web/auth/basic/basic.cgi ;\
  118. echo '/usr/bin/env' >>web/auth/basic/basic.cgi ;\
  119. chmod +x web/auth/basic/basic.cgi ;\
  120. cd - >/dev/null
  121. cd test >/dev/null ;\
  122. cp ../${CONFIG}/bin/cgiProgram cgi-bin/cgiProgram ;\
  123. cp ../${CONFIG}/bin/cgiProgram cgi-bin/nph-cgiProgram ;\
  124. cp ../${CONFIG}/bin/cgiProgram 'cgi-bin/cgi Program' ;\
  125. cp ../${CONFIG}/bin/cgiProgram web/cgiProgram.cgi ;\
  126. chmod +x cgi-bin/* web/cgiProgram.cgi ;\
  127. cd - >/dev/null
  128. cd test >/dev/null ;\
  129. cp -r ../src/esp/www/files/static/js 'web/js' ;\
  130. cd - >/dev/null