Commit e35715caa7311d7b84a55760977b81303246ccaf

Authored by Perry Werneck
1 parent 56079d5e
Exists in master and in 1 other branch develop

Adjustments to build in MSC

.gitignore
... ... @@ -24,5 +24,6 @@ vgcore.*
24 24 doxygen/doxyfile
25 25 doxygen/html
26 26 *.obj
  27 +*.bat
27 28  
28 29  
... ...
client/src/testprogram/testprogram.cc
... ... @@ -36,7 +36,11 @@
36 36 *
37 37 */
38 38  
  39 +#ifndef _WIN32
39 40 #include <getopt.h>
  41 + #pragma GCC diagnostic ignored "-Wunused-function"
  42 +#endif // _WIN32
  43 +
40 44 #include <cstdlib>
41 45 #include <lib3270.h>
42 46 #include <lib3270/ipc.h>
... ... @@ -44,8 +48,6 @@
44 48  
45 49 using namespace std;
46 50  
47   - #pragma GCC diagnostic ignored "-Wunused-function"
48   -
49 51 /*---[ Implement ]----------------------------------------------------------------------------------*/
50 52  
51 53 /*
... ... @@ -173,6 +175,7 @@
173 175  
174 176 const char * session = ""; // ":a";
175 177  
  178 +#ifndef _WIN32
176 179 #pragma GCC diagnostic push
177 180 #pragma GCC diagnostic ignored "-Wzero-as-null-pointer-constant"
178 181 static struct option options[] = {
... ... @@ -194,6 +197,7 @@
194 197 }
195 198  
196 199 }
  200 +#endif // _WIN32
197 201  
198 202 cout << "Session: " << session << endl;
199 203  
... ...
ipc3270.exp 0 → 100644
No preview for this file type
ipc3270.lib 0 → 100644
No preview for this file type
win/Makefile.msc
... ... @@ -24,318 +24,60 @@
24 24 # erico.mendonca@gmail.com (Erico Mascarenhas de Mendonça)
25 25 #
26 26  
27   -#---[ Library configuration ]------------------------------------------------------------
28   -
29   -MODULE_NAME=ipc3270
30   -PACKAGE_NAME=ipc3270
31   -PRODUCT_NAME=pw3270
32   -
33   -MAIN_SOURCES= \
34   - $(wildcard src/core/*.cc) \
35   - $(wildcard src/core/windows/*.cc) \
36   - $(wildcard src/core/windows/*.rc) \
37   - $(wildcard src/host/*.cc) \
38   - $(wildcard src/session/*.cc) \
39   - $(wildcard src/session/local/*.cc) \
40   - $(wildcard src/session/remote/*.cc) \
41   - $(wildcard src/session/remote/windows/*.cc)
42   -
43   -DYNAMIC_SOURCES= \
44   - $(wildcard src/core/windows/dynamic/*.cc)
45   -
46   -TEST_SOURCES= \
47   - $(wildcard src/testprogram/*.cc)
48   -
49   -TARGETS= \
50   - windows-lib devel static
51   -
52   -#---[ Tools ]----------------------------------------------------------------------------
53   -
54   -CXX=
55   -LD=
56   -MKDIR=
57   -
58   -#---[ Paths ]----------------------------------------------------------------------------
59   -
60   -BASEDIR ?=..
61   -
62   -OBJDIR=.obj/$(MODULE_NAME)
63   -OBJDBG=$(OBJDIR)/Debug
64   -OBJRLS=$(OBJDIR)/Release
65   -
66   -BINDIR=$(BASEDIR)/.bin
67   -BINDBG=$(BINDIR)/Debug
68   -BINRLS=$(BINDIR)/Release
69   -
70   -#---[ Rules ]----------------------------------------------------------------------------
71   -
72   -DEPENDS= \
73   - Makefile \
74   - src/include/*.h \
75   - $(BASEDIR)/common/src/include/*.h \
76   - $(BASEDIR)/client/src/include/lib3270/*.h \
77   - $(BASEDIR)/client/src/include/lib3270/ipc/*.h \
78   -
79   -CFLAGS= \
80   - /favor:AMD64 \
81   - /c \
82   - /EHsc \
83   - /I "$(BASEDIR)/client/src/include" \
84   - /I "$(BASEDIR)/common/src/include" \
85   - /I "C:/Program Files/pw3270/sdk/include" \
86   - /I "$(VCPKG_ROOT)/x64-windows-static/include
87   -
88   -#LIBS=
89   -
90   -
91   -#---[ Debug Rules ]----------------------------------------------------------------------
92   -
93   -$(OBJDBG)/%.o: \
94   - %.cc \
95   - $(DEPENDS)
96   -
97   - @echo $< ...
98   - @$(MKDIR) $(@D)
99   -
100   - @$(CXX) \
101   - $(CFLAGS) \
102   - -Wall -Wextra -fstack-check \
103   - -DDEBUG=1 \
104   - -o $@ \
105   - -c $<
106   -
107   -$(OBJDBG)/%.o: \
108   - %.rc
109   -
110   - @echo $< ...
111   - @$(MKDIR) $(@D)
112   - @$(WINDRES) $< -O coff -o $@
113   -
114   -#---[ Release Rules ]--------------------------------------------------------------------
115   -
116   -$(OBJRLS)/%.o: \
117   - %.cc \
118   - $(DEPENDS)
119   -
120   - @echo $< ...
121   - @$(MKDIR) $(@D)
122   - @$(CXX) \
123   - $(CFLAGS) \
124   - -DNDEBUG=1 \
125   - -o $@ \
126   - -c $<
127   -
128   -$(OBJRLS)/%.o: \
129   - %.rc
130   -
131   - @echo $< ...
132   - @$(MKDIR) $(@D)
133   - @$(WINDRES) $< -O coff -o $@
134   -
135   -#---[ Release Targets ]------------------------------------------------------------------
136   -
137   -all: \
138   - $(BINRLS)/lib$(MODULE_NAME).dll \
139   - $(BINRLS)/lib$(MODULE_NAME).a \
140   - $(POTDIR)/$(MODULE_NAME).pot
141   -
142   -Release: \
143   - $(BINRLS)/lib$(MODULE_NAME).dll \
144   - $(BINRLS)/lib$(MODULE_NAME).static.a
145   -
146   -$(BINRLS)/lib$(MODULE_NAME).dll: \
147   - $(foreach SRC, $(basename $(MAIN_SOURCES)), $(OBJRLS)/$(SRC).o) \
148   - $(foreach SRC, $(basename $(DYNAMIC_SOURCES)), $(OBJRLS)/$(SRC).o)
149   -
150   - @$(MKDIR) $(@D)
151   - @echo $< ...
152   - @$(LD) \
153   - -shared -static-libgcc -static-libstdc++ -Wl,--output-def,$(@D)/\lib$(MODULE_NAME).def \
154   - -Wl,-soname,$(@F) \
155   - -o $@ \
156   - $(LDFLAGS) \
157   - $^ \
158   - $(LIBS)
159   -
160   -$(BINRLS)/lib$(MODULE_NAME).static.a: \
161   - $(foreach SRC, $(basename $(MAIN_SOURCES)), $(OBJRLS)/$(SRC).o)
162   -
163   - @$(MKDIR) $(@D)
164   - @echo $< ...
165   -
166   - @$(AR) rcs $@ $^
167   -
168   -
169   -#---[ Install Targets ]------------------------------------------------------------------
170   -
171   -install: \
172   - $(foreach TARGET, $(TARGETS), install-$(TARGET))
173   -
174   -install-linux-lib: \
175   - $(BINRLS)/lib$(MODULE_NAME).dll
176   -
177   - @$(MKDIR) \
178   - $(DESTDIR)$(libdir)
179   -
180   - @$(INSTALL_PROGRAM) \
181   - $(BINRLS)/lib$(MODULE_NAME).dll \
182   - $(DESTDIR)$(libdir)/lib$(MODULE_NAME).dll.5.2
183   -
184   - @$(LN_S) \
185   - lib$(MODULE_NAME).dll.5.2 \
186   - $(DESTDIR)$(libdir)/lib$(MODULE_NAME).dll
187   -
188   -install-windows-lib: \
189   - $(BINRLS)/lib$(MODULE_NAME).dll
190   -
191   - @$(MKDIR) \
192   - $(DESTDIR)$(bindir)
193   -
194   - @$(INSTALL_PROGRAM) \
195   - $(BINRLS)/lib$(MODULE_NAME).dll \
196   - $(DESTDIR)$(bindir)/lib$(MODULE_NAME).dll
197   -
198   - @$(MKDIR) \
199   - $(DESTDIR)$(libdir)
200   -
201   - @$(DLLTOOL) \
202   - --input-def $(BINRLS)/lib$(MODULE_NAME).def \
203   - --dllname lib$(MODULE_NAME).dll \
204   - --output-lib $(DESTDIR)$(libdir)/lib$(MODULE_NAME).dll.a
205   -
206   - @$(MKDIR) \
207   - $(DESTDIR)$(datarootdir)/$(PRODUCT_NAME)/def
208   -
209   - @$(INSTALL_DATA) \
210   - $(BINRLS)/lib$(MODULE_NAME).def \
211   - $(DESTDIR)$(datarootdir)/$(PRODUCT_NAME)/def
212   -
213   -install-static: \
214   - $(BINRLS)/lib$(MODULE_NAME).static.a
215   -
216   - @$(MKDIR) \
217   - $(DESTDIR)$(libdir)
218   -
219   - @$(INSTALL_PROGRAM) \
220   - $(BINRLS)/lib$(MODULE_NAME).static.a \
221   - $(DESTDIR)$(libdir)
222   -
223   - @$(MKDIR) \
224   - $(DESTDIR)$(libdir)/pkgconfig
225   -
226   - @$(INSTALL_DATA) \
227   - sdk/ipc3270-static.pc \
228   - $(DESTDIR)$(libdir)/pkgconfig/ipc3270-static.pc
229   -
230   -install-devel:
231   -
232   - @$(MKDIR) \
233   - $(DESTDIR)$(includedir)/lib3270
234   -
235   - @$(MKDIR) \
236   - $(DESTDIR)$(includedir)/lib3270/ipc
237   -
238   - @$(INSTALL_DATA) \
239   - src/include/lib3270/ipc.h \
240   - $(DESTDIR)$(includedir)/lib3270
241   -
242   - @$(INSTALL_DATA) \
243   - src/include/lib3270/ipc/*.h \
244   - $(DESTDIR)$(includedir)/lib3270/ipc
245   -
246   - # Install PKG-CONFIG files
247   - @$(MKDIR) \
248   - $(DESTDIR)$(libdir)/pkgconfig
249   -
250   - @$(INSTALL_DATA) \
251   - sdk/ipc3270.pc \
252   - $(DESTDIR)$(libdir)/pkgconfig/ipc3270.pc
253   -
254   -#---[ Misc Targets ]---------------------------------------------------------------------
255   -
256   -$(POTDIR)/$(MODULE_NAME).pot: \
257   - $(foreach SRC, $(basename $(MAIN_SOURCES)), $(POTDIR)/$(MODULE_NAME)/$(SRC).pot)
258   -
259   - @rm -f $@
260   - @mkdir -p `dirname $@`
261   - @$(MSGCAT) --sort-output $^ > $@
262   -
263   -locale: \
264   - $(POTDIR)/$(MODULE_NAME).pot
265   -
266   -
267   -#---[ Debug Targets ]--------------------------------------------------------------------
268   -
269   -Debug: \
270   - $(BINDBG)/$(MODULE_NAME)-client.exe
271   -
272   -$(BINDBG)/$(MODULE_NAME)-client.exe: \
273   - $(foreach SRC, $(basename $(TEST_SOURCES)), $(OBJDBG)/$(SRC).o) \
274   - $(BINDBG)/lib$(MODULE_NAME).dll
275   -
276   - @$(MKDIR) $(@D)
277   - @echo $< ...
278   - @$(LD) \
279   - -o $@ \
280   - $^ \
281   - -L$(BINDBG) \
282   - -Wl,-rpath,$(BINDBG) \
283   - \
284   - $(LDFLAGS) \
285   - $(LIBS)
286   -
287   -
288   -$(BINDBG)/lib$(MODULE_NAME).dll: \
289   - $(foreach SRC, $(basename $(MAIN_SOURCES)), $(OBJDBG)/$(SRC).o) \
290   - $(foreach SRC, $(basename $(DYNAMIC_SOURCES)), $(OBJDBG)/$(SRC).o)
291   -
292   - @$(MKDIR) $(@D)
293   - @echo $< ...
294   - @$(LD) \
295   - -shared -static-libgcc -static-libstdc++ -Wl,--output-def,$(@D)/\lib$(MODULE_NAME).def \
296   - -Wl,-soname,$(@F) \
297   - -o $@ \
298   - $(LDFLAGS) \
299   - $^ \
300   - $(LIBS)
301   -
302   -
303   -run: \
304   - $(BINDBG)/$(MODULE_NAME)-client.exe
305   -
306   -ifeq ($(VALGRIND),no)
307   -
308   - @LD_LIBRARY_PATH=$(BINDBG) \
309   - $(BINDBG)/$(MODULE_NAME)-client.exe
310   -
311   -else
312   - @touch valgrind.suppression
313   -
314   - @LD_LIBRARY_PATH=$(BINDBG) \
315   - $(VALGRIND) --leak-check=full --track-origins=yes --gen-suppressions=all --suppressions=valgrind.suppression \
316   - $(BINDBG)/$(MODULE_NAME)-client.exe
317   -endif
318   -
319   -#---[ Clean Targets ]--------------------------------------------------------------------
320   -
321   -clean: \
322   - cleanDebug \
323   - cleanRelease
324   -
325   -cleanDebug:
326   -
327   - @rm -fr $(OBJDBG)
328   - @rm -fr $(BINDBG)
329   -
330   -cleanRelease:
331   -
332   - @rm -fr $(OBJRLS)
333   - @rm -fr $(BINRLS)
334   - @rm -fr $(POTDIR)
335   - @rm -f $(MODULE_NAME).pot
336   -
337   -clean: \
338   - cleanDebug \
339   - cleanRelease
340   -
341   -
  27 +OBJ_FILES= \
  28 + client\src\core\abstract.obj \
  29 + client\src\core\actions.obj \
  30 + client\src\core\attribute.obj \
  31 + client\src\core\constants.obj \
  32 + client\src\core\events.obj \
  33 + client\src\core\session.obj \
  34 + client\src\core\windows\attribute.obj \
  35 + client\src\core\windows\pop.obj \
  36 + client\src\core\windows\push.obj \
  37 + client\src\core\windows\request.obj \
  38 + client\src\core\windows\tools.obj \
  39 + client\src\host\actions.obj \
  40 + client\src\host\init.obj \
  41 + client\src\host\pop.obj \
  42 + client\src\host\properties.obj \
  43 + client\src\host\push.obj \
  44 + client\src\host\states.obj \
  45 + client\src\host\stream.obj \
  46 + client\src\host\string.obj \
  47 + client\src\session\action.obj \
  48 + client\src\session\get.obj \
  49 + client\src\session\set.obj \
  50 + client\src\session\tools.obj \
  51 + client\src\session\local\actions.obj \
  52 + client\src\session\local\attribute.obj \
  53 + client\src\session\local\events.obj \
  54 + client\src\session\local\get.obj \
  55 + client\src\session\local\init.obj \
  56 + client\src\session\local\set.obj \
  57 + client\src\session\local\wait.obj \
  58 + client\src\session\remote\actions.obj \
  59 + client\src\session\remote\attribute.obj \
  60 + client\src\session\remote\get.obj \
  61 + client\src\session\remote\properties.obj \
  62 + client\src\session\remote\set.obj \
  63 + client\src\session\remote\tools.obj \
  64 + client\src\session\remote\wait.obj \
  65 + client\src\session\remote\windows\request.obj \
  66 + client\src\session\remote\windows\session.obj \
  67 + client\src\testprogram\testprogram.obj
  68 +
  69 +.cc.obj:
  70 + @echo Compiling...
  71 + $(CPP) \
  72 + /c \
  73 + /I"C:\msys64\project\pw3270\ipc\client\src\include" \
  74 + /I"c:\Program Files\pw3270\sdk\include" \
  75 + /EHsc \
  76 + /Fo"$@" \
  77 + $<
  78 +
  79 +ipc3270.dll: \
  80 + $(OBJ_FILES)
  81 + link \
  82 + /OUT:"$@" \
  83 + $(OBJ_FILES)
... ...