Commit 1f80b4106c8a0ca57d04f72d71beac3b0d6e3438

Authored by perry.werneck@gmail.com
1 parent 94652e6d

Implementando teste da classe jni

configure.ac
... ... @@ -132,6 +132,7 @@ case "$host" in
132 132 CFLAGS="$CFLAGS -mms-bitfields"
133 133 localedir="locale"
134 134 DLL_FLAGS="-shared -Wl,--add-stdcall-alias,--enable-stdcall-fixup"
  135 + DLLPREFIX=""
135 136  
136 137 # http://stackoverflow.com/questions/18138635/mingw-exe-requires-a-few-gcc-dlls-regardless-of-the-code
137 138 SYSDLL_FLAGS="-shared -static-libgcc -static-libstdc++ -Wl,--add-stdcall-alias,--enable-stdcall-fixup"
... ... @@ -159,6 +160,7 @@ case "$host" in
159 160 LDSOFLAGS="-Wl,-install_name,\`basename \$@\`"
160 161 LDARCH="-arch $build_cpu"
161 162 LDAPPFLAGS=""
  163 + DLLPREFIX="lib"
162 164 ;;
163 165  
164 166 *)
... ... @@ -171,6 +173,7 @@ case "$host" in
171 173 DBGRPATH="-Wl,--rpath,.bin/Debug/lib"
172 174 DBGCMDPREFIX="LD_LIBRARY_PATH=\$(BINDIR)/Debug/lib"
173 175 JNI_CPPFLAGS="-I\$(JDK_HOME)/include -I\$(JDK_HOME)/include/linux"
  176 + DLLPREFIX="lib"
174 177  
175 178 esac
176 179  
... ... @@ -627,6 +630,7 @@ AC_SUBST(DLL_FLAGS)
627 630 AC_SUBST(SYSDLL_FLAGS)
628 631 AC_SUBST(DLL_CFLAGS)
629 632 AC_SUBST(DLLDIR)
  633 +AC_SUBST(DLLPREFIX)
630 634 AC_SUBST(LDSOFLAGS)
631 635 AC_SUBST(LDAPPFLAGS)
632 636 AC_SUBST(LDLIBFLAGS)
... ...
src/java/Makefile.in
... ... @@ -74,12 +74,12 @@ CXXFLAGS=@CXXFLAGS@ @DLL_CFLAGS@ @JNI_CPPFLAGS@ -I../include
74 74  
75 75 #---[ Rules ]------------------------------------------------------------------
76 76  
77   -$(OBJDBG)/%.o: %.cc Makefile *.h
  77 +$(OBJDBG)/%.o: %.cc Makefile private.h jni3270.h
78 78 @echo " CC `basename $@`"
79 79 @mkdir -p `dirname $@`
80 80 $(CXX) -DDEBUG=1 $(CXXFLAGS) -o $@ -c $<
81 81  
82   -$(OBJRLS)/%.o: %.cc Makefile *.h
  82 +$(OBJRLS)/%.o: %.cc Makefile private.h jni3270.h
83 83 @echo " CC `basename $@`"
84 84 @mkdir -p `dirname $@`
85 85 @$(CXX) -DNDEBUG=1 $(CXXFLAGS) -o $@ -c $<
... ... @@ -96,11 +96,11 @@ $(BINDIR)/java/$(PACKAGE_NAME)/%.class: %.java
96 96  
97 97 #---[ Release targets ]--------------------------------------------------------
98 98  
99   -all: $(BINRLS)/jni3270@DLLEXT@
  99 +all: $(BINRLS)/@DLLPREFIX@jni3270@DLLEXT@
100 100  
101   -Release: $(BINRLS)/jni3270@DLLEXT@
  101 +Release: $(BINRLS)/@DLLPREFIX@jni3270@DLLEXT@
102 102  
103   -$(BINRLS)/jni3270@DLLEXT@: $(foreach SRC, $(basename $(SOURCES)), $(OBJRLS)/$(SRC)@OBJEXT@) \
  103 +$(BINRLS)/@DLLPREFIX@jni3270@DLLEXT@: $(foreach SRC, $(basename $(SOURCES)), $(OBJRLS)/$(SRC)@OBJEXT@) \
