.travis.yml 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709
  1. ##############################################################################
  2. # Travis version specific build environment specification
  3. ##############################################################################
  4. # The "precise" build environment on Travis is in the process of being decommissioned
  5. # see https://blog.travis-ci.com/2017-08-31-trusty-as-default-status
  6. # The "precise=true"+"sudo=required" environment seems to lack IPv6 support.
  7. # According to some tests, all "sudo=required" environments do not support IPv6, see
  8. # https://github.com/travis-ci/travis-ci/issues/8361#issuecomment-328263113
  9. # The container environments for "sudo=false" support IPv6 localhost [::1]
  10. # connections for server/client test. Thus, all tests with ENABLE_IPV6=YES
  11. #
  12. ##############################################################################
  13. # Project specific settings
  14. ##############################################################################
  15. language: c
  16. cache:
  17. directories:
  18. - $HOME/third-party
  19. osx_image: xcode8
  20. addons:
  21. apt:
  22. packages:
  23. - cmake
  24. - openssl
  25. - libssl-dev
  26. # - gcc-5
  27. - clang-3.8
  28. sources:
  29. - kubuntu-backports
  30. - llvm-toolchain-precise-3.8
  31. before_install:
  32. - if [ "${TRAVIS_OS_NAME}" == "linux" ]; then
  33. mkdir $HOME/usr;
  34. export PATH="$HOME/usr/bin:$PATH";
  35. wget https://cmake.org/files/v3.7/cmake-3.7.2-Linux-x86_64.sh --no-check-certificate;
  36. chmod +x cmake-3.7.2-Linux-x86_64.sh;
  37. ./cmake-3.7.2-Linux-x86_64.sh --prefix=$HOME/usr --exclude-subdir --skip-license;
  38. fi
  39. - cmake --version
  40. install:
  41. - if [ "${BUILD_TYPE}" == "Coverage" -a "${TRAVIS_OS_NAME}" == "linux" ]; then
  42. PATH=~/.local/bin:${PATH};
  43. pip install --user --upgrade pip;
  44. pip install --user cpp-coveralls;
  45. fi
  46. before_script:
  47. # Check some settings of the build server (operating system, IPv6 availability, directory)
  48. - uname -a
  49. - ifconfig
  50. - pwd
  51. - ls -la
  52. - if [ "${TRAVIS_OS_NAME}" == "linux" ]; then
  53. apt-cache search gcc | grep "GNU C compiler";
  54. apt-cache search clang | grep compiler;
  55. fi
  56. - if [[ "${BUILD_TYPE}" == "OSX_OPENSSL_1_1" ]]; then brew install openssl@1.1 ;fi
  57. # Generate the build scripts with CMake
  58. - mkdir output
  59. - gcc test/cgi_test.c -o output/cgi_test.cgi
  60. - cd output
  61. - cmake --version
  62. - cmake
  63. -G "Unix Makefiles"
  64. -DCMAKE_BUILD_TYPE=${BUILD_TYPE}
  65. -DBUILD_SHARED_LIBS=${BUILD_SHARED}
  66. "-DCIVETWEB_THIRD_PARTY_DIR=${HOME}/third-party"
  67. -DCIVETWEB_ENABLE_THIRD_PARTY_OUTPUT=YES
  68. -DCIVETWEB_ENABLE_SSL=${ENABLE_SSL}
  69. -DCIVETWEB_DISABLE_CGI=${NO_CGI}
  70. -DCIVETWEB_SERVE_NO_FILES=${NO_FILES}
  71. -DCIVETWEB_ENABLE_SSL_DYNAMIC_LOADING=${ENABLE_SSL_DYNAMIC_LOADING}
  72. -DCIVETWEB_SSL_OPENSSL_API_1_1=${OPENSSL_1_1}
  73. -DCIVETWEB_ENABLE_WEBSOCKETS=${ENABLE_WEBSOCKETS}
  74. -DCIVETWEB_ENABLE_CXX=${ENABLE_CXX}
  75. -DCIVETWEB_ENABLE_IPV6=${ENABLE_IPV6}
  76. -DCIVETWEB_ENABLE_SERVER_STATS=${ENABLE_SERVER_STATS}
  77. -DCIVETWEB_ENABLE_LUA=${ENABLE_LUA}
  78. -DCIVETWEB_ENABLE_LUA_SHARED=${ENABLE_LUA_SHARED}
  79. -DCIVETWEB_ENABLE_DUKTAPE=${ENABLE_DUKTAPE}
  80. -DCIVETWEB_DISABLE_CACHING=${NO_CACHING}
  81. -DCIVETWEB_C_STANDARD=${C_STANDARD}
  82. -DCIVETWEB_CXX_STANDARD=${CXX_STANDARD}
  83. -DCIVETWEB_ALLOW_WARNINGS=${ALLOW_WARNINGS}
  84. ${ADDITIONAL_CMAKE_ARGS}
  85. ..
  86. - ls -la
  87. script:
  88. - if [ "${MACOSX_PACKAGE}" == "1" ]; then
  89. cd "${TRAVIS_BUILD_DIR}";
  90. make -f Makefile.osx package;
  91. else
  92. CTEST_OUTPUT_ON_FAILURE=1 make all test;
  93. fi
  94. # Coveralls options: https://github.com/eddyxu/cpp-coveralls/blob/master/README.md
  95. after_success:
  96. - if [ "${BUILD_TYPE}" == "Coverage" -a "${TRAVIS_OS_NAME}" == "linux" ]; then
  97. coveralls --include src --exclude src/main.c --exclude src/third_party --include include --gcov-options '\-lp' --root .. --build-root .;
  98. bash <(curl -s https://codecov.io/bash);
  99. fi
  100. ##############################################################################
  101. # build matrix (auto generated)
  102. ##############################################################################
  103. matrix:
  104. fast_finish: false
  105. include:
  106. - dist: trusty
  107. sudo: false
  108. os: linux
  109. compiler: clang
  110. addons:
  111. apt:
  112. sources:
  113. - ubuntu-toolchain-r-test
  114. - llvm-toolchain-precise-3.8
  115. packages:
  116. - clang-3.8
  117. env:
  118. idx=1
  119. N=Clang3.8-Linux-Minimal-Debug
  120. MATRIX_EVAL="CC=clang-3.8 && CXX=clang++-3.8"
  121. BUILD_TYPE=Debug
  122. ENABLE_SSL_DYNAMIC_LOADING=YES
  123. OPENSSL_1_1=NO
  124. ENABLE_CXX=NO
  125. ENABLE_LUA_SHARED=NO
  126. C_STANDARD=auto
  127. CXX_STANDARD=auto
  128. FEATURES=0
  129. BUILD_SHARED=NO
  130. NO_FILES=YES
  131. ENABLE_SSL=NO
  132. NO_CGI=YES
  133. ENABLE_IPV6=NO
  134. ENABLE_WEBSOCKETS=NO
  135. ENABLE_SERVER_STATS=NO
  136. ENABLE_LUA=NO
  137. ENABLE_DUKTAPE=NO
  138. NO_CACHING=NO
  139. ALLOW_WARNINGS=YES
  140. - dist: trusty
  141. sudo: false
  142. os: linux
  143. compiler: clang
  144. addons:
  145. apt:
  146. sources:
  147. - ubuntu-toolchain-r-test
  148. - llvm-toolchain-precise-3.8
  149. packages:
  150. - clang-3.8
  151. env:
  152. idx=2
  153. N=Clang3.8-Linux-Default-Release
  154. MATRIX_EVAL="CC=clang-3.8 && CXX=clang++-3.8"
  155. BUILD_TYPE=Release
  156. ENABLE_SSL_DYNAMIC_LOADING=YES
  157. OPENSSL_1_1=NO
  158. ENABLE_CXX=NO
  159. ENABLE_LUA_SHARED=NO
  160. C_STANDARD=auto
  161. CXX_STANDARD=auto
  162. FEATURES=7
  163. BUILD_SHARED=NO
  164. NO_FILES=NO
  165. ENABLE_SSL=YES
  166. NO_CGI=NO
  167. ENABLE_IPV6=NO
  168. ENABLE_WEBSOCKETS=NO
  169. ENABLE_SERVER_STATS=NO
  170. ENABLE_LUA=NO
  171. ENABLE_DUKTAPE=NO
  172. NO_CACHING=NO
  173. NO_CACHING=NO
  174. ALLOW_WARNINGS=YES
  175. - dist: trusty
  176. sudo: false
  177. os: linux
  178. compiler: clang
  179. addons:
  180. apt:
  181. sources:
  182. - ubuntu-toolchain-r-test
  183. - llvm-toolchain-precise-3.8
  184. packages:
  185. - clang-3.8
  186. env:
  187. idx=3
  188. N=Clang3.8-Linux-Default-Release
  189. MATRIX_EVAL="CC=clang-3.8 && CXX=clang++-3.8"
  190. BUILD_TYPE=Release
  191. ENABLE_SSL_DYNAMIC_LOADING=YES
  192. OPENSSL_1_1=NO
  193. ENABLE_CXX=NO
  194. ENABLE_LUA_SHARED=NO
  195. C_STANDARD=auto
  196. CXX_STANDARD=auto
  197. FEATURES=7
  198. BUILD_SHARED=NO
  199. NO_FILES=NO
  200. ENABLE_SSL=YES
  201. NO_CGI=NO
  202. ENABLE_IPV6=NO
  203. ENABLE_WEBSOCKETS=NO
  204. ENABLE_SERVER_STATS=NO
  205. ENABLE_LUA=NO
  206. ENABLE_DUKTAPE=NO
  207. NO_CACHING=NO
  208. ALLOW_WARNINGS=YES
  209. - dist: trusty
  210. sudo: false
  211. os: linux
  212. compiler: clang
  213. addons:
  214. apt:
  215. sources:
  216. - ubuntu-toolchain-r-test
  217. - llvm-toolchain-precise-3.8
  218. packages:
  219. - clang-3.8
  220. env:
  221. idx=4
  222. N=Clang3.8-Linux-Complete-NoLua-Release
  223. MATRIX_EVAL="CC=clang-3.8 && CXX=clang++-3.8"
  224. BUILD_TYPE=Release
  225. ENABLE_SSL_DYNAMIC_LOADING=YES
  226. OPENSSL_1_1=NO
  227. ENABLE_CXX=NO
  228. ENABLE_LUA_SHARED=NO
  229. C_STANDARD=auto
  230. CXX_STANDARD=auto
  231. FEATURES=31
  232. BUILD_SHARED=NO
  233. NO_FILES=NO
  234. ENABLE_SSL=YES
  235. NO_CGI=NO
  236. ENABLE_IPV6=YES
  237. ENABLE_WEBSOCKETS=YES
  238. ENABLE_SERVER_STATS=YES
  239. ENABLE_LUA=NO
  240. ENABLE_DUKTAPE=NO
  241. NO_CACHING=YES
  242. ALLOW_WARNINGS=YES
  243. - dist: trusty
  244. sudo: false
  245. os: linux
  246. compiler: gcc
  247. addons:
  248. apt:
  249. sources:
  250. - ubuntu-toolchain-r-test
  251. packages:
  252. - g++-5
  253. env:
  254. idx=5
  255. N=GCC5-Linux-Complete-NoLua-Release
  256. MATRIX_EVAL="CC=gcc-5 && CXX=g++-5"
  257. BUILD_TYPE=Release
  258. ENABLE_SSL_DYNAMIC_LOADING=YES
  259. OPENSSL_1_1=NO
  260. ENABLE_CXX=NO
  261. ENABLE_LUA_SHARED=NO
  262. C_STANDARD=auto
  263. CXX_STANDARD=auto
  264. FEATURES=31
  265. BUILD_SHARED=NO
  266. NO_FILES=NO
  267. ENABLE_SSL=YES
  268. NO_CGI=NO
  269. ENABLE_IPV6=YES
  270. ENABLE_WEBSOCKETS=YES
  271. ENABLE_SERVER_STATS=YES
  272. ENABLE_LUA=NO
  273. ENABLE_DUKTAPE=NO
  274. NO_CACHING=YES
  275. ALLOW_WARNINGS=YES
  276. -
  277. - dist: trusty
  278. sudo: false
  279. os: linux
  280. compiler: clang
  281. addons:
  282. apt:
  283. sources:
  284. - ubuntu-toolchain-r-test
  285. - llvm-toolchain-precise-3.8
  286. packages:
  287. - clang-3.8
  288. env:
  289. idx=6
  290. N=Clang-Linux-Coverage
  291. BUILD_TYPE=Coverage
  292. ENABLE_SSL_DYNAMIC_LOADING=YES
  293. OPENSSL_1_1=NO
  294. ENABLE_CXX=NO
  295. ENABLE_LUA_SHARED=NO
  296. C_STANDARD=auto
  297. CXX_STANDARD=auto
  298. FEATURES=31
  299. BUILD_SHARED=NO
  300. NO_FILES=NO
  301. ENABLE_SSL=YES
  302. NO_CGI=NO
  303. ENABLE_IPV6=YES
  304. ENABLE_WEBSOCKETS=YES
  305. ENABLE_SERVER_STATS=YES
  306. ENABLE_LUA=NO
  307. ENABLE_DUKTAPE=NO
  308. NO_CACHING=NO
  309. ALLOW_WARNINGS=YES
  310. -
  311. os: osx
  312. compiler: clang
  313. env:
  314. idx=7
  315. N=Clang-OSX-Complete-NoLua-Release
  316. BUILD_TYPE=Release
  317. ENABLE_SSL_DYNAMIC_LOADING=YES
  318. OPENSSL_1_1=NO
  319. ENABLE_CXX=NO
  320. ENABLE_LUA_SHARED=NO
  321. C_STANDARD=auto
  322. CXX_STANDARD=auto
  323. FEATURES=31
  324. BUILD_SHARED=NO
  325. NO_FILES=NO
  326. ENABLE_SSL=YES
  327. NO_CGI=NO
  328. ENABLE_IPV6=YES
  329. ENABLE_WEBSOCKETS=YES
  330. ENABLE_SERVER_STATS=YES
  331. ENABLE_LUA=NO
  332. ENABLE_DUKTAPE=NO
  333. NO_CACHING=YES
  334. ALLOW_WARNINGS=YES
  335. -
  336. os: osx
  337. compiler: clang
  338. env:
  339. idx=8
  340. N=Clang-OSX-Complete-NoLua-Release-OpenSSL_1_1_NoDynLoad
  341. BUILD_TYPE=OSX_OPENSSL_1_1
  342. ENABLE_SSL_DYNAMIC_LOADING=NO
  343. OPENSSL_1_1=YES
  344. ENABLE_CXX=NO
  345. ENABLE_LUA_SHARED=NO
  346. C_STANDARD=auto
  347. CXX_STANDARD=auto
  348. FEATURES=31
  349. BUILD_SHARED=NO
  350. NO_FILES=NO
  351. ENABLE_SSL=YES
  352. NO_CGI=NO
  353. ENABLE_IPV6=YES
  354. ENABLE_WEBSOCKETS=YES
  355. ENABLE_SERVER_STATS=YES
  356. ENABLE_LUA=NO
  357. ENABLE_DUKTAPE=NO
  358. NO_CACHING=YES
  359. ALLOW_WARNINGS=YES
  360. OPENSSL_ROOT_DIR="/usr/local/opt/openssl@1.1"
  361. LDFLAGS="-L${OPENSSL_ROOT_DIR}/lib"
  362. CFLAGS="-I${OPENSSL_ROOT_DIR}/include"
  363. ADDITIONAL_CMAKE_ARGS="-DCMAKE_SHARED_LINKER_FLAGS=${LDFLAGS} -DCMAKE_C_FLAGS=${CFLAGS}"
  364. PATH="${OPENSSL_ROOT_DIR}/bin:$PATH"
  365. DYLD_LIBRARY_PATH="${OPENSSL_ROOT_DIR}/lib:${DYLD_LIBRARY_PATH}"
  366. - dist: trusty
  367. sudo: false
  368. os: linux
  369. compiler: clang
  370. addons:
  371. apt:
  372. sources:
  373. - ubuntu-toolchain-r-test
  374. - llvm-toolchain-trusty-5.0
  375. packages:
  376. - clang-5.0
  377. env:
  378. idx=9
  379. N=Clang50-Linux-Default-Shared
  380. BUILD_TYPE=Debug
  381. ENABLE_SSL_DYNAMIC_LOADING=YES
  382. OPENSSL_1_1=NO
  383. ENABLE_CXX=NO
  384. ENABLE_LUA_SHARED=NO
  385. C_STANDARD=auto
  386. CXX_STANDARD=auto
  387. FEATURES=7
  388. BUILD_SHARED=YES
  389. NO_FILES=NO
  390. ENABLE_SSL=YES
  391. NO_CGI=NO
  392. ENABLE_IPV6=NO
  393. ENABLE_WEBSOCKETS=NO
  394. ENABLE_SERVER_STATS=NO
  395. ENABLE_LUA=NO
  396. ENABLE_DUKTAPE=NO
  397. NO_CACHING=NO
  398. ALLOW_WARNINGS=YES
  399. MATRIX_EVAL="CC=clang-3.8 && CXX=clang++-3.8"
  400. -
  401. os: linux
  402. dist: precise
  403. sudo: required
  404. compiler: clang
  405. env:
  406. idx=10
  407. N=Precise-Clang-Linux-Default
  408. BUILD_TYPE=Debug
  409. ENABLE_SSL_DYNAMIC_LOADING=YES
  410. OPENSSL_1_1=NO
  411. ENABLE_CXX=NO
  412. ENABLE_LUA_SHARED=NO
  413. C_STANDARD=auto
  414. CXX_STANDARD=auto
  415. FEATURES=7
  416. BUILD_SHARED=NO
  417. NO_FILES=NO
  418. ENABLE_SSL=YES
  419. NO_CGI=NO
  420. ENABLE_IPV6=NO
  421. ENABLE_WEBSOCKETS=NO
  422. ENABLE_SERVER_STATS=NO
  423. ENABLE_LUA=NO
  424. ENABLE_DUKTAPE=NO
  425. NO_CACHING=NO
  426. ALLOW_WARNINGS=YES
  427. -
  428. os: osx
  429. compiler: clang
  430. env:
  431. idx=11
  432. N=OSX-Package
  433. BUILD_TYPE=Release
  434. ENABLE_SSL_DYNAMIC_LOADING=YES
  435. OPENSSL_1_1=NO
  436. ENABLE_CXX=NO
  437. ENABLE_LUA_SHARED=NO
  438. C_STANDARD=auto
  439. CXX_STANDARD=auto
  440. FEATURES=31
  441. BUILD_SHARED=NO
  442. NO_FILES=NO
  443. ENABLE_SSL=YES
  444. NO_CGI=NO
  445. ENABLE_IPV6=YES
  446. ENABLE_WEBSOCKETS=YES
  447. ENABLE_SERVER_STATS=NO
  448. ENABLE_LUA=NO
  449. ENABLE_DUKTAPE=NO
  450. NO_CACHING=NO
  451. ALLOW_WARNINGS=YES
  452. MACOSX_PACKAGE=1
  453. - dist: trusty
  454. sudo: false
  455. os: linux
  456. compiler: clang
  457. addons:
  458. apt:
  459. sources:
  460. - ubuntu-toolchain-r-test
  461. - llvm-toolchain-trusty-3.8
  462. packages:
  463. - clang-3.8
  464. env:
  465. idx=12
  466. N=Clang-Linux-32bit-Complete-NoLua-Release
  467. ARCH=x86
  468. BUILD_TYPE=Release
  469. ENABLE_SSL_DYNAMIC_LOADING=YES
  470. OPENSSL_1_1=NO
  471. ENABLE_CXX=NO
  472. ENABLE_LUA_SHARED=NO
  473. C_STANDARD=auto
  474. CXX_STANDARD=auto
  475. FEATURES=31
  476. BUILD_SHARED=NO
  477. NO_FILES=NO
  478. ENABLE_SSL=YES
  479. NO_CGI=NO
  480. ENABLE_IPV6=YES
  481. ENABLE_WEBSOCKETS=YES
  482. ENABLE_SERVER_STATS=YES
  483. ENABLE_LUA=NO
  484. ENABLE_DUKTAPE=NO
  485. NO_CACHING=YES
  486. ALLOW_WARNINGS=YES
  487. MATRIX_EVAL="CC=clang-3.8 && CXX=clang++-3.8"
  488. ### Test all build types:
  489. # According to CMakeLists, options are:
  490. # None Debug Release RelWithDebInfo MinSizeRel Coverage
  491. -
  492. os: linux
  493. compiler: clang
  494. env:
  495. idx=13
  496. N=NoSslDynamicLoading
  497. BUILD_TYPE=Release
  498. ENABLE_SSL_DYNAMIC_LOADING=NO
  499. OPENSSL_1_1=NO
  500. ENABLE_CXX=NO
  501. C_STANDARD=auto
  502. CXX_STANDARD=auto
  503. ENABLE_LUA_SHARED=NO
  504. FEATURES=31
  505. BUILD_SHARED=NO
  506. NO_FILES=NO
  507. ENABLE_SSL=YES
  508. NO_CGI=NO
  509. ENABLE_IPV6=YES
  510. ENABLE_WEBSOCKETS=YES
  511. ENABLE_LUA=NO
  512. ENABLE_DUKTAPE=NO
  513. NO_CACHING=NO
  514. ALLOW_WARNINGS=YES
  515. MATRIX_EVAL="CC=clang-3.8 && CXX=clang++-3.8"
  516. -
  517. os: linux
  518. compiler: gcc
  519. env:
  520. idx=14
  521. N=GCCLinuxDefault_Debug
  522. BUILD_TYPE=Debug
  523. ENABLE_SSL_DYNAMIC_LOADING=YES
  524. OPENSSL_1_1=NO
  525. ENABLE_CXX=NO
  526. ENABLE_LUA_SHARED=NO
  527. C_STANDARD=auto
  528. CXX_STANDARD=auto
  529. FEATURES=7
  530. BUILD_SHARED=NO
  531. NO_FILES=NO
  532. ENABLE_SSL=YES
  533. NO_CGI=NO
  534. ENABLE_IPV6=NO
  535. ENABLE_WEBSOCKETS=NO
  536. ENABLE_LUA=NO
  537. ENABLE_DUKTAPE=NO
  538. NO_CACHING=NO
  539. ALLOW_WARNINGS=YES
  540. -
  541. os: linux
  542. compiler: gcc
  543. env:
  544. idx=15
  545. N=GCCLinuxDefault_RelWithDebInfo
  546. BUILD_TYPE=RelWithDebInfo
  547. ENABLE_SSL_DYNAMIC_LOADING=YES
  548. OPENSSL_1_1=NO
  549. ENABLE_CXX=NO
  550. ENABLE_LUA_SHARED=NO
  551. C_STANDARD=auto
  552. CXX_STANDARD=auto
  553. FEATURES=7
  554. BUILD_SHARED=NO
  555. NO_FILES=NO
  556. ENABLE_SSL=YES
  557. NO_CGI=NO
  558. ENABLE_IPV6=NO
  559. ENABLE_WEBSOCKETS=NO
  560. ENABLE_LUA=NO
  561. ENABLE_DUKTAPE=NO
  562. NO_CACHING=NO
  563. ALLOW_WARNINGS=YES
  564. -
  565. os: linux
  566. compiler: gcc
  567. env:
  568. idx=16
  569. N=GCCLinuxDefault_MinSizeRel
  570. BUILD_TYPE=MinSizeRel
  571. ENABLE_SSL_DYNAMIC_LOADING=YES
  572. OPENSSL_1_1=NO
  573. ENABLE_CXX=NO
  574. ENABLE_LUA_SHARED=NO
  575. C_STANDARD=auto
  576. CXX_STANDARD=auto
  577. FEATURES=7
  578. BUILD_SHARED=NO
  579. NO_FILES=NO
  580. ENABLE_SSL=YES
  581. NO_CGI=NO
  582. ENABLE_IPV6=NO
  583. ENABLE_WEBSOCKETS=NO
  584. ENABLE_LUA=NO
  585. ENABLE_DUKTAPE=NO
  586. NO_CACHING=NO
  587. ALLOW_WARNINGS=YES
  588. -
  589. os: linux
  590. compiler: gcc
  591. env:
  592. idx=17
  593. N=GCCLinuxDefault_None
  594. BUILD_TYPE=None
  595. ENABLE_SSL_DYNAMIC_LOADING=YES
  596. OPENSSL_1_1=NO
  597. ENABLE_CXX=NO
  598. ENABLE_LUA_SHARED=NO
  599. C_STANDARD=auto
  600. CXX_STANDARD=auto
  601. FEATURES=7
  602. BUILD_SHARED=NO
  603. NO_FILES=NO
  604. ENABLE_SSL=YES
  605. NO_CGI=NO
  606. ENABLE_IPV6=NO
  607. ENABLE_WEBSOCKETS=NO
  608. ENABLE_LUA=NO
  609. ENABLE_DUKTAPE=NO
  610. NO_CACHING=NO
  611. ALLOW_WARNINGS=YES
  612. #### Now all define combinations, but only for Linux clang
  613. ##### Generated with Lua:
  614. #
  615. # function YN(i,b)
  616. # local bits = {}
  617. # while (i > 0.5) do
  618. # i = math.floor(i)
  619. # bits[#bits+1] = (math.mod(i, 2) == 1)
  620. # i = i/2
  621. # end
  622. # if (bits[b]) then
  623. # return "YES"
  624. # end
  625. # return "NO"
  626. # end
  627. # function INV(t)
  628. # if t=="YES" then
  629. # return "NO"
  630. # elseif t=="NO" then
  631. # return "YES"
  632. # else
  633. # assert("ERROR in INV!")
  634. # end
  635. # end
  636. # for i=0,511 do
  637. # if (YN(i, 6)=="NO") and (YN(i, 7)=="NO") then
  638. # print(" -")
  639. # print(" os: linux")
  640. # print(" compiler: clang")
  641. # print(" env:")
  642. # print(" N=C" .. tostring(i) .. "_")
  643. # print(" BUILD_TYPE=Release")
  644. # print(" ENABLE_SSL_DYNAMIC_LOADING=YES")
  645. # print(" OPENSSL_1_1=NO")
  646. # print(" ENABLE_CXX=NO")
  647. # print(" C_STANDARD=auto")
  648. # print(" CXX_STANDARD=auto")
  649. # print(" ENABLE_LUA_SHARED=NO")
  650. # print(" FEATURES=" .. tostring(i))
  651. # print(" BUILD_SHARED=NO")
  652. # print(" NO_FILES=" .. INV(YN(i, 1)))
  653. # print(" ENABLE_SSL=" .. YN(i, 2))
  654. # print(" NO_CGI=" .. INV(YN(i, 3)))
  655. # print(" ENABLE_IPV6=" .. YN(i, 4))
  656. # print(" ENABLE_WEBSOCKETS=" .. YN(i, 5))
  657. # print(" ENABLE_LUA=" .. YN(i, 6))
  658. # print(" ENABLE_DUKTAPE=" .. YN(i, 7))
  659. # print(" NO_CACHING=" .. INV(YN(i, 8)))
  660. # print(" ENABLE_SERVER_STATS=" .. YN(i, 9))
  661. # print("")
  662. # end
  663. # end
  664. #
  665. # TODO: Regenerate this matrix, once a stable Travis build is re-established