curses 1.4.6 → 1.5.0

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 (254) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/push_gem.yml +6 -4
  3. data/README.md +8 -1
  4. data/curses.gemspec +2 -2
  5. data/ext/curses/curses.c +188 -12
  6. data/ext/curses/extconf.rb +3 -2
  7. data/lib/curses.rb +7 -0
  8. data/sample/attr_demo.rb +4 -2
  9. data/sample/screen.rb +9 -0
  10. data/vendor/PDCurses/.gitignore +47 -0
  11. data/vendor/PDCurses/.travis.yml +49 -0
  12. data/vendor/PDCurses/CMakeLists.txt +68 -0
  13. data/vendor/PDCurses/HISTORY.md +2036 -0
  14. data/vendor/PDCurses/IMPLEMNT.md +327 -0
  15. data/vendor/PDCurses/Makefile +27 -0
  16. data/vendor/PDCurses/README.md +77 -0
  17. data/vendor/PDCurses/acs_defs.h +265 -0
  18. data/vendor/PDCurses/appveyor.yml +218 -0
  19. data/vendor/PDCurses/cmake/README.md +71 -0
  20. data/vendor/PDCurses/cmake/build_dependencies.cmake +178 -0
  21. data/vendor/PDCurses/cmake/build_options.cmake +25 -0
  22. data/vendor/PDCurses/cmake/dll_version.cmake +26 -0
  23. data/vendor/PDCurses/cmake/gen_config_header.cmake +43 -0
  24. data/vendor/PDCurses/cmake/get_version.cmake +17 -0
  25. data/vendor/PDCurses/cmake/make_uninstall.cmake +19 -0
  26. data/vendor/PDCurses/cmake/project_common.cmake +121 -0
  27. data/vendor/PDCurses/cmake/resource.in.cmake +52 -0
  28. data/vendor/PDCurses/cmake/sdl2_ttf/CMakeLists.txt +83 -0
  29. data/vendor/PDCurses/cmake/target_arch.cmake +36 -0
  30. data/vendor/PDCurses/cmake/version.in.cmake +73 -0
  31. data/vendor/PDCurses/cmake/watcom_open_dos16_toolchain.cmake +96 -0
  32. data/vendor/PDCurses/cmake/watcom_open_dos32_toolchain.cmake +106 -0
  33. data/vendor/PDCurses/cmake/watcom_open_os2v2_toolchain.cmake +105 -0
  34. data/vendor/PDCurses/curses.h +1846 -0
  35. data/vendor/PDCurses/curspriv.h +134 -0
  36. data/vendor/PDCurses/demos/README.md +25 -0
  37. data/vendor/PDCurses/demos/firework.c +144 -0
  38. data/vendor/PDCurses/demos/newtest.c +581 -0
  39. data/vendor/PDCurses/demos/ozdemo.c +447 -0
  40. data/vendor/PDCurses/demos/ptest.c +283 -0
  41. data/vendor/PDCurses/demos/rain.c +157 -0
  42. data/vendor/PDCurses/demos/testcurs.c +1607 -0
  43. data/vendor/PDCurses/demos/tui.c +1048 -0
  44. data/vendor/PDCurses/demos/tui.h +65 -0
  45. data/vendor/PDCurses/demos/tuidemo.c +233 -0
  46. data/vendor/PDCurses/demos/version.c +61 -0
  47. data/vendor/PDCurses/demos/worm.c +432 -0
  48. data/vendor/PDCurses/demos/xmas.c +955 -0
  49. data/vendor/PDCurses/dos/CMakeLists.txt +47 -0
  50. data/vendor/PDCurses/dos/Makefile +105 -0
  51. data/vendor/PDCurses/dos/Makefile.bcc +83 -0
  52. data/vendor/PDCurses/dos/Makefile.dmc +257 -0
  53. data/vendor/PDCurses/dos/Makefile.msc +113 -0
  54. data/vendor/PDCurses/dos/Makefile.wcc +107 -0
  55. data/vendor/PDCurses/dos/README.md +51 -0
  56. data/vendor/PDCurses/dos/bccdos.lrf +9 -0
  57. data/vendor/PDCurses/dos/mscdos.lrf +50 -0
  58. data/vendor/PDCurses/dos/pdcclip.c +132 -0
  59. data/vendor/PDCurses/dos/pdcdisp.c +135 -0
  60. data/vendor/PDCurses/dos/pdcdos.h +194 -0
  61. data/vendor/PDCurses/dos/pdcgetsc.c +98 -0
  62. data/vendor/PDCurses/dos/pdckbd.c +513 -0
  63. data/vendor/PDCurses/dos/pdcscrn.c +785 -0
  64. data/vendor/PDCurses/dos/pdcsetsc.c +101 -0
  65. data/vendor/PDCurses/dos/pdcutil.c +212 -0
  66. data/vendor/PDCurses/libobjs.mif +26 -0
  67. data/vendor/PDCurses/makedist.mif +20 -0
  68. data/vendor/PDCurses/man/Makefile +37 -0
  69. data/vendor/PDCurses/man/README.md +21 -0
  70. data/vendor/PDCurses/man/intro.md +361 -0
  71. data/vendor/PDCurses/man/manext.c +119 -0
  72. data/vendor/PDCurses/man/sdl.md +152 -0
  73. data/vendor/PDCurses/man/sdl2.md +58 -0
  74. data/vendor/PDCurses/man/x11.md +407 -0
  75. data/vendor/PDCurses/ncurses/CMakeLists.txt +66 -0
  76. data/vendor/PDCurses/ncurses/README.md +26 -0
  77. data/vendor/PDCurses/ncurses/makefile +29 -0
  78. data/vendor/PDCurses/os2/CMakeLists.txt +41 -0
  79. data/vendor/PDCurses/os2/Makefile +132 -0
  80. data/vendor/PDCurses/os2/Makefile.bcc +90 -0
  81. data/vendor/PDCurses/os2/Makefile.wcc +43 -0
  82. data/vendor/PDCurses/os2/README.md +43 -0
  83. data/vendor/PDCurses/os2/iccos2.lrf +50 -0
  84. data/vendor/PDCurses/os2/iccos2.mak +256 -0
  85. data/vendor/PDCurses/os2/pdcclip.c +188 -0
  86. data/vendor/PDCurses/os2/pdcdisp.c +93 -0
  87. data/vendor/PDCurses/os2/pdcgetsc.c +89 -0
  88. data/vendor/PDCurses/os2/pdckbd.c +521 -0
  89. data/vendor/PDCurses/os2/pdcos2.h +55 -0
  90. data/vendor/PDCurses/os2/pdcscrn.c +449 -0
  91. data/vendor/PDCurses/os2/pdcsetsc.c +112 -0
  92. data/vendor/PDCurses/os2/pdcutil.c +52 -0
  93. data/vendor/PDCurses/panel.h +56 -0
  94. data/vendor/PDCurses/pdcurses/README.md +25 -0
  95. data/vendor/PDCurses/pdcurses/addch.c +693 -0
  96. data/vendor/PDCurses/pdcurses/addchstr.c +245 -0
  97. data/vendor/PDCurses/pdcurses/addstr.c +240 -0
  98. data/vendor/PDCurses/pdcurses/attr.c +359 -0
  99. data/vendor/PDCurses/pdcurses/beep.c +68 -0
  100. data/vendor/PDCurses/pdcurses/bkgd.c +223 -0
  101. data/vendor/PDCurses/pdcurses/border.c +411 -0
  102. data/vendor/PDCurses/pdcurses/clear.c +159 -0
  103. data/vendor/PDCurses/pdcurses/color.c +298 -0
  104. data/vendor/PDCurses/pdcurses/debug.c +109 -0
  105. data/vendor/PDCurses/pdcurses/delch.c +96 -0
  106. data/vendor/PDCurses/pdcurses/deleteln.c +211 -0
  107. data/vendor/PDCurses/pdcurses/deprec.c +27 -0
  108. data/vendor/PDCurses/pdcurses/getch.c +417 -0
  109. data/vendor/PDCurses/pdcurses/getstr.c +474 -0
  110. data/vendor/PDCurses/pdcurses/getyx.c +139 -0
  111. data/vendor/PDCurses/pdcurses/inch.c +127 -0
  112. data/vendor/PDCurses/pdcurses/inchstr.c +214 -0
  113. data/vendor/PDCurses/pdcurses/initscr.c +367 -0
  114. data/vendor/PDCurses/pdcurses/inopts.c +324 -0
  115. data/vendor/PDCurses/pdcurses/insch.c +271 -0
  116. data/vendor/PDCurses/pdcurses/insstr.c +264 -0
  117. data/vendor/PDCurses/pdcurses/instr.c +246 -0
  118. data/vendor/PDCurses/pdcurses/kernel.c +259 -0
  119. data/vendor/PDCurses/pdcurses/keyname.c +157 -0
  120. data/vendor/PDCurses/pdcurses/mouse.c +438 -0
  121. data/vendor/PDCurses/pdcurses/move.c +57 -0
  122. data/vendor/PDCurses/pdcurses/outopts.c +159 -0
  123. data/vendor/PDCurses/pdcurses/overlay.c +214 -0
  124. data/vendor/PDCurses/pdcurses/pad.c +260 -0
  125. data/vendor/PDCurses/pdcurses/panel.c +633 -0
  126. data/vendor/PDCurses/pdcurses/printw.c +126 -0
  127. data/vendor/PDCurses/pdcurses/refresh.c +279 -0
  128. data/vendor/PDCurses/pdcurses/scanw.c +578 -0
  129. data/vendor/PDCurses/pdcurses/scr_dump.c +213 -0
  130. data/vendor/PDCurses/pdcurses/scroll.c +101 -0
  131. data/vendor/PDCurses/pdcurses/slk.c +591 -0
  132. data/vendor/PDCurses/pdcurses/termattr.c +182 -0
  133. data/vendor/PDCurses/pdcurses/terminfo.c +217 -0
  134. data/vendor/PDCurses/pdcurses/touch.c +163 -0
  135. data/vendor/PDCurses/pdcurses/util.c +312 -0
  136. data/vendor/PDCurses/pdcurses/window.c +569 -0
  137. data/vendor/PDCurses/sdl1/Makefile +129 -0
  138. data/vendor/PDCurses/sdl1/Makefile.mng +110 -0
  139. data/vendor/PDCurses/sdl1/README.md +31 -0
  140. data/vendor/PDCurses/sdl1/deffont.h +385 -0
  141. data/vendor/PDCurses/sdl1/deficon.h +23 -0
  142. data/vendor/PDCurses/sdl1/pdcclip.c +131 -0
  143. data/vendor/PDCurses/sdl1/pdcdisp.c +373 -0
  144. data/vendor/PDCurses/sdl1/pdcgetsc.c +30 -0
  145. data/vendor/PDCurses/sdl1/pdckbd.c +405 -0
  146. data/vendor/PDCurses/sdl1/pdcscrn.c +414 -0
  147. data/vendor/PDCurses/sdl1/pdcsdl.h +31 -0
  148. data/vendor/PDCurses/sdl1/pdcsetsc.c +64 -0
  149. data/vendor/PDCurses/sdl1/pdcutil.c +40 -0
  150. data/vendor/PDCurses/sdl1/sdltest.c +79 -0
  151. data/vendor/PDCurses/sdl2/CMakeLists.txt +76 -0
  152. data/vendor/PDCurses/sdl2/Makefile +135 -0
  153. data/vendor/PDCurses/sdl2/Makefile.vc +164 -0
  154. data/vendor/PDCurses/sdl2/README.md +34 -0
  155. data/vendor/PDCurses/sdl2/deffont.h +385 -0
  156. data/vendor/PDCurses/sdl2/deficon.h +23 -0
  157. data/vendor/PDCurses/sdl2/pdcclip.c +93 -0
  158. data/vendor/PDCurses/sdl2/pdcdisp.c +534 -0
  159. data/vendor/PDCurses/sdl2/pdcgetsc.c +30 -0
  160. data/vendor/PDCurses/sdl2/pdckbd.c +480 -0
  161. data/vendor/PDCurses/sdl2/pdcscrn.c +443 -0
  162. data/vendor/PDCurses/sdl2/pdcsdl.h +33 -0
  163. data/vendor/PDCurses/sdl2/pdcsetsc.c +67 -0
  164. data/vendor/PDCurses/sdl2/pdcutil.c +39 -0
  165. data/vendor/PDCurses/sdl2/sdltest.c +81 -0
  166. data/vendor/PDCurses/term.h +48 -0
  167. data/vendor/PDCurses/version.mif +7 -0
  168. data/vendor/PDCurses/vt/CMakeLists.txt +28 -0
  169. data/vendor/PDCurses/vt/Makefile +135 -0
  170. data/vendor/PDCurses/vt/Makefile.bcc +111 -0
  171. data/vendor/PDCurses/vt/Makefile.dmc +258 -0
  172. data/vendor/PDCurses/vt/Makefile.vc +144 -0
  173. data/vendor/PDCurses/vt/Makefile.wcc +107 -0
  174. data/vendor/PDCurses/vt/README.md +64 -0
  175. data/vendor/PDCurses/vt/pdcclip.c +20 -0
  176. data/vendor/PDCurses/vt/pdcdisp.c +284 -0
  177. data/vendor/PDCurses/vt/pdcgetsc.c +27 -0
  178. data/vendor/PDCurses/vt/pdckbd.c +394 -0
  179. data/vendor/PDCurses/vt/pdcscrn.c +434 -0
  180. data/vendor/PDCurses/vt/pdcsetsc.c +45 -0
  181. data/vendor/PDCurses/vt/pdcutil.c +43 -0
  182. data/vendor/PDCurses/vt/pdcvt.h +16 -0
  183. data/vendor/PDCurses/watcom.mif +68 -0
  184. data/vendor/PDCurses/wincon/CMakeLists.txt +27 -0
  185. data/vendor/PDCurses/wincon/Makefile.bcc +88 -0
  186. data/vendor/PDCurses/wincon/Makefile.dmc +256 -0
  187. data/vendor/PDCurses/wincon/Makefile.lcc +273 -0
  188. data/vendor/PDCurses/wincon/Makefile.mng +176 -0
  189. data/vendor/PDCurses/wincon/Makefile.vc +144 -0
  190. data/vendor/PDCurses/wincon/Makefile.wcc +51 -0
  191. data/vendor/PDCurses/wincon/README.md +85 -0
  192. data/vendor/PDCurses/wincon/pdcclip.c +174 -0
  193. data/vendor/PDCurses/wincon/pdcdisp.c +143 -0
  194. data/vendor/PDCurses/wincon/pdcgetsc.c +55 -0
  195. data/vendor/PDCurses/wincon/pdckbd.c +786 -0
  196. data/vendor/PDCurses/wincon/pdcscrn.c +717 -0
  197. data/vendor/PDCurses/wincon/pdcsetsc.c +91 -0
  198. data/vendor/PDCurses/wincon/pdcurses.ico +0 -0
  199. data/vendor/PDCurses/wincon/pdcurses.rc +28 -0
  200. data/vendor/PDCurses/wincon/pdcutil.c +41 -0
  201. data/vendor/PDCurses/wincon/pdcwin.h +31 -0
  202. data/vendor/PDCurses/wingui/CMakeLists.txt +27 -0
  203. data/vendor/PDCurses/wingui/Makefile.bcc +85 -0
  204. data/vendor/PDCurses/wingui/Makefile.dmc +259 -0
  205. data/vendor/PDCurses/wingui/Makefile.lcc +273 -0
  206. data/vendor/PDCurses/wingui/Makefile.mng +171 -0
  207. data/vendor/PDCurses/wingui/Makefile.vc +144 -0
  208. data/vendor/PDCurses/wingui/Makefile.wcc +51 -0
  209. data/vendor/PDCurses/wingui/README.md +93 -0
  210. data/vendor/PDCurses/wingui/pdcclip.c +174 -0
  211. data/vendor/PDCurses/wingui/pdcdisp.c +718 -0
  212. data/vendor/PDCurses/wingui/pdcgetsc.c +30 -0
  213. data/vendor/PDCurses/wingui/pdckbd.c +143 -0
  214. data/vendor/PDCurses/wingui/pdcscrn.c +2797 -0
  215. data/vendor/PDCurses/wingui/pdcsetsc.c +89 -0
  216. data/vendor/PDCurses/wingui/pdcurses.ico +0 -0
  217. data/vendor/PDCurses/wingui/pdcurses.rc +28 -0
  218. data/vendor/PDCurses/wingui/pdcutil.c +61 -0
  219. data/vendor/PDCurses/wingui/pdcwin.h +122 -0
  220. data/vendor/PDCurses/x11/Makefile.in +754 -0
  221. data/vendor/PDCurses/x11/PDCurses.spec +82 -0
  222. data/vendor/PDCurses/x11/README.md +62 -0
  223. data/vendor/PDCurses/x11/ScrollBox.c +319 -0
  224. data/vendor/PDCurses/x11/ScrollBox.h +51 -0
  225. data/vendor/PDCurses/x11/ScrollBoxP.h +70 -0
  226. data/vendor/PDCurses/x11/aclocal.m4 +994 -0
  227. data/vendor/PDCurses/x11/big_icon.xbm +46 -0
  228. data/vendor/PDCurses/x11/compose.h +201 -0
  229. data/vendor/PDCurses/x11/config.guess +1500 -0
  230. data/vendor/PDCurses/x11/config.h.in +100 -0
  231. data/vendor/PDCurses/x11/config.sub +1616 -0
  232. data/vendor/PDCurses/x11/configure +6700 -0
  233. data/vendor/PDCurses/x11/configure.ac +295 -0
  234. data/vendor/PDCurses/x11/debian/changelog +6 -0
  235. data/vendor/PDCurses/x11/debian/compat +1 -0
  236. data/vendor/PDCurses/x11/debian/control +11 -0
  237. data/vendor/PDCurses/x11/debian/copyright +27 -0
  238. data/vendor/PDCurses/x11/debian/rules +98 -0
  239. data/vendor/PDCurses/x11/install-sh +253 -0
  240. data/vendor/PDCurses/x11/little_icon.xbm +14 -0
  241. data/vendor/PDCurses/x11/ncurses_cfg.h +45 -0
  242. data/vendor/PDCurses/x11/pdcclip.c +173 -0
  243. data/vendor/PDCurses/x11/pdcdisp.c +85 -0
  244. data/vendor/PDCurses/x11/pdcgetsc.c +28 -0
  245. data/vendor/PDCurses/x11/pdckbd.c +104 -0
  246. data/vendor/PDCurses/x11/pdcscrn.c +258 -0
  247. data/vendor/PDCurses/x11/pdcsetsc.c +95 -0
  248. data/vendor/PDCurses/x11/pdcutil.c +52 -0
  249. data/vendor/PDCurses/x11/pdcx11.c +316 -0
  250. data/vendor/PDCurses/x11/pdcx11.h +191 -0
  251. data/vendor/PDCurses/x11/sb.c +155 -0
  252. data/vendor/PDCurses/x11/x11.c +3686 -0
  253. data/vendor/PDCurses/x11/xcurses-config.in +81 -0
  254. metadata +249 -8