104 104 $(CLASS_RELEASE_OBJECTS)
105 105 @echo " LD `basename $@`"
106 106 @$(MKDIR) `dirname $@`
... ... @@ -109,16 +109,17 @@ $(BINRLS)/jni3270@DLLEXT@: $(foreach SRC, $(basename $(SOURCES)), $(OBJRLS)/$(SR
109 109  
110 110 #---[ Debug targets ]----------------------------------------------------------
111 111  
112   -Debug: $(BINDBG)/jni3270@DLLEXT@
  112 +Debug: $(BINDBG)/@DLLPREFIX@jni3270@DLLEXT@ $(BINDIR)/java/testprogram.class
113 113  
114   -$(BINDBG)/jni3270@DLLEXT@: $(foreach SRC, $(basename $(SOURCES)), $(OBJDBG)/$(SRC)@OBJEXT@) \
  114 +$(BINDBG)/@DLLPREFIX@jni3270@DLLEXT@: $(foreach SRC, $(basename $(SOURCES)), $(OBJDBG)/$(SRC)@OBJEXT@) \
115 115 $(CLASS_DEBUG_OBJECTS)
116 116 @echo " LD `basename $@`"
117 117 @$(MKDIR) `dirname $@`
118 118 @$(CXX) @SYSDLL_FLAGS@ $(LDFLAGS) $(OO_LDFLAGS) -o $@ $^ $(CLASS_LIBS)
119 119  
120 120  
121   -run: $(BINDBG)/jni3270@DLLEXT@
  121 +run: $(BINDBG)/@DLLPREFIX@jni3270@DLLEXT@ $(BINDIR)/java/testprogram.class
  122 + java -Djava.library.path=$(BINDBG) -cp .bin/java/ testprogram
122 123  
123 124 #---[ Misc targets ]-----------------------------------------------------------
124 125  
... ... @@ -128,7 +129,7 @@ jni3270.h: $(BINDIR)/java/$(PACKAGE_NAME)/terminal.class
128 129 $(JAVAH) -o $@ -classpath $(BINDIR)/java $(PACKAGE_NAME).terminal
129 130  
130 131  
131   -install: $(BINRLS)/jni3270@DLLEXT@
  132 +install: $(BINRLS)/@DLLPREFIX@jni3270@DLLEXT@
132 133  
133 134 cleanDebug: clean
134 135  
... ...
src/java/jni3270.cbp
... ... @@ -8,19 +8,25 @@
8 8 <Option compiler="gcc" />
9 9 <Build>
10 10 <Target title="Debug">
11   - <Option output="jni3270" imp_lib="$(TARGET_OUTPUT_DIR)$(TARGET_OUTPUT_BASENAME).a" def_file="$(TARGET_OUTPUT_DIR)$(TARGET_OUTPUT_BASENAME).def" prefix_auto="0" extension_auto="1" />
  11 + <Option output=".bin/Debug/jni3270" imp_lib="$(TARGET_OUTPUT_DIR)$(TARGET_OUTPUT_BASENAME).a" def_file="$(TARGET_OUTPUT_DIR)$(TARGET_OUTPUT_BASENAME).def" prefix_auto="1" extension_auto="1" />
12 12 <Option object_output=".obj/Debug/" />
13 13 <Option type="3" />
14 14 <Option compiler="gcc" />
  15 + <Option parameters="-Djava.library.path=.bin/Debug -cp .bin/java/ testprogram " />
  16 + <Option host_application="java" />
  17 + <Option run_host_application_in_terminal="1" />
15 18 <Compiler>
16 19 <Add option="-g" />
17 20 </Compiler>
18 21 </Target>
19 22 <Target title="Release">
20   - <Option output=".bin/Release/jni3270" imp_lib="$(TARGET_OUTPUT_DIR)$(TARGET_OUTPUT_BASENAME).a" def_file="$(TARGET_OUTPUT_DIR)$(TARGET_OUTPUT_BASENAME).def" prefix_auto="0" extension_auto="1" />
  23 + <Option output=".bin/Release/jni3270" imp_lib="$(TARGET_OUTPUT_DIR)$(TARGET_OUTPUT_BASENAME).a" def_file="$(TARGET_OUTPUT_DIR)$(TARGET_OUTPUT_BASENAME).def" prefix_auto="1" extension_auto="1" />
21 24 <Option object_output=".obj/Release/" />
22 25 <Option type="3" />
23 26 <Option compiler="gcc" />
  27 + <Option parameters="-Djava.library.path=.bin/Release -cp .bin/java/ testprogram" />
  28 + <Option host_application="java" />
  29 + <Option run_host_application_in_terminal="1" />
24 30 <Compiler>
25 31 <Add option="-O2" />
26 32 </Compiler>
... ...
src/java/terminal.java
... ... @@ -53,7 +53,7 @@ public class terminal
53 53  
54 54 static
55 55 {
56   - System.loadLibrary("pw3270_jni");
  56 + System.loadLibrary("jni3270");
57 57 }
58 58  
59 59 };
... ...