curses 1.3.2 → 1.4.3

Sign up to get free protection for your applications and to get access to all the features.
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,407 @@
1
+ X11 Considerations
2
+ ==================
3
+
4
+ PDCurses for X11 uses the System V IPC shared memory facility, along
5
+ with sockets, to share data between the curses program and the child
6
+ process created to manage the X stuff.
7
+
8
+ When compiling your application, you need to include the \<curses.h\> or
9
+ \<xcurses.h\> that comes with PDCurses. You also need to link your code
10
+ with libXCurses. You may need to link with the following libraries under
11
+ X11R5:
12
+
13
+ Xaw Xmu Xt X11
14
+
15
+ or, under X11R6:
16
+
17
+ Xaw Xmu Xt X11 SM ICE Xext
18
+
19
+ You can run "xcurses-config --libs" to show the link parameters for your
20
+ system. If using dynamic linking, on some systems, "-lXCurses" suffices.
21
+
22
+ By calling Xinitscr() rather than initscr(), you can pass your program
23
+ name and resource overrides to PDCurses. The program name is used as the
24
+ title of the X window, and for defining X resources specific to your
25
+ program.
26
+
27
+
28
+ Interaction with stdio
29
+ ----------------------
30
+
31
+ Be aware that curses programs that expect to have a normal tty
32
+ underneath them will be very disappointed! Output directed to stdout
33
+ will go to the xterm that invoked the PDCurses application, or to the
34
+ console if not invoked directly from an xterm. Similarly, stdin will
35
+ expect its input from the same place as stdout.
36
+
37
+
38
+ X Resources
39
+ -----------
40
+
41
+ PDCurses for X11 recognizes the following resources:
42
+
43
+ ### lines
44
+
45
+ Specifies the number of lines the "screen" will have. Directly equates
46
+ to LINES. There is no theoretical maximum. The minimum value must be 2.
47
+ Default: 24
48
+
49
+ ### cols
50
+
51
+ Specifies the number of columns the "screen" will have. Directly equates
52
+ to COLS. There is no theoretical maximum. The minimum value must be 2.
53
+ Default: 80
54
+
55
+ ### normalFont
56
+
57
+ The name of a fixed width font. Default: 7x13
58
+
59
+ ### italicFont
60
+
61
+ The name of a fixed width font to be used for characters with A_ITALIC
62
+ attributes. Must have the same cell size as normalFont. Default: 7x13
63
+ (obviously not an italic font)
64
+
65
+ ### pointer
66
+
67
+ The name of a valid pointer cursor. Default: xterm
68
+
69
+ ### pointerForeColor
70
+
71
+ The foreground color of the pointer. Default: black
72
+
73
+ ### pointerBackColor
74
+
75
+ The background color of the pointer. Default: white
76
+
77
+ ### cursorColor
78
+
79
+ ### textCursor
80
+
81
+ The alignment of the text cursor; horizontal or vertical. Default:
82
+ horizontal
83
+
84
+ ### colorBlack
85
+
86
+ The color of the COLOR_BLACK attribute. Default: Black
87
+
88
+ ### colorRed
89
+
90
+ The color of the COLOR_RED attribute. Default: red3
91
+
92
+ ### colorGreen
93
+
94
+ The color of the COLOR_GREEN attribute. Default: green3
95
+
96
+ ### colorYellow
97
+
98
+ The color of the COLOR_YELLOW attribute. Default: yellow3
99
+
100
+ ### colorBlue
101
+
102
+ The color of the COLOR_BLUE attribute. Default: blue3
103
+
104
+ ### colorMagenta
105
+
106
+ The color of the COLOR_MAGENTA attribute. Default: magenta3
107
+
108
+ ### colorCyan
109
+
110
+ The color of the COLOR_CYAN attribute. Default: cyan3
111
+
112
+ ### colorWhite
113
+
114
+ The color of the COLOR_WHITE attribute. Default: Grey
115
+
116
+ ### colorBoldBlack
117
+
118
+ COLOR_BLACK combined with A_BOLD. Default: grey40
119
+
120
+ ### colorBoldRed
121
+
122
+ COLOR_RED combined with A_BOLD. Default: red1
123
+
124
+ ### colorBoldGreen
125
+
126
+ COLOR_GREEN combined with A_BOLD. Default: green1
127
+
128
+ ### colorBoldYellow
129
+
130
+ COLOR_YELLOW combined with A_BOLD. Default: yellow1
131
+
132
+ ### colorBoldBlue
133
+
134
+ COLOR_BLUE combined with A_BOLD. Default: blue1
135
+
136
+ ### colorBoldMagenta
137
+
138
+ COLOR_MAGENTA combined with A_BOLD. Default: magenta1
139
+
140
+ ### colorBoldCyan
141
+
142
+ COLOR_CYAN combined with A_BOLD. Default: cyan1
143
+
144
+ ### colorBoldWhite
145
+
146
+ COLOR_WHITE combined with A_BOLD. Default: White
147
+
148
+ ### bitmap
149
+
150
+ The name of a valid bitmap file of depth 1 (black and white) used for
151
+ the application's icon. The file is an X bitmap. Default: a 32x32 or
152
+ 64x64 pixmap depending on the window manager
153
+
154
+ ### pixmap
155
+
156
+ The name of a valid pixmap file of any depth supported by the window
157
+ manager (color) for the application's icon, The file is an X11 pixmap.
158
+ This resource is only available if the libXpm package has been installed
159
+ (most systems have this by default). This resource overrides the
160
+ "bitmap" resource. Default: none, uses default bitmap above
161
+
162
+ ### translations
163
+
164
+ Translations enable the user to customize the action that occurs when a
165
+ key, combination of keys, or a button is pressed. The translations are
166
+ similar to those used by xterm.
167
+
168
+ Defaults:
169
+
170
+ <Key>: XCursesKeyPress()
171
+ <KeyUp>: XCursesKeyPress()
172
+ <BtnDown>: XCursesButton()
173
+ <BtnUp>: XCursesButton()
174
+ <BtnMotion>: XCursesButton()
175
+
176
+ The most useful action for KeyPress translations is string(). The
177
+ argument to the string() action can be either a string or a hex
178
+ representation of a character; e.g., string(0x1b) will send the ASCII
179
+ escape character to the application; string("[11~") will send [ 1 1 ~ ,
180
+ as separate keystrokes.
181
+
182
+ ### shmmin
183
+
184
+ On most systems, there are two Unix kernel parameters that determine the
185
+ allowable size of a shared memory segment. These parameters are usually
186
+ something like SHMMIN and SHMMAX. To use shared memory, a program must
187
+ allocate a segment of shared memory that is between these two values.
188
+ Usually these values are like 1 for SHMMIN and some large number for
189
+ SHMMAX. Sometimes the Unix kernel is configured to have a value of
190
+ SHMMIN that is bigger than the size of one of the shared memory segments
191
+ that libXCurses uses. On these systems an error message like:
192
+
193
+ Cannot allocate shared memory for SCREEN: Invalid argument
194
+
195
+ will result. To overcome this problem, this resource should be set to
196
+ the kernel value for SHMMIN. This ensures that a shared memory segment
197
+ will always be bigger than the kernel value for SHMMIN (and hopefully
198
+ less than SHMMAX!) Default: 0
199
+
200
+ ### borderColor
201
+
202
+ The color of the border around the screen. Default: black
203
+
204
+ ### borderWidth
205
+
206
+ The width in pixels of the border around the screen. Default: 0
207
+
208
+ ### clickPeriod
209
+
210
+ The period (in milliseconds) between a button press and a button release
211
+ that determines if a click of a button has occurred. Default: 100
212
+
213
+ ### doubleClickPeriod
214
+
215
+ The period (in milliseconds) between two button press events that
216
+ determines if a double click of a button has occurred. Default: 200
217
+
218
+ ### composeKey
219
+
220
+ The name of the X key that defines the "compose key", which is used to
221
+ enter characters in the Latin-1 character set above 0xA0. (See "Compose
222
+ Keys for Latin-1" below.) This is used only when PDCurses is built
223
+ without XIM support. While in compose mode, the text cursor will appear
224
+ as a hollow rectangle. Default: Multi_key
225
+
226
+
227
+ Using Resources
228
+ ---------------
229
+
230
+ All applications have a top-level class name of "XCurses". If Xinitscr()
231
+ is used, it sets an application's top-level widget name. (Otherwise the
232
+ name defaults to "PDCurses".)
233
+
234
+ Examples for app-defaults or .Xdefaults:
235
+
236
+ !
237
+ ! resources for XCurses class of programs
238
+ !
239
+ XCurses*lines: 30
240
+ XCurses*cols: 80
241
+ XCurses*normalFont: 9x13
242
+ XCurses*bitmap: /tmp/xcurses.xbm
243
+ XCurses*pointer: top_left_arrow
244
+ !
245
+ ! resources for testcurs - XCurses
246
+ !
247
+ testcurs.colorRed: orange
248
+ testcurs.colorBlack: midnightblue
249
+ testcurs.lines: 25
250
+ *testcurs.Translations: #override \n \
251
+ <Key>F12: string(0x1b) string("[11~") \n
252
+ !
253
+ ! resources for THE - XCurses
254
+ !
255
+ ! resources with the * wildcard can be overridden by a parameter passed
256
+ ! to initscr()
257
+ !
258
+ the*normalFont: 9x15
259
+ the*lines: 40
260
+ the*cols: 86
261
+ the*pointer: xterm
262
+ the*pointerForeColor: white
263
+ the*pointerBackColor: black
264
+ !
265
+ ! resources with the . format can not be overridden by a parameter passed
266
+ ! to Xinitscr()
267
+ !
268
+ the.bitmap: /home/mark/the/the64.xbm
269
+ the.pixmap: /home/mark/the/the64.xpm
270
+
271
+ Resources may also be passed as parameters to the Xinitscr() function.
272
+ Parameters are strings in the form of switches; e.g., to set the color
273
+ "red" to "indianred", and the number of lines to 30, the string passed
274
+ to Xinitscr would be: "-colorRed indianred -lines 30"
275
+
276
+
277
+ Compose Keys for Latin-1
278
+ ------------------------
279
+
280
+ When built without XIM support, PDCurses for X11 provides its own,
281
+ limited compose key system for Latin-1 characters. The available
282
+ combinations are listed here. For a given character, any of the
283
+ combinations shown in the last column may be used. To generate a
284
+ character, press the "compose" key followed by one of the pairs of
285
+ keystrokes. Where no key is evident, the spacebar is used. Thus, to
286
+ generate the NO-BREAK SPACE, press the "compose" key followed by two
287
+ hits of the spacebar.
288
+
289
+ With a typical modern X server, you can get many more compose key
290
+ combinations by using XIM instead. Configure PDCurses with --enable-xim
291
+ to use XIM support.
292
+
293
+ This document is encoded in UTF-8.
294
+
295
+ Hex| Dec |Chr| Description ISO 10646-1:1993(E) | Compose key combinations
296
+ ---+-----+---+---------------------------------+-------------------------
297
+ A0 | 160 | | NO-BREAK SPACE |
298
+ A1 | 161 | ¡ | INVERTED EXCLAMATION MARK | ! !!
299
+ A2 | 162 | ¢ | CENT SIGN | c| |c c/ c$ C$ C|
300
+ A3 | 163 | £ | POUND SIGN | L- L$ L= l- l$ l= |-
301
+ A4 | 164 | ¤ | CURRENCY SIGN | xo ox XO g$
302
+ A5 | 165 | ¥ | YEN SIGN | =y y= =Y Y= Y- y$ y-
303
+ A6 | 166 | ¦ | BROKEN BAR | | || vb VB |^
304
+ A7 | 167 | § | SECTION SIGN | SO SS s! S! so
305
+ A8 | 168 | ¨ | DIAERESIS | " ""
306
+ A9 | 169 | © | COPYRIGHT SIGN | CO co OC
307
+ AA | 170 | ª | FEMININE ORDINAL INDICATOR | sa SA a_ A_
308
+ AB | 171 | « | LEFT DOUBLE ANGLE QUOTES | <<
309
+ AC | 172 | ¬ | NOT SIGN | -, no NO
310
+ AD | 173 | ­ | SOFT HYPHEN | - --
311
+ AE | 174 | ® | REGISTERED SIGN | RO ro OR
312
+ AF | 175 | ¯ | MACRON | -^ _^ __
313
+ B0 | 176 | ° | DEGREE SIGN | o 0^ 0* de DE ^0
314
+ B1 | 177 | ± | PLUS-MINUS SIGN | -+ +-
315
+ B2 | 178 | ² | SUPERSCRIPT TWO | 2 2^ s2 ^2
316
+ B3 | 179 | ³ | SUPERSCRIPT THREE | 3 3^ s3 ^3
317
+ B4 | 180 | ´ | ACUTE ACCENT | ' ''
318
+ B5 | 181 | µ | MICRO SIGN | u /u /U *m *M
319
+ B6 | 182 | ¶ | PILCROW SIGN | p! P! pg PG
320
+ B7 | 183 | · | MIDDLE DOT | . .^ ..
321
+ B8 | 184 | ¸ | CEDILLA | , ,,
322
+ B9 | 185 | ¹ | SUPERSCRIPT ONE | 1 1^ s1 ^1
323
+ BA | 186 | º | MASCULINE ORDINAL INDICATOR | o_ s0 S0
324
+ BB | 187 | » | RIGHT DOUBLE ANGLE QUOTES | >>
325
+ BC | 188 | ¼ | VULGAR FRACTION ONE QUARTER | 14
326
+ BD | 189 | ½ | VULGAR FRACTION ONE HALF | 12
327
+ BE | 190 | ¾ | VULGAR FRACTION THREE QUARTERS | 34
328
+ BF | 191 | ¿ | INVERTED QUESTION MARK | ? ??
329
+ C0 | 192 | À | CAPITAL A WITH GRAVE ACCENT | `A A`
330
+ C1 | 193 | Á | CAPITAL A WITH ACUTE ACCENT | 'A A'
331
+ C2 | 194 | Â | CAPITAL A WITH CIRCUMFLEX ACCENT| ^A A^ A>
332
+ C3 | 195 | Ã | CAPITAL A WITH TILDE | ~A A~ A-
333
+ C4 | 196 | Ä | CAPITAL A WITH DIAERESIS | "A A"
334
+ C5 | 197 | Å | CAPITAL A WITH RING ABOVE | oA Ao A* OA *A
335
+ C6 | 198 | Æ | CAPITAL LIGATURE AE | AE
336
+ C7 | 199 | Ç | CAPITAL C WITH CEDILLA | ,C C,
337
+ C8 | 200 | È | CAPITAL E WITH GRAVE ACCENT | `E E`
338
+ C9 | 201 | É | CAPITAL E WITH ACUTE ACCENT | 'E E'
339
+ CA | 202 | Ê | CAPITAL E WITH CIRCUMFLEX ACCENT| ^E E^ E>
340
+ CB | 203 | Ë | CAPITAL E WITH DIAERESIS | "E E"
341
+ CC | 204 | Ì | CAPITAL I WITH GRAVE ACCENT | `I I`
342
+ CD | 205 | Í | CAPITAL I WITH ACUTE ACCENT | 'I I'
343
+ CE | 206 | Î | CAPITAL I WITH CIRCUMFLEX ACCENT| ^I I^ I>
344
+ CF | 207 | Ï | CAPITAL I WITH DIAERESIS | "I I"
345
+ D0 | 208 | Ð | CAPITAL ETH | D-
346
+ D1 | 209 | Ñ | CAPITAL N WITH TILDE | ~N N~ N-
347
+ D2 | 210 | Ò | CAPITAL O WITH GRAVE ACCENT | `O O`
348
+ D3 | 211 | Ó | CAPITAL O WITH ACUTE ACCENT | 'O O'
349
+ D4 | 212 | Ô | CAPITAL O WITH CIRCUMFLEX ACCENT| ^O O^ O>
350
+ D5 | 213 | Õ | CAPITAL O WITH TILDE | ~O O~ O-
351
+ D6 | 214 | Ö | CAPITAL O WITH DIAERESIS | "O O"
352
+ D7 | 215 | × | MULTIPLICATION SIGN | x xx XX mu MU
353
+ D8 | 216 | Ø | CAPITAL O WITH STROKE | /O O/
354
+ D9 | 217 | Ù | CAPITAL U WITH GRAVE ACCENT | `U U`
355
+ DA | 218 | Ú | CAPITAL U WITH ACUTE ACCENT | 'U U'
356
+ DB | 219 | Û | CAPITAL U WITH CIRCUMFLEX ACCENT| ^U U^ U>
357
+ DC | 220 | Ü | CAPITAL U WITH DIAERESIS | "U U"
358
+ DD | 221 | Ý | CAPITAL Y WITH ACUTE ACCENT | 'Y Y'
359
+ DE | 222 | Þ | CAPITAL THORN | P TH |P
360
+ DF | 223 | ß | SMALL SHARP S | ss
361
+ E0 | 224 | à | SMALL A WITH GRAVE ACCENT | `a a`
362
+ E1 | 225 | á | SMALL A WITH ACUTE ACCENT | 'a a'
363
+ E2 | 226 | â | SMALL A WITH CIRCUMFLEX ACCENT | ^a a^ a>
364
+ E3 | 227 | ã | SMALL A WITH TILDE | ~a a~ a-
365
+ E4 | 228 | ä | SMALL A WITH DIAERESIS | "a a"
366
+ E5 | 229 | å | SMALL A WITH RING ABOVE | oa ao Oa a* *a
367
+ E6 | 230 | æ | SMALL LIGATURE AE | ae
368
+ E7 | 231 | ç | SMALL C WITH CEDILLA | ,c c,
369
+ E8 | 232 | è | SMALL E WITH GRAVE ACCENT | `e e`
370
+ E9 | 233 | é | SMALL E WITH ACUTE ACCENT | 'e e'
371
+ EA | 234 | ê | SMALL E WITH CIRCUMFLEX ACCENT | ^e e^ e>
372
+ EB | 235 | ë | SMALL E WITH DIAERESIS | "e e"
373
+ EC | 236 | ì | SMALL I WITH GRAVE ACCENT | `i i`
374
+ ED | 237 | í | SMALL I WITH ACUTE ACCENT | 'i i'
375
+ EE | 238 | î | SMALL I WITH CIRCUMFLEX ACCENT | ^i i^ i>
376
+ EF | 239 | ï | SMALL I WITH DIAERESIS | "i i"
377
+ F0 | 240 | ð | SMALL ETH | d-
378
+ F1 | 241 | ñ | SMALL N WITH TILDE | ~n n~ n-
379
+ F2 | 242 | ò | SMALL O WITH GRAVE ACCENT | `o o`
380
+ F3 | 243 | ó | SMALL O WITH ACUTE ACCENT | 'o o'
381
+ F4 | 244 | ô | SMALL O WITH CIRCUMFLEX ACCENT | ^o o^ o>
382
+ F5 | 245 | õ | SMALL O WITH TILDE | ~o o~ o-
383
+ F6 | 246 | ö | SMALL O WITH DIAERESIS | "o o"
384
+ F7 | 247 | ÷ | DIVISION SIGN | -: :-
385
+ F8 | 248 | ø | SMALL O WITH OBLIQUE BAR | /o o/
386
+ F9 | 249 | ù | SMALL U WITH GRAVE ACCENT | `u u`
387
+ FA | 250 | ú | SMALL U WITH ACUTE ACCENT | 'u u'
388
+ FB | 251 | û | SMALL U WITH CIRCUMFLEX ACCENT | ^u u^ u>
389
+ FC | 252 | ü | SMALL U WITH DIAERESIS | "u u"
390
+ FD | 253 | ý | SMALL Y WITH ACUTE ACCENT | 'y y'
391
+ FE | 254 | þ | SMALL THORN | p th |p
392
+ FF | 255 | ÿ | SMALL Y WITH DIAERESIS | "y y"
393
+
394
+
395
+ Deprecated
396
+ ----------
397
+
398
+ XCursesProgramName is no longer used. To set the program name, you must
399
+ use Xinitscr(), or PDC_set_title() to set just the window title.
400
+
401
+ The XCursesExit() function is now called automatically via atexit().
402
+ (Multiple calls to it are OK, so you don't need to remove it if you've
403
+ already added it for previous versions of PDCurses.)
404
+
405
+ XCURSES is no longer defined automatically, but need not be defined,
406
+ unless you want the X11-specific prototypes. (Normal curses programs
407
+ won't need it.)
@@ -0,0 +1,66 @@
1
+ cmake_minimum_required(VERSION 3.11)
2
+
3
+ if(NOT CMAKE_BUILD_TYPE)
4
+ set(CMAKE_BUILD_TYPE "MinSizeRel" CACHE STRING "Choose the type of build, options are: Debug, Release, or MinSizeRel." FORCE)
5
+ message(STATUS "CMAKE_BUILD_TYPE not set, defaulting to MinSizeRel.")
6
+ endif()
7
+
8
+ if(APPLE)
9
+ # look for brew version first
10
+ set(CMAKE_LIBRARY_PATH /usr/local/opt/ncurses/lib)
11
+ endif()
12
+
13
+ set(CURSES_NEED_WIDE PDC_WIDE)
14
+ include(FindCurses)
15
+
16
+ if(CURSES_FOUND)
17
+ # this project is dependent on libncurses5-dev, and libncursesw5-dev.
18
+ # Apple builds without ncursesw
19
+
20
+ PROJECT(ncurses VERSION "${PROJECT_VERSION}" LANGUAGES C)
21
+ message(STATUS "**** ${PROJECT_NAME} ****")
22
+
23
+ if(APPLE)
24
+ if ("/usr/lib/libcurses.dylib" IN_LIST CURSES_LIBRARIES)
25
+ #MESSAGE(WARNING "Building with old ncurses lib -> Manually defining A_ITALIC to 64-bit...")
26
+ MESSAGE(WARNING " Use `brew install ncurses` to resolve this warning")
27
+ add_definitions("-DA_ITALIC=((chtype)0x008 << 21)") #default to 64 bit for now...
28
+ endif()
29
+ MESSAGE(STATUS "Linking with ${CURSES_LIBRARIES}")
30
+ endif()
31
+ set(PDCURSES_DIST ${CMAKE_INSTALL_PREFIX}/${CMAKE_BUILD_TYPE})
32
+
33
+ macro (unix_app dir targ)
34
+
35
+ set(bin_name "${PROJECT_NAME}_${targ}")
36
+ if(${targ} STREQUAL "tuidemo")
37
+ set(src_files ${CMAKE_CURRENT_SOURCE_DIR}/${dir}/tuidemo.c ${CMAKE_CURRENT_SOURCE_DIR}/${dir}/tui.c)
38
+ else()
39
+ set(src_files ${CMAKE_CURRENT_SOURCE_DIR}/${dir}/${targ}.c)
40
+ endif()
41
+
42
+ add_executable(${bin_name} ${src_files})
43
+
44
+ target_compile_options(${bin_name} PUBLIC -Wall)
45
+ target_compile_definitions(${bin_name} PUBLIC -D_XOPEN_SOURCE_EXTENDED)
46
+ if(PDC_WIDE)
47
+ target_compile_definitions(${bin_name} PUBLIC -DHAVE_NCURSESW)
48
+ endif()
49
+
50
+ target_include_directories(${bin_name} PUBLIC ${CURSES_INCLUDE_DIR})
51
+ target_link_libraries(${bin_name} ${CURSES_LIBRARIES})
52
+ set_target_properties(${bin_name} PROPERTIES OUTPUT_NAME ${targ})
53
+
54
+ install(TARGETS ${bin_name} RUNTIME DESTINATION ${PDCURSES_DIST}/bin/${PROJECT_NAME} COMPONENT applications)
55
+
56
+ endmacro ()
57
+
58
+ unix_app(../demos firework)
59
+ unix_app(../demos ozdemo)
60
+ unix_app(../demos newtest)
61
+ unix_app(../demos rain)
62
+ unix_app(../demos testcurs)
63
+ unix_app(../demos worm)
64
+ unix_app(../demos xmas)
65
+
66
+ endif()
@@ -0,0 +1,26 @@
1
+ ncurses build of PDCurses demos
2
+ ===============================
3
+
4
+ This directory contains a makefile to compile the PDCurses demos against
5
+ the ncurses library. This allows us to check for differences between
6
+ ncurses and PDCurses.
7
+
8
+ Building
9
+ --------
10
+
11
+ - Thus far, only GCC on Linux has been tested. Build with either
12
+
13
+ make -f makefile
14
+ make -f makefile WIDE=Y
15
+
16
+ Several demos will be compiled.
17
+
18
+ Distribution Status
19
+ -------------------
20
+
21
+ The files in this directory are released to the Public Domain.
22
+
23
+ Acknowledgments
24
+ ---------------
25
+
26
+ makefile provided by Bill Gray.
@@ -0,0 +1,29 @@
1
+ # GNU MAKE Makefile for PDCurses demos with ncurses
2
+ #
3
+ # Usage: make [tgt] [WIDE=Y]
4
+ #
5
+ # where tgt can be any of:
6
+ # [all|demos|testcurs]...
7
+
8
+ ifeq ($(WIDE),Y)
9
+ CFLAGS = -Wall -O3 -D_XOPEN_SOURCE_EXTENDED -DHAVE_NCURSESW
10
+ LIBCURSES = -lncursesw
11
+ else
12
+ CFLAGS = -Wall -O3 -D_XOPEN_SOURCE_EXTENDED
13
+ LIBCURSES = -lncurses
14
+ endif
15
+
16
+ demodir = ../demos
17
+
18
+ DEMOS = firework ozdemo newtest rain testcurs worm xmas
19
+
20
+ all: $(DEMOS) tuidemo
21
+
22
+ $(DEMOS) : %: $(demodir)/%.c
23
+ $(CC) $(CFLAGS) -o$@ $< $(LIBCURSES)
24
+
25
+ tuidemo : $(demodir)/tuidemo.c $(demodir)/tui.c
26
+ $(CC) $(CFLAGS) -o$@ $(demodir)/tui.c $< $(LIBCURSES)
27
+
28
+ clean:
29
+ rm -f $(DEMOS) tuidemo
@@ -0,0 +1,41 @@
1
+ cmake_minimum_required(VERSION 3.11)
2
+
3
+ if(NOT CMAKE_BUILD_TYPE)
4
+ set(CMAKE_BUILD_TYPE "MinSizeRel" CACHE STRING "Choose the type of build, options are: Debug, Release, or MinSizeRel." FORCE)
5
+ message(STATUS "No build type specified, defaulting to MinSizeRel.")
6
+ endif()
7
+
8
+ PROJECT(os2 VERSION "${PROJECT_VERSION}" LANGUAGES C)
9
+ MESSAGE(STATUS "${PROJECT_NAME} version: ${PROJECT_VERSION}")
10
+
11
+ include(project_common)
12
+
13
+ if(WATCOM)
14
+ # this requires using the following toolchainfile file
15
+ # -DCMAKE_TOOLCHAIN_FILE={path}\watcom_open_os2vs_toolchain.cmake
16
+
17
+ string(APPEND CMAKE_C_FLAGS " -wx") # warning level: to maximum setting
18
+
19
+ string(APPEND CMAKE_C_FLAGS_RELEASE " -oneatx")
20
+ string(APPEND CMAKE_C_FLAGS_MINSIZEREL " -oneatx")
21
+ # optimization:
22
+ # n -> allow numerically unstable optimizations
23
+ # e -> expand user functions inline
24
+ # a -> relax aliasing constraints
25
+ # t -> favor execution time over code size in optimizations
26
+ # x -> equivalent to -obmiler -s
27
+
28
+ string(APPEND CMAKE_C_FLAGS_DEBUG " -d2") # full symbolic debugging info
29
+ string(APPEND CMAKE_EXE_LINKER_FLAGS_DEBUG " debug watcom all")
30
+
31
+ endif()
32
+
33
+ demo_app(../demos version)
34
+ demo_app(../demos firework)
35
+ demo_app(../demos ozdemo)
36
+ demo_app(../demos newtest)
37
+ demo_app(../demos ptest)
38
+ demo_app(../demos rain)
39
+ demo_app(../demos testcurs)
40
+ demo_app(../demos worm)
41
+ demo_app(../demos xmas)
@@ -0,0 +1,132 @@
1
+ # GNU MAKE Makefile for PDCurses library - OS/2 emx 0.9c+
2
+ #
3
+ # Usage: make -f [path\]Makefile [DEBUG=Y] [EMXVIDEO=Y] [DLL=Y] [target]
4
+ #
5
+ # where target can be any of:
6
+ # [all|demos|pdcurses.a|testcurs.exe...]
7
+ #
8
+ # The EMXVIDEO option compiles with the emx video library, which
9
+ # enables a PDCurses program to run under OS/2 and DOS.
10
+
11
+ O = o
12
+
13
+ ifndef PDCURSES_SRCDIR
14
+ PDCURSES_SRCDIR = ..
15
+ endif
16
+
17
+ include $(PDCURSES_SRCDIR)/version.mif
18
+ include $(PDCURSES_SRCDIR)/libobjs.mif
19
+
20
+ osdir = $(PDCURSES_SRCDIR)/os2
21
+
22
+ PDCURSES_OS2_H = $(osdir)/pdcos2.h
23
+
24
+ CC = gcc
25
+
26
+ CFLAGS = -I$(PDCURSES_SRCDIR) -c -Wall
27
+
28
+ ifeq ($(EMXVIDEO),Y)
29
+ CFLAGS += -DEMXVIDEO
30
+ CCLIBS = -lvideo
31
+ BINDFLAGS = -acm
32
+ else
33
+ CCLIBS =
34
+ BINDFLAGS =
35
+ endif
36
+
37
+ ifeq ($(DEBUG),Y)
38
+ CFLAGS += -g -DPDCDEBUG
39
+ LDFLAGS = -g
40
+ else
41
+ CFLAGS += -O2
42
+ LDFLAGS =
43
+ endif
44
+
45
+ DLLTARGET = pdcurses.dll
46
+ DLLFLAGS = -Zdll -Zcrtdll -Zomf
47
+
48
+ LINK = gcc
49
+ EMXBIND = emxbind
50
+ EMXOMF = emxomf
51
+
52
+ LIBEXE = ar
53
+ LIBFLAGS = rcv
54
+
55
+ ifeq ($(DLL),Y)
56
+ CFLAGS += -Zdll -Zcrtdll -Zomf
57
+ LDFLAGS += -Zlinker /PM:VIO -Zomf -Zcrtdll
58
+ LIBCURSES = pdcurses.lib
59
+ LIBDEPS = $(LIBOBJS) $(PDCOBJS)
60
+ PDCLIBS = $(DLLTARGET)
61
+ EXEPOST =
62
+ TUIPOST =
63
+ CLEAN = *.dll *.lib
64
+ else
65
+ LIBCURSES = pdcurses.a
66
+ LIBDEPS = $(LIBOBJS) $(PDCOBJS)
67
+ PDCLIBS = $(LIBCURSES)
68
+ EXEPOST = $(EMXBIND) $* $(BINDFLAGS)
69
+ TUIPOST = $(EMXBIND) tuidemo $(BINDFLAGS)
70
+ CLEAN = *.a testcurs ozdemo xmas tuidemo firework ptest rain worm
71
+ endif
72
+
73
+ .PHONY: all libs clean demos dist
74
+
75
+ all: libs demos
76
+
77
+ libs: $(PDCLIBS)
78
+
79
+ clean:
80
+ -del *.o
81
+ -del *.exe
82
+ -del $(CLEAN)
83
+
84
+ demos: $(DEMOS)
85
+
86
+ DEMOOBJS = testcurs.o ozdemo.o xmas.o tui.o tuidemo.o firework.o \
87
+ ptest.o rain.o worm.o
88
+
89
+ $(LIBCURSES) : $(LIBDEPS)
90
+ $(LIBEXE) $(LIBFLAGS) $@ $?
91
+ -copy $(LIBCURSES) panel.a
92
+
93
+ $(DLLTARGET) : $(LIBDEPS)
94
+ $(LINK) $(DLLFLAGS) -o $(DLLTARGET) $?
95
+ # lxlite $(DLLTARGET)
96
+
97
+ $(LIBOBJS) $(PDCOBJS) $(DEMOOBJS) : $(PDCURSES_HEADERS)
98
+ $(PDCOBJS) : $(PDCURSES_OS2_H)
99
+ $(DEMOS) : $(LIBCURSES)
100
+ panel.o ptest.o: $(PANEL_HEADER)
101
+ terminfo.o: $(TERM_HEADER)
102
+
103
+ $(LIBOBJS) : %.o: $(srcdir)/%.c
104
+ $(CC) -c $(CFLAGS) -o$@ $<
105
+
106
+ $(PDCOBJS) : %.o: $(osdir)/%.c
107
+ $(CC) -c $(CFLAGS) -o$@ $<
108
+
109
+ firework.exe ozdemo.exe rain.exe testcurs.exe worm.exe xmas.exe \
110
+ ptest.exe: %.exe: %.o
111
+ $(LINK) $(LDFLAGS) -o $* $< $(LIBCURSES) $(CCLIBS)
112
+ $(EXEPOST)
113
+
114
+ tuidemo.exe: tuidemo.o tui.o
115
+ $(LINK) $(LDFLAGS) -o tuidemo tuidemo.o tui.o $(LIBCURSES) $(CCLIBS)
116
+ $(TUIPOST)
117
+
118
+ firework.o ozdemo.o ptest.o rain.o testcurs.o worm.o xmas.o: %.o: \
119
+ $(demodir)/%.c
120
+ $(CC) $(CFLAGS) -o$@ $<
121
+
122
+ tui.o: $(demodir)\tui.c $(demodir)\tui.h
123
+ $(CC) $(CFLAGS) -I$(demodir) -o $@ $<
124
+
125
+ tuidemo.o: $(demodir)\tuidemo.c
126
+ $(CC) $(CFLAGS) -I$(demodir) -o $@ $<
127
+
128
+ PLATFORM1 = EMX OS/2
129
+ PLATFORM2 = EMX 0.9d for OS/2
130
+ ARCNAME = pdc$(VER)_emx_os2
131
+
132
+ include $(PDCURSES_SRCDIR)/makedist.mif