@@ -0,0 +1,135 @@
1
+ # Makefile for PDCurses library for SDL
2
+ #
3
+ # Usage: [g]make [DEBUG=Y] [WIDE=Y] [UTF8=Y] [target]
4
+ #
5
+ # where target can be any of:
6
+ # [all|demos|libpdcurses.a|testcurs]...
7
+
8
+ O = o
9
+
10
+ ifeq ($(NOPIC),Y)
11
+ PIC =
12
+ else
13
+ PIC = -fPIC
14
+ endif
15
+
16
+ ifndef PDCURSES_SRCDIR
17
+ PDCURSES_SRCDIR = ..
18
+ endif
19
+
20
+ include $(PDCURSES_SRCDIR)/libobjs.mif
21
+
22
+ osdir = $(PDCURSES_SRCDIR)/sdl2
23
+
24
+ PDCURSES_SDL_H = $(osdir)/pdcsdl.h
25
+
26
+ SFLAGS = $(shell pkg-config --cflags sdl2)
27
+ SLIBS = $(shell pkg-config --libs sdl2)
28
+
29
+ # If your system doesn't have these, remove the defines here
30
+ SFLAGS += -DHAVE_VSNPRINTF -DHAVE_VSSCANF
31
+
32
+ ifeq ($(DEBUG),Y)
33
+ CFLAGS = -g -Wall -DPDCDEBUG $(PIC)
34
+ else
35
+ CFLAGS += -O2 -Wall $(PIC)
36
+ endif
37
+
38
+ ifeq ($(WIDE),Y)
39
+ CFLAGS += -DPDC_WIDE $(shell pkg-config --cflags SDL2_ttf)
40
+ SLIBS += $(shell pkg-config --libs SDL2_ttf)
41
+ endif
42
+
43
+ ifeq ($(UTF8),Y)
44
+ CFLAGS += -DPDC_FORCE_UTF8
45
+ endif
46
+
47
+ ifdef CHTYPE_32
48
+ CFLAGS += -DCHTYPE_32
49
+ endif
50
+
51
+ ifdef CHTYPE_16
52
+ CFLAGS += -DCHTYPE_16
53
+ endif
54
+
55
+
56
+ BUILD = $(CC) $(CFLAGS) -I$(PDCURSES_SRCDIR)
57
+
58
+ ifeq ($(shell uname),Darwin)
59
+ DEMOFLAGS = -Dmain=SDL_main
60
+ endif
61
+
62
+ LINK = $(CC)
63
+ LDFLAGS = $(LIBCURSES) $(SLIBS)
64
+ RANLIB = ranlib
65
+ LIBCURSES = libpdcurses.a
66
+
67
+ DEMOS = firework$(EXE_EXTENSION) ozdemo$(EXE_EXTENSION) newtest$(EXE_EXTENSION) ptest$(EXE_EXTENSION) rain$(EXE_EXTENSION) testcurs$(EXE_EXTENSION) tuidemo$(EXE_EXTENSION) worm$(EXE_EXTENSION) xmas$(EXE_EXTENSION) \
68
+ sdltest$(EXE_EXTENSION)
69
+
70
+ .PHONY: all libs clean demos install
71
+
72
+ all: libs demos
73
+
74
+ libs: $(LIBCURSES)
75
+
76
+ clean:
77
+ -rm -rf *.o trace $(LIBCURSES) $(DEMOS)
78
+
79
+ demos: $(DEMOS)
80
+ ifneq ($(DEBUG),Y)
81
+ strip $(DEMOS)
82
+ endif
83
+
84
+ $(LIBCURSES) : $(LIBOBJS) $(PDCOBJS)
85
+ ar rv $@ $?
86
+ -$(RANLIB) $@
87
+
88
+ $(LIBOBJS) $(PDCOBJS) : $(PDCURSES_HEADERS)
89
+ $(PDCOBJS) : $(PDCURSES_SDL_H)
90
+ $(DEMOS) : $(PDCURSES_CURSES_H) $(LIBCURSES)
91
+ tui.o tuidemo.o : $(PDCURSES_CURSES_H)
92
+ terminfo.o: $(TERM_HEADER)
93
+ panel.o ptest$(EXE_EXTENSION): $(PANEL_HEADER)
94
+
95
+ $(LIBOBJS) : %.o: $(srcdir)/%.c
96
+ $(BUILD) $(SFLAGS) -c $<
97
+
98
+ $(PDCOBJS) : %.o: $(osdir)/%.c
99
+ $(BUILD) $(SFLAGS) -c $<
100
+
101
+ firework$(EXE_EXTENSION): $(demodir)/firework.c
102
+ $(BUILD) $(DEMOFLAGS) -o $@ $< $(LDFLAGS)
103
+
104
+ ozdemo$(EXE_EXTENSION): $(demodir)/ozdemo.c
105
+ $(BUILD) $(DEMOFLAGS) -o $@ $< $(LDFLAGS)
106
+
107
+ newtest$(EXE_EXTENSION): $(demodir)/newtest.c
108
+ $(BUILD) $(DEMOFLAGS) -o $@ $< $(LDFLAGS)
109
+
110
+ ptest$(EXE_EXTENSION): $(demodir)/ptest.c
111
+ $(BUILD) $(DEMOFLAGS) -o $@ $< $(LDFLAGS)
112
+
113
+ rain$(EXE_EXTENSION): $(demodir)/rain.c
114
+ $(BUILD) $(DEMOFLAGS) -o $@ $< $(LDFLAGS)
115
+
116
+ testcurs$(EXE_EXTENSION): $(demodir)/testcurs.c
117
+ $(BUILD) $(DEMOFLAGS) -o $@ $< $(LDFLAGS)
118
+
119
+ tuidemo$(EXE_EXTENSION): tuidemo.o tui.o
120
+ $(LINK) tui.o tuidemo.o -o $@ $(LDFLAGS)
121
+
122
+ worm$(EXE_EXTENSION): $(demodir)/worm.c
123
+ $(BUILD) $(DEMOFLAGS) -o $@ $< $(LDFLAGS)
124
+
125
+ xmas$(EXE_EXTENSION): $(demodir)/xmas.c
126
+ $(BUILD) $(DEMOFLAGS) -o $@ $< $(LDFLAGS)
127
+
128
+ sdltest$(EXE_EXTENSION): $(osdir)/sdltest.c
129
+ $(BUILD) $(SFLAGS) $(DEMOFLAGS) -o $@ $< $(LDFLAGS)
130
+
131
+ tui.o: $(demodir)/tui.c $(demodir)/tui.h
132
+ $(BUILD) -c $(DEMOFLAGS) $(demodir)/tui.c
133
+
134
+ tuidemo.o: $(demodir)/tuidemo.c
135
+ $(BUILD) -c $(DEMOFLAGS) $(demodir)/tuidemo.c
@@ -0,0 +1,164 @@
1
+ # Visual C++ & Intel(R) NMakefile for PDCurses library - Win32 VC++ 2.0+
2
+ #
3
+ # Note: currently NOT working (at least not with VC 2015)
4
+ #
5
+ # Usage: nmake -f [path\]Makefile.vc [DEBUG=] [DLL=] [WIDE=] [UTF8=]
6
+ # [ICC=] [CHTYPE_32=] [IX86=] [CHTYPE_16=] [target]
7
+ # [SDL_INCLUDE_DIR=path\to\SDL\includes] [SDL_LIB_DIR=path\to\SDL\libs]
8
+ #
9
+ # where target can be any of:
10
+ # [all|demos|pdcurses.lib|testcurs.exe...]
11
+
12
+ # CHTYPE_## is used to override the default 64-bit chtypes in favor
13
+ # of "traditional" 32- or 16-bit chtypes.
14
+ # IX86 is used to build 32-bit code instead of 64-bit
15
+ # ICC is used to invoke Intel (R) tools icl.exe and xilink.exe, instead of
16
+ # MS tools cl.exe and link.exe
17
+
18
+ O = obj
19
+
20
+ !ifndef PDCURSES_SRCDIR
21
+ PDCURSES_SRCDIR = ..
22
+ !endif
23
+
24
+ INCLUDES =
25
+
26
+ !ifdef SDL_INCLUDE_DIR
27
+ INCLUDES = $(INCLUDES) -I $(SDL_INCLUDE_DIR)
28
+ !endif
29
+
30
+ !ifndef SDL_LIB_DIR
31
+ SDL_LIB_DIR = .
32
+ !endif
33
+
34
+
35
+ !include $(PDCURSES_SRCDIR)\version.mif
36
+ !include $(PDCURSES_SRCDIR)\libobjs.mif
37
+
38
+ osdir = $(PDCURSES_SRCDIR)\sdl2
39
+
40
+ PDCURSES_WIN_H = $(osdir)\pdcsdl.h
41
+
42
+ !ifdef ICC
43
+ CC = icl.exe -nologo
44
+ LINK = xilink.exe -nologo
45
+ !else
46
+ CC = cl.exe -nologo
47
+ LINK = link.exe -nologo
48
+ !endif
49
+
50
+ !ifdef DEBUG
51
+ CFLAGS = $(INCLUDES) -Dmain=SDL_main -Z7 -DPDCDEBUG -MT -D_CRT_SECURE_NO_WARNINGS
52
+ LDFLAGS = -debug -pdb:none
53
+ !else
54
+ CFLAGS = $(INCLUDES) -Dmain=SDL_main -Ox -MT -W3 -D_CRT_SECURE_NO_WARNINGS
55
+ LDFLAGS =
56
+ !endif
57
+
58
+ LDFLAGS = $(LDFLAGS) /LIBPATH:$(SDL_LIB_DIR) SDL2.lib SDL2main.lib /ENTRY:SDL_main /SUBSYSTEM:Console
59
+
60
+ !ifdef WIDE
61
+ WIDEOPT = -DPDC_WIDE
62
+ LDFLAGS = $(LDFLAGS) SDL2_ttf.lib
63
+ !endif
64
+
65
+ !ifdef UTF8
66
+ UTF8OPT = -DPDC_FORCE_UTF8
67
+ !endif
68
+
69
+ !ifdef CHTYPE_32
70
+ CHTYPE_FLAGS= -DCHTYPE_32
71
+ !endif
72
+
73
+ !ifdef CHTYPE_16
74
+ CHTYPE_FLAGS= -DCHTYPE_16
75
+ !endif
76
+
77
+ SHL_LD = link $(LDFLAGS) /NOLOGO /DLL /OUT:pdcurses.dll
78
+
79
+ CCLIBS = user32.lib gdi32.lib advapi32.lib shell32.lib comdlg32.lib
80
+ # may need to add msvcrt.lib for VC 2.x, VC 5.0 doesn't want it
81
+ #CCLIBS = msvcrt.lib user32.lib gdi32.lib advapi32.lib comdlg32.lib
82
+
83
+ !ifdef WIDE
84
+ WIDEOPT = -DPDC_WIDE
85
+ !endif
86
+
87
+ LIBEXE = lib -nologo
88
+
89
+ LIBCURSES = pdcurses.lib
90
+ CURSESDLL = pdcurses.dll
91
+
92
+ !ifdef DLL
93
+ DLLOPT = -DPDC_DLL_BUILD
94
+ PDCLIBS = $(CURSESDLL)
95
+ !else
96
+ PDCLIBS = $(LIBCURSES)
97
+ !endif
98
+
99
+ BUILD = $(CC) -I$(PDCURSES_SRCDIR) -c $(CFLAGS) $(CHTYPE_FLAGS) $(DLLOPT) \
100
+ $(WIDEOPT) $(UTF8OPT)
101
+
102
+ all: $(PDCLIBS) $(DEMOS)
103
+
104
+ clean:
105
+ -del *.obj
106
+ -del *.lib
107
+ -del *.exe
108
+ -del *.dll
109
+ -del *.exp
110
+ -del *.res
111
+
112
+ DEMOOBJS = $(DEMOS:.exe=.obj) tui.obj
113
+
114
+ $(LIBOBJS) $(PDCOBJS) : $(PDCURSES_HEADERS)
115
+ $(PDCOBJS) : $(PDCURSES_WIN_H)
116
+ $(DEMOOBJS) : $(PDCURSES_CURSES_H)
117
+ $(DEMOS) : $(LIBCURSES)
118
+ panel.obj : $(PANEL_HEADER)
119
+ terminfo.obj: $(TERM_HEADER)
120
+
121
+ !ifndef DLL
122
+ $(LIBCURSES) : $(LIBOBJS) $(PDCOBJS)
123
+ $(LIBEXE) -out:$@ $(LIBOBJS) $(PDCOBJS)
124
+ -copy $(LIBCURSES) panel.lib
125
+ !endif
126
+
127
+ $(CURSESDLL) : $(LIBOBJS) $(PDCOBJS) pdcurses.obj
128
+ $(SHL_LD) $(LIBOBJS) $(PDCOBJS) pdcurses.obj $(CCLIBS)
129
+ -copy $(LIBCURSES) panel.lib
130
+
131
+ pdcurses.res pdcurses.obj: $(osdir)\pdcurses.rc $(osdir)\pdcurses.ico
132
+ rc /r /fopdcurses.res $(osdir)\pdcurses.rc
133
+ !ifdef IX86
134
+ cvtres /MACHINE:IX86 /NOLOGO /OUT:pdcurses.obj pdcurses.res
135
+ !else
136
+ cvtres /MACHINE:X64 /NOLOGO /OUT:pdcurses.obj pdcurses.res
137
+ !endif
138
+
139
+ {$(srcdir)\}.c{}.obj::
140
+ $(BUILD) $<
141
+
142
+ {$(osdir)\}.c{}.obj::
143
+ $(BUILD) $<
144
+
145
+ {$(demodir)\}.c{}.obj::
146
+ $(BUILD) $<
147
+
148
+ .obj.exe:
149
+ $(LINK) $< $(LDFLAGS) $(LIBCURSES) $(CCLIBS)
150
+
151
+ tuidemo.exe: tuidemo.obj tui.obj
152
+ $(LINK) $*.obj tui.obj $(LDFLAGS) $(LIBCURSES) $(CCLIBS)
153
+
154
+ tui.obj: $(demodir)\tui.c $(demodir)\tui.h
155
+ $(BUILD) -I$(demodir) $(demodir)\tui.c
156
+
157
+ tuidemo.obj: $(demodir)\tuidemo.c
158
+ $(BUILD) -I$(demodir) $(demodir)\tuidemo.c
159
+
160
+ PLATFORM1 = Visual C++
161
+ PLATFORM2 = Microsoft Visual C/C++ for Win32
162
+ ARCNAME = pdc$(VER)_vc_w32
163
+
164
+ !include $(PDCURSES_SRCDIR)\makedist.mif
@@ -0,0 +1,34 @@
1
+ PDCurses for SDL2
2
+ =================
3
+
4
+ This is a port of PDCurses for SDL2.
5
+
6
+
7
+ Building
8
+ --------
9
+
10
+ - Choose the appropriate makefile for your compiler:
11
+
12
+ Makefile - General Makefile, tested with GCC
13
+ Makefile.vc - Microsoft Visual C++ 2.0+ or later & Intel(R) compiler
14
+
15
+ - On *nix (including Linux and Mac OS X), run `make` in the sdl2
16
+ directory. It builds the library libpdcurses.a (dynamic lib not implemented).
17
+ The makefile accepts the optional parameters `DEBUG=Y`, `WIDE=Y` and `UTF8=Y`.
18
+ It also recognizes the optional `PDCURSES_SRCDIR` environment variable.
19
+
20
+
21
+ Distribution Status
22
+ -------------------
23
+
24
+ The files in this directory are released to the Public Domain.
25
+
26
+
27
+ Acknowledgements
28
+ ----------------
29
+
30
+ The original SDL port was provided by William McBrine.
31
+
32
+ The initial SDL2 support patch was created by Laura Michaels.
33
+
34
+ The SDL2 port was put together and further developed by Robin Gustafsson.