curses 1.3.2 → 1.4.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (262) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/macos.yml +19 -0
  3. data/.github/workflows/ubuntu.yml +26 -0
  4. data/.github/workflows/windows.yml +25 -0
  5. data/History.md +27 -0
  6. data/README.md +14 -46
  7. data/Rakefile +0 -86
  8. data/curses.gemspec +3 -4
  9. data/ext/curses/curses.c +194 -38
  10. data/ext/curses/extconf.rb +81 -22
  11. data/lib/curses.rb +5 -12
  12. data/sample/addch.rb +16 -0
  13. data/sample/attr_demo.rb +32 -0
  14. data/sample/colors.rb +26 -0
  15. data/sample/mouse_move.rb +75 -0
  16. data/vendor/PDCurses/.gitignore +47 -0
  17. data/vendor/PDCurses/.travis.yml +49 -0
  18. data/vendor/PDCurses/CMakeLists.txt +68 -0
  19. data/vendor/PDCurses/HISTORY.md +2036 -0
  20. data/vendor/PDCurses/IMPLEMNT.md +327 -0
  21. data/vendor/PDCurses/Makefile +27 -0
  22. data/vendor/PDCurses/README.md +77 -0
  23. data/vendor/PDCurses/acs_defs.h +265 -0
  24. data/vendor/PDCurses/appveyor.yml +218 -0
  25. data/vendor/PDCurses/cmake/README.md +71 -0
  26. data/vendor/PDCurses/cmake/build_dependencies.cmake +178 -0
  27. data/vendor/PDCurses/cmake/build_options.cmake +25 -0
  28. data/vendor/PDCurses/cmake/dll_version.cmake +26 -0
  29. data/vendor/PDCurses/cmake/gen_config_header.cmake +43 -0
  30. data/vendor/PDCurses/cmake/get_version.cmake +17 -0
  31. data/vendor/PDCurses/cmake/make_uninstall.cmake +19 -0
  32. data/vendor/PDCurses/cmake/project_common.cmake +121 -0
  33. data/vendor/PDCurses/cmake/resource.in.cmake +52 -0
  34. data/vendor/PDCurses/cmake/sdl2_ttf/CMakeLists.txt +83 -0
  35. data/vendor/PDCurses/cmake/target_arch.cmake +36 -0
  36. data/vendor/PDCurses/cmake/version.in.cmake +73 -0
  37. data/vendor/PDCurses/cmake/watcom_open_dos16_toolchain.cmake +96 -0
  38. data/vendor/PDCurses/cmake/watcom_open_dos32_toolchain.cmake +106 -0
  39. data/vendor/PDCurses/cmake/watcom_open_os2v2_toolchain.cmake +105 -0
  40. data/vendor/PDCurses/curses.h +1846 -0
  41. data/vendor/PDCurses/curspriv.h +134 -0
  42. data/vendor/PDCurses/demos/README.md +25 -0
  43. data/vendor/PDCurses/demos/firework.c +144 -0
  44. data/vendor/PDCurses/demos/newtest.c +581 -0
  45. data/vendor/PDCurses/demos/ozdemo.c +447 -0
  46. data/vendor/PDCurses/demos/ptest.c +283 -0
  47. data/vendor/PDCurses/demos/rain.c +157 -0
  48. data/vendor/PDCurses/demos/testcurs.c +1607 -0
  49. data/vendor/PDCurses/demos/tui.c +1048 -0
  50. data/vendor/PDCurses/demos/tui.h +65 -0
  51. data/vendor/PDCurses/demos/tuidemo.c +233 -0
  52. data/vendor/PDCurses/demos/version.c +61 -0
  53. data/vendor/PDCurses/demos/worm.c +432 -0
  54. data/vendor/PDCurses/demos/xmas.c +955 -0
  55. data/vendor/PDCurses/dos/CMakeLists.txt +47 -0
  56. data/vendor/PDCurses/dos/Makefile +105 -0
  57. data/vendor/PDCurses/dos/Makefile.bcc +83 -0
  58. data/vendor/PDCurses/dos/Makefile.dmc +257 -0
  59. data/vendor/PDCurses/dos/Makefile.msc +113 -0
  60. data/vendor/PDCurses/dos/Makefile.wcc +107 -0
  61. data/vendor/PDCurses/dos/README.md +51 -0
  62. data/vendor/PDCurses/dos/bccdos.lrf +9 -0
  63. data/vendor/PDCurses/dos/mscdos.lrf +50 -0
  64. data/vendor/PDCurses/dos/pdcclip.c +132 -0
  65. data/vendor/PDCurses/dos/pdcdisp.c +135 -0
  66. data/vendor/PDCurses/dos/pdcdos.h +194 -0
  67. data/vendor/PDCurses/dos/pdcgetsc.c +98 -0
  68. data/vendor/PDCurses/dos/pdckbd.c +513 -0
  69. data/vendor/PDCurses/dos/pdcscrn.c +785 -0
  70. data/vendor/PDCurses/dos/pdcsetsc.c +101 -0
  71. data/vendor/PDCurses/dos/pdcutil.c +212 -0
  72. data/vendor/PDCurses/libobjs.mif +26 -0
  73. data/vendor/PDCurses/makedist.mif +20 -0
  74. data/vendor/PDCurses/man/Makefile +37 -0
  75. data/vendor/PDCurses/man/README.md +21 -0
  76. data/vendor/PDCurses/man/intro.md +361 -0
  77. data/vendor/PDCurses/man/manext.c +119 -0
  78. data/vendor/PDCurses/man/sdl.md +152 -0
  79. data/vendor/PDCurses/man/sdl2.md +58 -0
  80. data/vendor/PDCurses/man/x11.md +407 -0
  81. data/vendor/PDCurses/ncurses/CMakeLists.txt +66 -0
  82. data/vendor/PDCurses/ncurses/README.md +26 -0
  83. data/vendor/PDCurses/ncurses/makefile +29 -0
  84. data/vendor/PDCurses/os2/CMakeLists.txt +41 -0
  85. data/vendor/PDCurses/os2/Makefile +132 -0
  86. data/vendor/PDCurses/os2/Makefile.bcc +90 -0
  87. data/vendor/PDCurses/os2/Makefile.wcc +43 -0
  88. data/vendor/PDCurses/os2/README.md +43 -0
  89. data/vendor/PDCurses/os2/iccos2.lrf +50 -0
  90. data/vendor/PDCurses/os2/iccos2.mak +256 -0
  91. data/vendor/PDCurses/os2/pdcclip.c +188 -0
  92. data/vendor/PDCurses/os2/pdcdisp.c +93 -0
  93. data/vendor/PDCurses/os2/pdcgetsc.c +89 -0
  94. data/vendor/PDCurses/os2/pdckbd.c +521 -0
  95. data/vendor/PDCurses/os2/pdcos2.h +55 -0
  96. data/vendor/PDCurses/os2/pdcscrn.c +449 -0
  97. data/vendor/PDCurses/os2/pdcsetsc.c +112 -0
  98. data/vendor/PDCurses/os2/pdcutil.c +52 -0
  99. data/vendor/PDCurses/panel.h +56 -0
  100. data/vendor/PDCurses/pdcurses/README.md +25 -0
  101. data/vendor/PDCurses/pdcurses/addch.c +693 -0
  102. data/vendor/PDCurses/pdcurses/addchstr.c +245 -0
  103. data/vendor/PDCurses/pdcurses/addstr.c +240 -0
  104. data/vendor/PDCurses/pdcurses/attr.c +359 -0
  105. data/vendor/PDCurses/pdcurses/beep.c +68 -0
  106. data/vendor/PDCurses/pdcurses/bkgd.c +223 -0
  107. data/vendor/PDCurses/pdcurses/border.c +411 -0
  108. data/vendor/PDCurses/pdcurses/clear.c +159 -0
  109. data/vendor/PDCurses/pdcurses/color.c +298 -0
  110. data/vendor/PDCurses/pdcurses/debug.c +109 -0
  111. data/vendor/PDCurses/pdcurses/delch.c +96 -0
  112. data/vendor/PDCurses/pdcurses/deleteln.c +211 -0
  113. data/vendor/PDCurses/pdcurses/deprec.c +27 -0
  114. data/vendor/PDCurses/pdcurses/getch.c +417 -0
  115. data/vendor/PDCurses/pdcurses/getstr.c +474 -0
  116. data/vendor/PDCurses/pdcurses/getyx.c +139 -0
  117. data/vendor/PDCurses/pdcurses/inch.c +127 -0
  118. data/vendor/PDCurses/pdcurses/inchstr.c +214 -0
  119. data/vendor/PDCurses/pdcurses/initscr.c +367 -0
  120. data/vendor/PDCurses/pdcurses/inopts.c +324 -0
  121. data/vendor/PDCurses/pdcurses/insch.c +271 -0
  122. data/vendor/PDCurses/pdcurses/insstr.c +264 -0
  123. data/vendor/PDCurses/pdcurses/instr.c +246 -0
  124. data/vendor/PDCurses/pdcurses/kernel.c +259 -0
  125. data/vendor/PDCurses/pdcurses/keyname.c +157 -0
  126. data/vendor/PDCurses/pdcurses/mouse.c +438 -0
  127. data/vendor/PDCurses/pdcurses/move.c +57 -0
  128. data/vendor/PDCurses/pdcurses/outopts.c +159 -0
  129. data/vendor/PDCurses/pdcurses/overlay.c +214 -0
  130. data/vendor/PDCurses/pdcurses/pad.c +260 -0
  131. data/vendor/PDCurses/pdcurses/panel.c +633 -0
  132. data/vendor/PDCurses/pdcurses/printw.c +126 -0
  133. data/vendor/PDCurses/pdcurses/refresh.c +279 -0
  134. data/vendor/PDCurses/pdcurses/scanw.c +578 -0
  135. data/vendor/PDCurses/pdcurses/scr_dump.c +213 -0
  136. data/vendor/PDCurses/pdcurses/scroll.c +101 -0
  137. data/vendor/PDCurses/pdcurses/slk.c +591 -0
  138. data/vendor/PDCurses/pdcurses/termattr.c +182 -0
  139. data/vendor/PDCurses/pdcurses/terminfo.c +217 -0
  140. data/vendor/PDCurses/pdcurses/touch.c +163 -0
  141. data/vendor/PDCurses/pdcurses/util.c +312 -0
  142. data/vendor/PDCurses/pdcurses/window.c +569 -0
  143. data/vendor/PDCurses/sdl1/Makefile +129 -0
  144. data/vendor/PDCurses/sdl1/Makefile.mng +110 -0
  145. data/vendor/PDCurses/sdl1/README.md +31 -0
  146. data/vendor/PDCurses/sdl1/deffont.h +385 -0
  147. data/vendor/PDCurses/sdl1/deficon.h +23 -0
  148. data/vendor/PDCurses/sdl1/pdcclip.c +131 -0
  149. data/vendor/PDCurses/sdl1/pdcdisp.c +373 -0
  150. data/vendor/PDCurses/sdl1/pdcgetsc.c +30 -0
  151. data/vendor/PDCurses/sdl1/pdckbd.c +405 -0
  152. data/vendor/PDCurses/sdl1/pdcscrn.c +414 -0
  153. data/vendor/PDCurses/sdl1/pdcsdl.h +31 -0
  154. data/vendor/PDCurses/sdl1/pdcsetsc.c +64 -0
  155. data/vendor/PDCurses/sdl1/pdcutil.c +40 -0
  156. data/vendor/PDCurses/sdl1/sdltest.c +79 -0
  157. data/vendor/PDCurses/sdl2/CMakeLists.txt +76 -0
  158. data/vendor/PDCurses/sdl2/Makefile +135 -0
  159. data/vendor/PDCurses/sdl2/Makefile.vc +164 -0
  160. data/vendor/PDCurses/sdl2/README.md +34 -0
  161. data/vendor/PDCurses/sdl2/deffont.h +385 -0
  162. data/vendor/PDCurses/sdl2/deficon.h +23 -0
  163. data/vendor/PDCurses/sdl2/pdcclip.c +93 -0
  164. data/vendor/PDCurses/sdl2/pdcdisp.c +534 -0
  165. data/vendor/PDCurses/sdl2/pdcgetsc.c +30 -0
  166. data/vendor/PDCurses/sdl2/pdckbd.c +480 -0
  167. data/vendor/PDCurses/sdl2/pdcscrn.c +443 -0
  168. data/vendor/PDCurses/sdl2/pdcsdl.h +33 -0
  169. data/vendor/PDCurses/sdl2/pdcsetsc.c +67 -0
  170. data/vendor/PDCurses/sdl2/pdcutil.c +39 -0
  171. data/vendor/PDCurses/sdl2/sdltest.c +81 -0
  172. data/vendor/PDCurses/term.h +48 -0
  173. data/vendor/PDCurses/version.mif +7 -0
  174. data/vendor/PDCurses/vt/CMakeLists.txt +28 -0
  175. data/vendor/PDCurses/vt/Makefile +135 -0
  176. data/vendor/PDCurses/vt/Makefile.bcc +111 -0
  177. data/vendor/PDCurses/vt/Makefile.dmc +258 -0
  178. data/vendor/PDCurses/vt/Makefile.vc +144 -0
  179. data/vendor/PDCurses/vt/Makefile.wcc +107 -0
  180. data/vendor/PDCurses/vt/README.md +64 -0
  181. data/vendor/PDCurses/vt/pdcclip.c +20 -0
  182. data/vendor/PDCurses/vt/pdcdisp.c +284 -0
  183. data/vendor/PDCurses/vt/pdcgetsc.c +27 -0
  184. data/vendor/PDCurses/vt/pdckbd.c +394 -0
  185. data/vendor/PDCurses/vt/pdcscrn.c +434 -0
  186. data/vendor/PDCurses/vt/pdcsetsc.c +45 -0
  187. data/vendor/PDCurses/vt/pdcutil.c +43 -0
  188. data/vendor/PDCurses/vt/pdcvt.h +16 -0
  189. data/vendor/PDCurses/watcom.mif +68 -0
  190. data/vendor/PDCurses/wincon/CMakeLists.txt +27 -0
  191. data/vendor/PDCurses/wincon/Makefile.bcc +88 -0
  192. data/vendor/PDCurses/wincon/Makefile.dmc +256 -0
  193. data/vendor/PDCurses/wincon/Makefile.lcc +273 -0
  194. data/vendor/PDCurses/wincon/Makefile.mng +176 -0
  195. data/vendor/PDCurses/wincon/Makefile.vc +144 -0
  196. data/vendor/PDCurses/wincon/Makefile.wcc +51 -0
  197. data/vendor/PDCurses/wincon/README.md +85 -0
  198. data/vendor/PDCurses/wincon/pdcclip.c +174 -0
  199. data/vendor/PDCurses/wincon/pdcdisp.c +143 -0
  200. data/vendor/PDCurses/wincon/pdcgetsc.c +55 -0
  201. data/vendor/PDCurses/wincon/pdckbd.c +786 -0
  202. data/vendor/PDCurses/wincon/pdcscrn.c +717 -0
  203. data/vendor/PDCurses/wincon/pdcsetsc.c +91 -0
  204. data/vendor/PDCurses/wincon/pdcurses.ico +0 -0
  205. data/vendor/PDCurses/wincon/pdcurses.rc +28 -0
  206. data/vendor/PDCurses/wincon/pdcutil.c +41 -0
  207. data/vendor/PDCurses/wincon/pdcwin.h +31 -0
  208. data/vendor/PDCurses/wingui/CMakeLists.txt +27 -0
  209. data/vendor/PDCurses/wingui/Makefile.bcc +85 -0
  210. data/vendor/PDCurses/wingui/Makefile.dmc +259 -0
  211. data/vendor/PDCurses/wingui/Makefile.lcc +273 -0
  212. data/vendor/PDCurses/wingui/Makefile.mng +171 -0
  213. data/vendor/PDCurses/wingui/Makefile.vc +144 -0
  214. data/vendor/PDCurses/wingui/Makefile.wcc +51 -0
  215. data/vendor/PDCurses/wingui/README.md +93 -0
  216. data/vendor/PDCurses/wingui/pdcclip.c +174 -0
  217. data/vendor/PDCurses/wingui/pdcdisp.c +718 -0
  218. data/vendor/PDCurses/wingui/pdcgetsc.c +30 -0
  219. data/vendor/PDCurses/wingui/pdckbd.c +143 -0
  220. data/vendor/PDCurses/wingui/pdcscrn.c +2797 -0
  221. data/vendor/PDCurses/wingui/pdcsetsc.c +89 -0
  222. data/vendor/PDCurses/wingui/pdcurses.ico +0 -0
  223. data/vendor/PDCurses/wingui/pdcurses.rc +28 -0
  224. data/vendor/PDCurses/wingui/pdcutil.c +61 -0
  225. data/vendor/PDCurses/wingui/pdcwin.h +122 -0
  226. data/vendor/PDCurses/x11/Makefile.in +754 -0
  227. data/vendor/PDCurses/x11/PDCurses.spec +82 -0
  228. data/vendor/PDCurses/x11/README.md +62 -0
  229. data/vendor/PDCurses/x11/ScrollBox.c +319 -0
  230. data/vendor/PDCurses/x11/ScrollBox.h +51 -0
  231. data/vendor/PDCurses/x11/ScrollBoxP.h +70 -0
  232. data/vendor/PDCurses/x11/aclocal.m4 +994 -0
  233. data/vendor/PDCurses/x11/big_icon.xbm +46 -0
  234. data/vendor/PDCurses/x11/compose.h +201 -0
  235. data/vendor/PDCurses/x11/config.guess +1500 -0
  236. data/vendor/PDCurses/x11/config.h.in +100 -0
  237. data/vendor/PDCurses/x11/config.sub +1616 -0
  238. data/vendor/PDCurses/x11/configure +6700 -0
  239. data/vendor/PDCurses/x11/configure.ac +295 -0
  240. data/vendor/PDCurses/x11/debian/changelog +6 -0
  241. data/vendor/PDCurses/x11/debian/compat +1 -0
  242. data/vendor/PDCurses/x11/debian/control +11 -0
  243. data/vendor/PDCurses/x11/debian/copyright +27 -0
  244. data/vendor/PDCurses/x11/debian/rules +98 -0
  245. data/vendor/PDCurses/x11/install-sh +253 -0
  246. data/vendor/PDCurses/x11/little_icon.xbm +14 -0
  247. data/vendor/PDCurses/x11/ncurses_cfg.h +45 -0
  248. data/vendor/PDCurses/x11/pdcclip.c +173 -0
  249. data/vendor/PDCurses/x11/pdcdisp.c +85 -0
  250. data/vendor/PDCurses/x11/pdcgetsc.c +28 -0
  251. data/vendor/PDCurses/x11/pdckbd.c +104 -0
  252. data/vendor/PDCurses/x11/pdcscrn.c +258 -0
  253. data/vendor/PDCurses/x11/pdcsetsc.c +95 -0
  254. data/vendor/PDCurses/x11/pdcutil.c +52 -0
  255. data/vendor/PDCurses/x11/pdcx11.c +316 -0
  256. data/vendor/PDCurses/x11/pdcx11.h +191 -0
  257. data/vendor/PDCurses/x11/sb.c +155 -0
  258. data/vendor/PDCurses/x11/x11.c +3686 -0
  259. data/vendor/PDCurses/x11/xcurses-config.in +81 -0
  260. metadata +259 -25
  261. data/.travis.yml +0 -16
  262. data/appveyor.yml +0 -16
@@ -0,0 +1,265 @@
1
+ /* Many of the following #defines are completely unused for the
2
+ nonce. For each character, its code point in code page 437,
3
+ Unicode, and page 8859-1 are given. The first is used for
4
+ non-wide builds in Win32 console, DOS, SDL, and OS/2.
5
+ Unicode is used for all wide builds, and for the non-wide
6
+ build of WinGUI. Code page 8859-1 is used for non-wide X11.
7
+
8
+ All of these characters exist in CP437 and Unicode. Some
9
+ don't exist in 8859-1, in which case the last column is 'TBD'.
10
+ Only 32 are used in ncurses. So caution is advised. */
11
+
12
+ #ifdef USE_ISO8859_CHARSET
13
+ #define CHOOSE( A, B, C) (C)
14
+ #define TBD '!'
15
+ #else
16
+ #define CHOOSE( A, B, C) (USE_UNICODE_ACS_CHARS ? B : A)
17
+ #endif
18
+
19
+ /* Codes found from https://en.wikipedia.org/wiki/Code_page_437 */
20
+
21
+ #define SMILE CHOOSE( 0x01, 0x263a, 'O')
22
+ #define REV_SMILE CHOOSE( 0x02, 0x263b, 'O')
23
+ #define HEART CHOOSE( 0x03, 0x2665, 'H')
24
+ #define DIAMOND CHOOSE( 0x04, 0x2666, 0x01)
25
+ #define CLUB CHOOSE( 0x05, 0x2663, 'C')
26
+ #define SPADE CHOOSE( 0x06, 0x2660, 'S')
27
+ #define MEDIUM_BULLET CHOOSE( 0x07, 0x2022, 0xb7)
28
+ #define REV_BULLET CHOOSE( 0x08, 0x2508, 0xb7)
29
+ #define WHITE_BULLET CHOOSE( 0x09, 0x25cb, 7)
30
+ #define REV_WHITE_BULLET CHOOSE( 0x0a, 0x25D9, 7)
31
+ #define MALE_SYM CHOOSE( 0x0b, 0x2642, 'm')
32
+ #define FEMALE_SYM CHOOSE( 0x0c, 0x2640, 'f')
33
+ #define QTR_NOTE CHOOSE( 0x0d, 0x266a, 0xbc)
34
+ #define EIGHTH_NOTE CHOOSE( 0x0e, 0x266b, 0xbd)
35
+ #define SPLAT CHOOSE( 0x0f, 0xa4 , 0xa4)
36
+ #define RIGHT_TRIANGLE CHOOSE( 0x10, 0x25b6, '>')
37
+ #define LEFT_TRIANGLE CHOOSE( 0x11, 0x25c0, '<')
38
+ #define UP_DOWN_ARROW CHOOSE( 0x12, 0x2195, 0x19)
39
+ #define DBL_BANG CHOOSE( 0x13, 0x203c, '!')
40
+ #define PILCROW CHOOSE( 0x14, 0xb6 , 0xb6)
41
+ #define SECTION_SIGN CHOOSE( 0x15, 0xa7 , 0xa7)
42
+ #define LOW_QTR_BLOCK CHOOSE( 0x16, 0x25b2, '_')
43
+ #define UP_DOWN_ARROW_UNDERSCORED CHOOSE( 0x17, 0x21ab, 0x19)
44
+ #define UP_ARROW CHOOSE( 0x18, 0x2191, '^')
45
+ #define DOWN_ARROW CHOOSE( 0x19, 0x2193, 'v')
46
+ #define RIGHT_ARROW CHOOSE( 0x1a, 0x2192, '>')
47
+ #define LEFT_ARROW CHOOSE( 0x1b, 0x2190, '<')
48
+ #define RIGHT_ANGLE CHOOSE( 0x1c, 0x221f, 0xe)
49
+ #define LEFT_RIGHT_ARROW CHOOSE( 0x1d, 0x2194, '-')
50
+ #define UP_TRIANGLE CHOOSE( 0x1e, 0x25b2, '^')
51
+ #define DOWN_TRIANGLE CHOOSE( 0x1f, 0x25bc, 'v')
52
+
53
+ #define UPPERCASE_C_CEDILLA CHOOSE( 0x80, 0xc7 , 0xc7)
54
+ #define LOWERCASE_U_UMLAUT CHOOSE( 0x81, 0xfc , 0xfc)
55
+ #define LOWERCASE_E_ACUTE CHOOSE( 0x82, 0xe9 , 0xe9)
56
+ #define LOWERCASE_A_CIRCUMFLEX CHOOSE( 0x83, 0xe2 , 0xe2)
57
+ #define LOWERCASE_A_UMLAUT CHOOSE( 0x84, 0xe4 , 0xe4)
58
+ #define LOWERCASE_A_GRAVE CHOOSE( 0x85, 0xe0 , 0xea)
59
+ #define LOWERCASE_A_RING CHOOSE( 0x86, 0xe5 , 0xe5)
60
+ #define LOWERCASE_C_CEDILLA CHOOSE( 0x87, 0xe7 , 0xe7)
61
+ #define LOWERCASE_E_CIRCUMFLEX CHOOSE( 0x88, 0xea , 0xea)
62
+ #define LOWERCASE_E_UMLAUT CHOOSE( 0x89, 0xeb , 0xeb)
63
+ #define LOWERCASE_E_GRAVE CHOOSE( 0x8a, 0xe8 , 0xe8)
64
+ #define LOWERCASE_I_UMLAUT CHOOSE( 0x8b, 0xef , 0xef)
65
+ #define LOWERCASE_I_CIRCUMFLEX CHOOSE( 0x8c, 0xee , 0xee)
66
+ #define LOWERCASE_I_GRAVE CHOOSE( 0x8d, 0xec , 0xce)
67
+ #define UPPERCASE_A_UMLAUT CHOOSE( 0x8e, 0xc4 , 0xc4)
68
+ #define UPPERCASE_A_RING CHOOSE( 0x8f, 0xc5 , 0xc5)
69
+
70
+ #define UPPERCASE_E_ACUTE CHOOSE( 0x90, 0xc9 , 0xc9)
71
+ #define LOWERCASE_AE_LIGATURE CHOOSE( 0x91, 0xe6 , 0xe6)
72
+ #define UPPERCASE_AE_LIGATURE CHOOSE( 0x92, 0xc6 , 0xc6)
73
+ #define LOWERCASE_O_CIRCUMFLEX CHOOSE( 0x93, 0xf4 , 0xf4)
74
+ #define LOWERCASE_O_UMLAUT CHOOSE( 0x94, 0xf6 , 0xf6)
75
+ #define LOWERCASE_O_GRAVE CHOOSE( 0x95, 0xf2 , 0xf2)
76
+ #define LOWERCASE_U_CIRCUMFLEX CHOOSE( 0x96, 0xfb , 0xfb)
77
+ #define LOWERCASE_U_GRAVE CHOOSE( 0x97, 0xf9 , 0xf9)
78
+ #define LOWERCASE_Y_UMLAUT CHOOSE( 0x98, 0xff , 0xff)
79
+ #define UPPERCASE_O_UMLAUT CHOOSE( 0x99, 0xd6 , 0xd6)
80
+ #define UPPERCASE_U_UMLAUT CHOOSE( 0x9a, 0xdc , 0xdc)
81
+ #define CENT_SIGN CHOOSE( 0x9b, 0xa2 , 0xa2)
82
+ #define STERLING_SIGN CHOOSE( 0x9c, 0xa3 , 30)
83
+ #define YEN_SIGN CHOOSE( 0x9d, 0xa5 , 0xa5)
84
+ #define PESETA_SIGN CHOOSE( 0x9e, 0x20a7, TBD)
85
+ #define F_WITH_HOOK CHOOSE( 0x9f, 0x0192, TBD)
86
+
87
+ #define LOWERCASE_A_ACUTE CHOOSE( 0xa0, 0xe1 , 0xe1)
88
+ #define LOWERCASE_I_ACUTE CHOOSE( 0xa1, 0xed , 0xed)
89
+ #define LOWERCASE_O_ACUTE CHOOSE( 0xa2, 0xf3 , 0xf3)
90
+ #define LOWERCASE_U_ACUTE CHOOSE( 0xa3, 0xfa , 0xfa)
91
+ #define LOWERCASE_N_TILDE CHOOSE( 0xa4, 0xf1 , 0xf1)
92
+ #define UPPERCASE_N_TILDE CHOOSE( 0xa5, 0xd1 , 0xd1)
93
+ #define A_ORDINAL CHOOSE( 0xa6, 0xaa , 0xaa)
94
+ #define O_ORDINAL CHOOSE( 0xa7, 0xba , 0xba)
95
+ #define INVERTED_QUESTION_MARK CHOOSE( 0xa8, 0xbf , 0xbf)
96
+ #define REVERSED_NOT_SIGN CHOOSE( 0xa9, 0x2310, TBD)
97
+ #define NOT_SIGN CHOOSE( 0xaa, 0xac , 0xac)
98
+ #define VULGAR_HALF CHOOSE( 0xab, 0xbd , 0xbd)
99
+ #define VULGAR_QUARTER CHOOSE( 0xac, 0xbc , 0xbc)
100
+ #define INVERTED_EXCLAMATION_MARK CHOOSE( 0xad, 0xa1 , 0xa1)
101
+ #define LEFT_ANGLE_QUOTE_MARK CHOOSE( 0xae, 0xab , 0xab)
102
+ #define RIGHT_ANGLE_QUOTE_MARK CHOOSE( 0xaf, 0xbb , 0xbb)
103
+
104
+ #define LIGHT_SHADE CHOOSE( 0xb0, 0x2591, '#' )
105
+ #define MEDIUM_SHADE CHOOSE( 0xb1, 0x2592, 2)
106
+ #define DARK_SHADE CHOOSE( 0xb2, 0x2593, TBD)
107
+ #define BOX_VLINE CHOOSE( 0xb3, 0x2502, 25)
108
+ #define BOX_RTEE CHOOSE( 0xb4, 0x2524, 22)
109
+ #define BOX_SD_RTEE CHOOSE( 0xb5, 0x2561, 22)
110
+ #define BOX_DS_RTEE CHOOSE( 0xb6, 0x2562, 22)
111
+ #define BOX_DS_URCORNER CHOOSE( 0xb7, 0x2556, 12)
112
+ #define BOX_SD_URCORNER CHOOSE( 0xb8, 0x2555, 12)
113
+ #define BOX_D_RTEE CHOOSE( 0xb9, 0x2563, 22)
114
+ #define BOX_D_VLINE CHOOSE( 0xba, 0x2551, 25)
115
+ #define BOX_D_URCORNER CHOOSE( 0xbb, 0x2557, 12)
116
+ #define BOX_D_LRCORNER CHOOSE( 0xbc, 0x255D, 11)
117
+ #define BOX_DS_LRCORNER CHOOSE( 0xbd, 0x255c, 11)
118
+ #define BOX_SD_LRCORNER CHOOSE( 0xbe, 0x255b, 11)
119
+ #define BOX_URCORNER CHOOSE( 0xbf, 0x2510, 12)
120
+
121
+ #define BOX_LLCORNER CHOOSE( 0xc0, 0x2514, 14)
122
+ #define BOX_BTEE CHOOSE( 0xc1, 0x2534, 23)
123
+ #define BOX_TTEE CHOOSE( 0xc2, 0x252c, 24)
124
+ #define BOX_LTEE CHOOSE( 0xc3, 0x251c, 21)
125
+ #define BOX_HLINE CHOOSE( 0xc4, 0x2500, 18)
126
+ #define BOX_PLUS CHOOSE( 0xc5, 0x253c, 15)
127
+ #define BOX_SD_LTEE CHOOSE( 0xc6, 0x255e, 21)
128
+ #define BOX_DS_LTEE CHOOSE( 0xc7, 0x255f, 21)
129
+ #define BOX_D_LLCORNER CHOOSE( 0xc8, 0x255A, 14)
130
+ #define BOX_D_ULCORNER CHOOSE( 0xc9, 0x2554, 13)
131
+ #define BOX_D_BTEE CHOOSE( 0xca, 0x2569, 23)
132
+ #define BOX_D_TTEE CHOOSE( 0xcb, 0x2566, 24)
133
+ #define BOX_D_LTEE CHOOSE( 0xcc, 0x2560, 21)
134
+ #define BOX_D_HLINE CHOOSE( 0xcd, 0x2550, 18)
135
+ #define BOX_D_PLUS CHOOSE( 0xce, 0x256C, 15)
136
+ #define BOX_SD_BTEE CHOOSE( 0xcf, 0x2567, 23)
137
+
138
+ #define BOX_DS_BTEE CHOOSE( 0xd0, 0x2568, 23)
139
+ #define BOX_SD_TTEE CHOOSE( 0xd1, 0x2564, 24)
140
+ #define BOX_DS_TTEE CHOOSE( 0xd2, 0x2565, 24)
141
+ #define BOX_DS_LLCORNER CHOOSE( 0xd3, 0x2559, 14)
142
+ #define BOX_SD_LLCORNER CHOOSE( 0xd4, 0x2558, 14)
143
+ #define BOX_SD_ULCORNER CHOOSE( 0xd5, 0x2552, 13)
144
+ #define BOX_DS_ULCORNER CHOOSE( 0xd6, 0x2553, 13)
145
+ #define BOX_DS_PLUS CHOOSE( 0xd7, 0x256b, 15)
146
+ #define BOX_SD_PLUS CHOOSE( 0xd8, 0x256a, 15)
147
+ #define BOX_LRCORNER CHOOSE( 0xd9, 0x2518, 11)
148
+ #define BOX_ULCORNER CHOOSE( 0xda, 0x250c, 13)
149
+ #define FULL_BLOCK CHOOSE( 0xdb, 0x2588, 0)
150
+ #define LOWER_HALF_BLOCK CHOOSE( 0xdc, 0x2584, TBD)
151
+ #define LEFT_HALF_BLOCK CHOOSE( 0xdd, 0x258c, TBD)
152
+ #define RIGHT_HALF_BLOCK CHOOSE( 0xde, 0x2590, TBD)
153
+ #define UPPER_HALF_BLOCK CHOOSE( 0xdf, 0x2580, TBD)
154
+
155
+ #define ALPHA CHOOSE( 0xe0, 0x03b1, TBD)
156
+ #define BETA CHOOSE( 0xe1, 0x00df, TBD)
157
+ #define GAMMA CHOOSE( 0xe2, 0x0393, TBD)
158
+ #define PI CHOOSE( 0xe3, 0x03c0, 28)
159
+ #define UPPERCASE_SIGMA CHOOSE( 0xe4, 0x03a3, TBD)
160
+ #define LOWERCASE_SIGMA CHOOSE( 0xe5, 0x03c3, TBD)
161
+ #define MU CHOOSE( 0xe6, 0x00b5, 0xb5)
162
+ #define TAU CHOOSE( 0xe7, 0x03c4, TBD)
163
+ #define UPPERCASE_PHI CHOOSE( 0xe8, 0x03a6, TBD)
164
+ #define THETA CHOOSE( 0xe9, 0x0398, TBD)
165
+ #define OMEGA CHOOSE( 0xea, 0x03a9, TBD)
166
+ #define DELTA CHOOSE( 0xeb, 0x03b4, TBD)
167
+ #define INFINITY_SIGN CHOOSE( 0xec, 0x221e, TBD)
168
+ #define LOWERCASE_PHI CHOOSE( 0xed, 0x03c6, TBD)
169
+ #define EPSILON CHOOSE( 0xee, 0x03b5, TBD)
170
+ #define INTERSECTION CHOOSE( 0xef, 0x2229, TBD)
171
+
172
+ #define TRIPLE_BAR CHOOSE( 0xf0, 0x2261, TBD)
173
+ #define PLUS_OR_MINUS CHOOSE( 0xf1, 0x00b1, 8)
174
+ #define GREATER_THAN_OR_EQUAL_TO CHOOSE( 0xf2, 0x2265, 27)
175
+ #define LESSER_THAN_OR_EQUAL_TO CHOOSE( 0xf3, 0x2264, 26)
176
+ #define UPPER_HALF_INTEGRAL_SIGN CHOOSE( 0xf4, 0x2320, TBD)
177
+ #define LOWER_HALF_INTEGRAL_SIGN CHOOSE( 0xf5, 0x2321, TBD)
178
+ #define DIVISION_SIGN CHOOSE( 0xf6, 0x00f7, 0xf7)
179
+ #define APPROXIMATELY_EQUALS_SIGN CHOOSE( 0xf7, 0x2248, TBD)
180
+ #define DEGREE_SIGN CHOOSE( 0xf8, 0x00b0, 0xb0)
181
+ #define LARGE_BULLET CHOOSE( 0xf9, 0x2219, 7)
182
+ #define SMALL_BULLET CHOOSE( 0xfa, 0x00b7, 0xb7)
183
+ #define SQUARE_ROOT CHOOSE( 0xfb, 0x221a, TBD)
184
+ #define SUPERSCRIPT_N CHOOSE( 0xfc, 0x207f, TBD)
185
+ #define SUPERSCRIPT_2 CHOOSE( 0xfd, 0x00b2, 0xb2)
186
+ #define CENTERED_SQUARE CHOOSE( 0xfe, 0x25a0, TBD)
187
+ #define NON_BREAKING_SPACE CHOOSE( 0xff, 0x00a0, TBD)
188
+
189
+
190
+
191
+ /* It says at http://unicode.org/charts/PDF/U2300.pdf */
192
+ /* that '...the scan line numbers here refer to old, */
193
+ /* low-resolution technology for terminals, with only */
194
+ /* nine scan lines per fixed-size character glyph. */
195
+ /* Even-numbered scan lines are unified with box */
196
+ /* drawing graphics." */
197
+ /* The utility of these is questionable; they'd */
198
+ /* work Just Fine in wingdi (_if_ the appropriate */
199
+ /* glyphs are available), but not elsewhere. */
200
+ #define HORIZ_SCAN_LINE_1 CHOOSE( 0x2d, 0x23ba, 16)
201
+ #define HORIZ_SCAN_LINE_3 CHOOSE( 0x2d, 0x23bb, 17)
202
+ #define HORIZ_SCAN_LINE_7 CHOOSE( 0x2d, 0x23bc, 19)
203
+ #define HORIZ_SCAN_LINE_9 CHOOSE( '_', 0x23bd, 20)
204
+
205
+ /* Code page 437 lacks a 'for real' not-equals, so for that, */
206
+ /* we use the double-horizontal single-vertical box drawing : */
207
+ #define NOT_EQUALS_SIGN CHOOSE( 0xd8, 0x2260, 29)
208
+
209
+ # define A(x) ((chtype)x | A_ALTCHARSET)
210
+
211
+ chtype acs_map[128] =
212
+ {
213
+ A(0), A(1), A(2), A(3), A(4), A(5), A(6), A(7), A(8),
214
+ A(9), A(10),
215
+ CLUB, HEART, SPADE, SMILE, REV_SMILE, /* 11 12 13 14 15 */
216
+ MEDIUM_BULLET, WHITE_BULLET, PILCROW, SECTION_SIGN, /* 16 17 18 19 */
217
+ A_ORDINAL, O_ORDINAL, LOWERCASE_PHI, /* 20 21 22 */
218
+ INVERTED_EXCLAMATION_MARK, INVERTED_QUESTION_MARK, /* 23 24 */
219
+ REVERSED_NOT_SIGN, NOT_SIGN, /* 25 26 */
220
+ UPPER_HALF_INTEGRAL_SIGN, LOWER_HALF_INTEGRAL_SIGN, /* 27 28 */
221
+ SUPERSCRIPT_N, CENTERED_SQUARE, F_WITH_HOOK, /* 29 30 31 */
222
+
223
+ RIGHT_ARROW, LEFT_ARROW, UP_ARROW, DOWN_ARROW, /* 32 !"# */
224
+
225
+ PI, NOT_EQUALS_SIGN, VULGAR_HALF, VULGAR_QUARTER, /* $%&' */
226
+ '(',
227
+ LEFT_ANGLE_QUOTE_MARK, RIGHT_ANGLE_QUOTE_MARK, /* )* */
228
+ DARK_SHADE, SUPERSCRIPT_2, INFINITY_SIGN, /* +,- */
229
+ ALPHA, BETA, GAMMA, UPPERCASE_SIGMA, LOWERCASE_SIGMA, /* ./012 */
230
+ '3',
231
+ MU, TAU, UPPERCASE_PHI, THETA, OMEGA, DELTA, EPSILON, /* 456789: */
232
+
233
+ BOX_SD_LRCORNER, BOX_SD_URCORNER, BOX_SD_ULCORNER, /* ;<= */
234
+ BOX_SD_LLCORNER, BOX_SD_PLUS, /* >? */
235
+ BOX_SD_LTEE, BOX_SD_RTEE, BOX_SD_BTEE, BOX_SD_TTEE, /* @ABC */
236
+
237
+ BOX_D_LRCORNER, BOX_D_URCORNER, BOX_D_ULCORNER, /* DEF */
238
+ BOX_D_LLCORNER, BOX_D_PLUS, /* GH */
239
+ BOX_D_LTEE, BOX_D_RTEE, BOX_D_BTEE, BOX_D_TTEE, /* IJKL */
240
+
241
+ BOX_DS_LRCORNER, BOX_DS_URCORNER, BOX_DS_ULCORNER, /* MNO */
242
+ BOX_DS_LLCORNER, BOX_DS_PLUS, /* PQ */
243
+ BOX_DS_LTEE, BOX_DS_RTEE, BOX_DS_BTEE, BOX_DS_TTEE, /* RSTU */
244
+
245
+ BOX_LRCORNER, BOX_URCORNER, BOX_ULCORNER, /* VWX */
246
+ BOX_LLCORNER, BOX_PLUS, /* YZ */
247
+ BOX_LTEE, BOX_RTEE, BOX_BTEE, BOX_TTEE, /* [\]^ */
248
+
249
+ BOX_HLINE, BOX_VLINE, BOX_D_HLINE, BOX_D_VLINE, /* _`ab */
250
+
251
+ DIVISION_SIGN, APPROXIMATELY_EQUALS_SIGN, /* cd */
252
+ INTERSECTION, TRIPLE_BAR, /* ef */
253
+ SMALL_BULLET, LARGE_BULLET, SQUARE_ROOT, /* ghi */
254
+ DIAMOND, MEDIUM_SHADE, /* jk */
255
+ HORIZ_SCAN_LINE_1, HORIZ_SCAN_LINE_3, /* lm */
256
+ HORIZ_SCAN_LINE_7, HORIZ_SCAN_LINE_9, /* no */
257
+ UPPER_HALF_BLOCK, LOWER_HALF_BLOCK, /* pq */
258
+ LEFT_HALF_BLOCK, RIGHT_HALF_BLOCK, FULL_BLOCK, /* rst */
259
+ LESSER_THAN_OR_EQUAL_TO, GREATER_THAN_OR_EQUAL_TO, /* uv */
260
+ DEGREE_SIGN, PLUS_OR_MINUS, LIGHT_SHADE, SPLAT, /* wxyz */
261
+ CENT_SIGN, YEN_SIGN, PESETA_SIGN, STERLING_SIGN, /* {|}~ */
262
+ A(127)
263
+ };
264
+
265
+ # undef A
@@ -0,0 +1,218 @@
1
+ version: 4.0.2.{build}
2
+
3
+ shallow_clone: true
4
+ clone_depth: 1
5
+
6
+ configuration:
7
+ #- MinSizeRel // https://bugzilla.libsdl.org/show_bug.cgi?id=4233
8
+ - Release
9
+ - Debug
10
+
11
+ environment:
12
+ DIST_DIR: '%APPVEYOR_BUILD_FOLDER%\dist'
13
+ WATCOM: C:\Tools\watcom
14
+
15
+ matrix:
16
+
17
+ - APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
18
+ TOOLCHAIN: Watcom20
19
+ TARGET: os2
20
+ ARCHIVE: WATCOM20_%CONFIGURATION%_OS2V2_%APPVEYOR_BUILD_NUMBER%
21
+ GENERATOR: 'Watcom WMake'
22
+ CMAKE_TOOLCHAIN_ARGS: '-DCMAKE_TOOLCHAIN_FILE=..\cmake\watcom_open_os2v2_toolchain.cmake'
23
+ CMAKE_ARGS: '-DPDC_OS2_BUILD=ON -DPDC_BUILD_SHARED=OFF -DPDC_SDL2_BUILD=OFF -DPDC_SDL2_DEPS_BUILD=OFF'
24
+
25
+ - APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
26
+ TOOLCHAIN: Watcom19
27
+ TARGET: dos
28
+ ARCHIVE: WATCOM19_%CONFIGURATION%_DOS16_%APPVEYOR_BUILD_NUMBER%
29
+ GENERATOR: 'Watcom WMake'
30
+ CMAKE_TOOLCHAIN_ARGS: '-DCMAKE_TOOLCHAIN_FILE=..\cmake\watcom_open_dos16_toolchain.cmake'
31
+ CMAKE_ARGS: '-DPDC_DOS_BUILD=ON -DPDC_BUILD_SHARED=OFF -DPDC_SDL2_BUILD=OFF -DPDC_SDL2_DEPS_BUILD=OFF'
32
+
33
+ - APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
34
+ TOOLCHAIN: Watcom19
35
+ TARGET: dos
36
+ ARCHIVE: WATCOM19_%CONFIGURATION%_DOS32_%APPVEYOR_BUILD_NUMBER%
37
+ GENERATOR: 'Watcom WMake'
38
+ CMAKE_TOOLCHAIN_ARGS: '-DCMAKE_TOOLCHAIN_FILE=..\cmake\watcom_open_dos32_toolchain.cmake'
39
+ CMAKE_ARGS: '-DPDC_DOS_BUILD=ON -DPDC_BUILD_SHARED=OFF -DPDC_SDL2_BUILD=OFF -DPDC_SDL2_DEPS_BUILD=OFF'
40
+
41
+ - APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
42
+ TOOLCHAIN: Watcom20
43
+ TARGET: dos
44
+ ARCHIVE: WATCOM20_%CONFIGURATION%_DOS16_%APPVEYOR_BUILD_NUMBER%
45
+ GENERATOR: 'Watcom WMake'
46
+ CMAKE_TOOLCHAIN_ARGS: '-DCMAKE_TOOLCHAIN_FILE=..\cmake\watcom_open_dos16_toolchain.cmake'
47
+ CMAKE_ARGS: '-DPDC_DOS_BUILD=ON -DPDC_BUILD_SHARED=OFF -DPDC_SDL2_BUILD=OFF -DPDC_SDL2_DEPS_BUILD=OFF'
48
+
49
+ - APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
50
+ TOOLCHAIN: Watcom20
51
+ TARGET: dos
52
+ ARCHIVE: WATCOM20_%CONFIGURATION%_DOS32_%APPVEYOR_BUILD_NUMBER%
53
+ GENERATOR: 'Watcom WMake'
54
+ CMAKE_TOOLCHAIN_ARGS: '-DCMAKE_TOOLCHAIN_FILE=..\cmake\watcom_open_dos32_toolchain.cmake'
55
+ CMAKE_ARGS: '-DPDC_DOS_BUILD=ON -DPDC_BUILD_SHARED=OFF -DPDC_SDL2_BUILD=OFF -DPDC_SDL2_DEPS_BUILD=OFF'
56
+
57
+ - APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015'
58
+ VCVARSALL: '%ProgramFiles(x86)%\Microsoft Visual Studio 14.0\VC\vcvarsall.bat'
59
+ ARCHITECTURE: amd64_x86
60
+ ARCHIVE: VS2015_%CONFIGURATION%_WIDE_x86_%APPVEYOR_BUILD_NUMBER%
61
+ GENERATOR: 'NMake Makefiles'
62
+ CMAKE_ARGS: '-DPDC_WIDE=ON -DPDC_UTF8=OFF -DPDC_SDL2_BUILD=ON -DPDC_SDL2_DEPS_BUILD=ON'
63
+
64
+ - APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015'
65
+ VCVARSALL: '%ProgramFiles(x86)%\Microsoft Visual Studio 14.0\VC\vcvarsall.bat'
66
+ ARCHITECTURE: amd64_x86
67
+ ARCHIVE: VS2015_%CONFIGURATION%_UTF8_x86_%APPVEYOR_BUILD_NUMBER%
68
+ GENERATOR: 'NMake Makefiles'
69
+ CMAKE_ARGS: '-DPDC_WIDE=OFF -DPDC_UTF8=ON -DPDC_SDL2_BUILD=ON -DPDC_SDL2_DEPS_BUILD=ON'
70
+
71
+ - APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015'
72
+ VCVARSALL: '%ProgramFiles(x86)%\Microsoft Visual Studio 14.0\VC\vcvarsall.bat'
73
+ ARCHITECTURE: amd64
74
+ ARCHIVE: VS2015_%CONFIGURATION%_WIDE_x64_%APPVEYOR_BUILD_NUMBER%
75
+ GENERATOR: 'NMake Makefiles'
76
+ CMAKE_ARGS: '-DPDC_WIDE=ON -DPDC_UTF8=OFF -DPDC_SDL2_BUILD=ON -DPDC_SDL2_DEPS_BUILD=ON'
77
+
78
+ - APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015'
79
+ VCVARSALL: '%ProgramFiles(x86)%\Microsoft Visual Studio 14.0\VC\vcvarsall.bat'
80
+ ARCHITECTURE: amd64
81
+ ARCHIVE: VS2015_%CONFIGURATION%_UTF8_x64_%APPVEYOR_BUILD_NUMBER%
82
+ GENERATOR: 'NMake Makefiles'
83
+ CMAKE_ARGS: '-DPDC_WIDE=OFF -DPDC_UTF8=ON -DPDC_SDL2_BUILD=ON -DPDC_SDL2_DEPS_BUILD=ON'
84
+
85
+ - APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015'
86
+ VCVARSALL: '%ProgramFiles(x86)%\Microsoft Visual Studio 14.0\VC\vcvarsall.bat'
87
+ ARCHITECTURE: amd64_arm
88
+ ARCHIVE: VS2015_%CONFIGURATION%_WIDE_ARM_%APPVEYOR_BUILD_NUMBER%
89
+ GENERATOR: 'NMake Makefiles'
90
+ CMAKE_ARGS: '-DPDC_WIDE=ON -DPDC_UTF8=OFF -DPDC_SDL2_BUILD=OFF -DPDC_SDL2_DEPS_BUILD=OFF'
91
+
92
+ - APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015'
93
+ VCVARSALL: '%ProgramFiles(x86)%\Microsoft Visual Studio 14.0\VC\vcvarsall.bat'
94
+ ARCHITECTURE: amd64_arm
95
+ ARCHIVE: VS2015_%CONFIGURATION%_UTF8_ARM_%APPVEYOR_BUILD_NUMBER%
96
+ GENERATOR: 'NMake Makefiles'
97
+ CMAKE_ARGS: '-DPDC_WIDE=OFF -DPDC_UTF8=ON -DPDC_SDL2_BUILD=OFF -DPDC_SDL2_DEPS_BUILD=OFF'
98
+
99
+ - APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
100
+ VCVARSALL: '%ProgramFiles(x86)%\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsamd64_arm.bat'
101
+ ARCHITECTURE: amd64_arm
102
+ ARCHIVE: VS2017_%CONFIGURATION%_WIDE_ARM_%APPVEYOR_BUILD_NUMBER%
103
+ GENERATOR: 'NMake Makefiles'
104
+ CMAKE_ARGS: '-DPDC_WIDE=ON -DPDC_UTF8=OFF -DPDC_SDL2_BUILD=OFF -DPDC_SDL2_DEPS_BUILD=OFF'
105
+
106
+ - APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
107
+ VCVARSALL: '%ProgramFiles(x86)%\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsamd64_arm.bat'
108
+ ARCHITECTURE: amd64_arm
109
+ ARCHIVE: VS2017_%CONFIGURATION%_UTF8_ARM_%APPVEYOR_BUILD_NUMBER%
110
+ GENERATOR: 'NMake Makefiles'
111
+ CMAKE_ARGS: '-DPDC_WIDE=OFF -DPDC_UTF8=ON -DPDC_SDL2_BUILD=OFF -DPDC_SDL2_DEPS_BUILD=OFF'
112
+
113
+ - APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
114
+ VCVARSALL: '%ProgramFiles(x86)%\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsamd64_arm64.bat'
115
+ ARCHITECTURE: amd64_arm64
116
+ ARCHIVE: VS2017_%CONFIGURATION%_WIDE_ARM64_%APPVEYOR_BUILD_NUMBER%
117
+ GENERATOR: 'NMake Makefiles'
118
+ CMAKE_ARGS: '-DPDC_WIDE=ON -DPDC_UTF8=OFF -DPDC_SDL2_BUILD=OFF -DPDC_SDL2_DEPS_BUILD=OFF'
119
+
120
+ - APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
121
+ VCVARSALL: '%ProgramFiles(x86)%\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsamd64_arm64.bat'
122
+ ARCHITECTURE: amd64_arm64
123
+ ARCHIVE: VS2017_%CONFIGURATION%_UTF8_ARM64_%APPVEYOR_BUILD_NUMBER%
124
+ GENERATOR: 'NMake Makefiles'
125
+ CMAKE_ARGS: '-DPDC_WIDE=OFF -DPDC_UTF8=ON -DPDC_SDL2_BUILD=OFF -DPDC_SDL2_DEPS_BUILD=OFF'
126
+
127
+ - APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
128
+ VCVARSALL: '%ProgramFiles(x86)%\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars32.bat'
129
+ ARCHITECTURE: amd64_x86
130
+ ARCHIVE: VS2017_%CONFIGURATION%_WIDE_x86_%APPVEYOR_BUILD_NUMBER%
131
+ GENERATOR: 'NMake Makefiles'
132
+ CMAKE_ARGS: '-DPDC_WIDE=ON -DPDC_UTF8=OFF -DPDC_SDL2_BUILD=ON -DPDC_SDL2_DEPS_BUILD=ON'
133
+
134
+ - APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
135
+ VCVARSALL: '%ProgramFiles(x86)%\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars32.bat'
136
+ ARCHITECTURE: amd64_x86
137
+ ARCHIVE: VS2017_%CONFIGURATION%_UTF8_x86_%APPVEYOR_BUILD_NUMBER%
138
+ GENERATOR: 'NMake Makefiles'
139
+ CMAKE_ARGS: '-DPDC_WIDE=OFF -DPDC_UTF8=ON -DPDC_SDL2_BUILD=ON -DPDC_SDL2_DEPS_BUILD=ON'
140
+
141
+ - APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
142
+ VCVARSALL: '%ProgramFiles(x86)%\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat'
143
+ ARCHITECTURE: amd64
144
+ ARCHIVE: VS2017_%CONFIGURATION%_WIDE_x64_%APPVEYOR_BUILD_NUMBER%
145
+ GENERATOR: 'NMake Makefiles'
146
+ CMAKE_ARGS: '-DPDC_WIDE=ON -DPDC_UTF8=OFF -DPDC_SDL2_BUILD=ON -DPDC_SDL2_DEPS_BUILD=ON'
147
+
148
+ - APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
149
+ VCVARSALL: '%ProgramFiles(x86)%\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat'
150
+ ARCHITECTURE: amd64
151
+ ARCHIVE: VS2017_%CONFIGURATION%_UTF8_x64_%APPVEYOR_BUILD_NUMBER%
152
+ GENERATOR: 'NMake Makefiles'
153
+ CMAKE_ARGS: '-DPDC_WIDE=OFF -DPDC_UTF8=ON -DPDC_SDL2_BUILD=ON -DPDC_SDL2_DEPS_BUILD=ON'
154
+
155
+ init:
156
+ - echo BUILD_NUMBER=%APPVEYOR_BUILD_NUMBER%
157
+
158
+ install:
159
+
160
+ # Open Watcom
161
+ - if "%TOOLCHAIN%"=="Watcom19" ( echo Installing Open Watcom 1.9 )
162
+ - if "%TOOLCHAIN%"=="Watcom19" ( cd %APPVEYOR_BUILD_FOLDER% )
163
+ - if "%TOOLCHAIN%"=="Watcom19" ( set "OPEN_WATCOM_URL=https://sourceforge.net/projects/openwatcom/files/open-watcom-1.9/open-watcom-c-win32-1.9.exe" )
164
+ - if "%TOOLCHAIN%"=="Watcom19" ( appveyor DownloadFile "%OPEN_WATCOM_URL%" -FileName open-watcom-c-win32-1.9.exe )
165
+ # todo - check the md5 here...
166
+ - if "%TOOLCHAIN%"=="Watcom19" ( 7z x -y open-watcom-c-win32-1.9.exe -o"%WATCOM%" > nul )
167
+ - if "%TOOLCHAIN%"=="Watcom19" ( set "PATH=%WATCOM%\BINNT;%WATCOM%\BINW;%PATH%" )
168
+
169
+ - if "%TOOLCHAIN%"=="Watcom20" ( echo Installing Open Watcom 2.0 )
170
+ - if "%TOOLCHAIN%"=="Watcom20" ( cd %APPVEYOR_BUILD_FOLDER% )
171
+ - if "%TOOLCHAIN%"=="Watcom20" ( set "OPEN_WATCOM_URL=https://github.com/open-watcom/travis-ci-ow-builds/archive/master.zip" )
172
+ - if "%TOOLCHAIN%"=="Watcom20" ( appveyor DownloadFile "%OPEN_WATCOM_URL%" -FileName master.zip )
173
+ - if "%TOOLCHAIN%"=="Watcom20" ( 7z x -y master.zip -o"%WATCOM%" > nul )
174
+ # todo - check the md5 here...
175
+ - if "%TOOLCHAIN%"=="Watcom20" ( set "WATCOM=%WATCOM%\travis-ci-ow-builds-master" )
176
+ - if "%TOOLCHAIN%"=="Watcom20" ( set "PATH=%WATCOM%\BINNT64;%WATCOM%\BINNT;%PATH%" )
177
+
178
+ # DOS BAT file
179
+ - if "%TARGET%"=="dos" ( set "EDPATH=%WATCOM%\EDDAT" )
180
+ - if "%TARGET%"=="dos" ( set "INCLUDE=%WATCOM%\H;%WATCOM%\H\NT" )
181
+
182
+ # OS/2 CMD file
183
+ - if "%TARGET%"=="os2" ( set "BEGINLIBPATH=%WATCOM%\BINP\DLL" )
184
+ - if "%TARGET%"=="os2" ( set "EDPATH=%WATCOM%\EDDAT" )
185
+ - if "%TARGET%"=="os2" ( set "INCLUDE=%WATCOM%\H;%WATCOM%\H\OS2" )
186
+
187
+ - cmake --version
188
+
189
+ build:
190
+ parallel: true
191
+
192
+ build_script:
193
+
194
+ - if exist "%VCVARSALL%" ( call "%VCVARSALL%" %ARCHITECTURE% )
195
+
196
+ - if "%CONFIGURATION%"=="Debug" ( set PDCDEBUG=ON ) else ( set PDCDEBUG=OFF )
197
+ - if "%CONFIGURATION%"=="Debug" ( set PDCDEBUG=ON ) else ( set PDCDEBUG=OFF )
198
+
199
+ - cd %APPVEYOR_BUILD_FOLDER%
200
+ - mkdir build
201
+ - cd build
202
+
203
+ - cmake %CMAKE_TOOLCHAIN_ARGS% -G"%GENERATOR%" -DCMAKE_VERBOSE_MAKEFILE=TRUE
204
+ -DCMAKE_BUILD_TYPE=%CONFIGURATION%
205
+ "-DCMAKE_INSTALL_PREFIX=%DIST_DIR%\%APPVEYOR_BUILD_WORKER_IMAGE%"
206
+ -DBUILD_NUMBER=%APPVEYOR_BUILD_NUMBER% -DPDCDEBUG=%PDCDEBUG% %CMAKE_ARGS%
207
+ ..
208
+
209
+ cmake --build . --config %CONFIGURATION% --target install
210
+
211
+ after_build:
212
+ - cd %DIST_DIR%
213
+ - 7z a -tzip %ARCHIVE%.zip "%APPVEYOR_BUILD_WORKER_IMAGE%"
214
+ - certutil -hashfile %ARCHIVE%.zip MD5 > %ARCHIVE%.md5
215
+
216
+ artifacts:
217
+ - path: dist\$(ARCHIVE).zip
218
+ - path: dist\$(ARCHIVE).md5
@@ -0,0 +1,71 @@
1
+
2
+ CMake Options
3
+ -------------
4
+
5
+ option(PDC_BUILD_SHARED "Build dynamic libs for pdcurses" ON)
6
+ option(PDC_UTF8 "Force to UTF8" OFF)
7
+ option(PDC_WIDE "Wide - pulls in sdl-ttf" OFF)
8
+ option(PDCDEBUG "Debug tracing" OFF)
9
+ option(PDC_CHTYPE_32 "CHTYPE_32" OFF)
10
+ option(PDC_CHTYPE_16 "CHTYPE_16" OFF)
11
+ option(PDC_DOS_BUILD "Build DOS Project" OFF)
12
+ option(PDC_SDL2_BUILD "Build SDL2 Project" ON)
13
+ option(PDC_SDL2_DEPS_BUILD "Build SDL2 and dependencies" ON)
14
+
15
+
16
+
17
+ To override the default option value, use the "-DBUILD_SDL2=ON" scheme. If you set it once, CMake caches the value.
18
+
19
+ When using pre-built SDL2 bits, simply set these two variables when invoking cmake the first time.
20
+
21
+ -DSDL2_INCLUDE_DIR=/my/path/to/sdl2/include/SDL2
22
+ -DSDL2_LIBRARY_DIR=/my/path/to/sdl2/lib/folder
23
+
24
+
25
+ Appveyor
26
+ --------
27
+
28
+ Upon cmake branch check-ins, Appveyor will build the following variants:
29
+ wide/utf8 - Release/Debug, Visual Studio 2015 - amd64_x86/amd64/amd64_arm
30
+ wide/utf8 - Release/Debug, Visual Studio 2017 - amd64_x86/amd64/amd64_arm/amd64_arm64
31
+
32
+ ^There is currently a SDL2 bug preventing MinSizeRel builds:
33
+ https://bugzilla.libsdl.org/show_bug.cgi?id=4233
34
+
35
+
36
+ Native Windows Building
37
+ -----------------------
38
+
39
+ Win32 (pdcurses.sln)
40
+
41
+ mkdir build32 & pushd build32
42
+ cmake -G"Visual Studio 15" -DPDC_WIDE=ON -DCMAKE_INSTALL_PREFIX=c:\tmp\pdcurses\Win32 -DCMAKE_BUILD_TYPE=Debug -DPDCDEBUG=ON ..
43
+ popd
44
+ cmake --build build32 --config Debug --target install
45
+
46
+ Win64 (pdcurses.sln)
47
+
48
+ mkdir build64 & pushd build64
49
+ cmake -G"Visual Studio 15 Win64" -DPDC_WIDE=ON -DCMAKE_INSTALL_PREFIX=c:\tmp\pdcurses\Win64 -DCMAKE_BUILD_TYPE=Debug -DPDCDEBUG=ON ..
50
+ popd
51
+ cmake --build build64 --config Debug --target install
52
+
53
+
54
+ Cygwin
55
+ ------
56
+
57
+ mkdir build && pushd build
58
+ cmake .. -G"Unix Makefiles" -DPDC_SDL2_BUILD=OFF -DCMAKE_INSTALL_PREFIX=/cygdrive/c/tmp/pdcurses/Cyg64 -DCMAKE_BUILD_TYPE=Debug -DPDCDEBUG=ON -DWINDOWS_KIT_LIBRARY_DIR=/cygdrive/c/Program\ Files\ \(x86\)/Windows\ Kits/10/Lib/10.0.14393.0/um/x64 ..
59
+ popd
60
+ cmake --build build --config Debug --target install
61
+
62
+ Note: The demo apps will all build, only version.exe works. All other apps print "Redirection is not supported."
63
+
64
+
65
+ Linux Building
66
+ --------------
67
+
68
+ SDL2 (Currently the only project supported with CMake)
69
+
70
+ cmake .. -DPDC_WIDE=ON -DCMAKE_INSTALL_PREFIX=/home/joel/pdcurses/out -DCMAKE_BUILD_TYPE=Debug -GNinja
71
+ autoninja install