diff --git a/configure.ac b/configure.ac
index d4caa33..efb8cf6 100644
--- a/configure.ac
+++ b/configure.ac
@@ -351,10 +351,14 @@ else
AC_DEFINE(HAVE_REXX)
AC_PATH_TOOL([REXXC], [rexxc], [cp], `$REXXCONFIG --prefix`/bin )
PLUGINS="$PLUGINS rx3270"
+ REXX_CFLAGS="$CFLAGS `$REXXCONFIG --cflags`"
+ REXX_LIBS="$LIBS `$REXXCONFIG --libs`"
fi
AC_SUBST(REXXC)
AC_SUBST(REXXCONFIG)
+AC_SUBST(REXX_CFLAGS)
+AC_SUBST(REXX_LIBS)
#--[ Pre-reqs ]-----------------------------------------------------------------------------------------------------------------------------------------------
AC_SUBST(LIB3270_REQUIRES)
diff --git a/pw3270.cbp b/pw3270.cbp
index 7ec758c..8414037 100644
--- a/pw3270.cbp
+++ b/pw3270.cbp
@@ -235,6 +235,7 @@
+
diff --git a/src/include/plugin.mak.in b/src/include/plugin.mak.in
index f698f95..40a3028 100644
--- a/src/include/plugin.mak.in
+++ b/src/include/plugin.mak.in
@@ -54,6 +54,8 @@ DLL_FLAGS=@DLL_FLAGS@
DLL_CFLAGS=@DLL_CFLAGS@
DEBUG_CFLAGS=-DDEBUG=1 -g -Wall
LIB3270_MODE ?= Default
+DLL_NAME=@DLLDIR@/@DLLPREFIX@$(MODULE_NAME)@DLLEXT@.@VERSION@
+PLUGIN_NAME=plugins/$(MODULE_NAME)@DLLEXT@
ifeq ($(LIB3270_MODE),Debug)
PW3270_LIBS="-L$(BINDBG)@DLLDIR@ -l3270"
diff --git a/src/plugins/rx3270/Makefile.in b/src/plugins/rx3270/Makefile.in
index 44d8871..16ffaa2 100644
--- a/src/plugins/rx3270/Makefile.in
+++ b/src/plugins/rx3270/Makefile.in
@@ -22,41 +22,47 @@
#
# perry.werneck@gmail.com (Alexandre Perry de Souza Werneck)
# erico.mendonca@gmail.com (Erico Mascarenhas de Mendonça)
-# licinio@bb.com.br (Licínio Luis Branco)
-# kraucer@bb.com.br (Kraucer Fernandes Mazuco)
#
#---[ Sources ]----------------------------------------------------------------
MODULE_NAME=rx3270
-DEPENDS=*.h *.c ../../include/*.h ../../include/lib3270/*.h Makefile
+DEPENDS=*.h ../../include/*.h ../../include/lib3270/*.h Makefile
PLUGIN_SRC=pluginmain.c
EXTAPI_SRC=rxapimain.c
+#---[ Tools ]------------------------------------------------------------------
+
+REXXCONFIG=@REXXCONFIG@
+LN_S=@LN_S@
+
+LIBS=@REXX_LIBS@
+CFLAGS=@REXX_CFLAGS@
+
#---[ Include plugin rules ]---------------------------------------------------
include ../../include/plugin.mak
#---[ Debug Targets ]----------------------------------------------------------
-$(BINDBG)/plugins/$(MODULE_NAME)@DLLEXT@: $(foreach SRC, $(basename $(PLUGIN_SRC)), $(OBJDBG)/$(SRC).o) $(BINDBG)/lib$(MODULE_NAME)@DLLEXT@
+$(BINDBG)/$(PLUGIN_NAME): $(foreach SRC, $(basename $(PLUGIN_SRC)), $(OBJDBG)/$(SRC).o) $(BINDBG)$(DLL_NAME)
@echo " CCLD `basename $@`"
@$(MKDIR) `dirname $@`
@$(LD) $(DLL_FLAGS) $(LDSOFLAGS) $(LDFLAGS) -o $@ $^ $(LIBS) $(PW3270_LIBS) $(GTK_LIBS)
-$(BINDBG)/lib$(MODULE_NAME)@DLLEXT@: $(foreach SRC, $(basename $(EXTAPI_SRC)), $(OBJDBG)/$(SRC).o)
+$(BINDBG)$(DLL_NAME): $(foreach SRC, $(basename $(EXTAPI_SRC)), $(OBJDBG)/$(SRC)@OBJEXT@)
@echo " CCLD `basename $@`"
@$(MKDIR) `dirname $@`
- @$(LD) $(DLL_FLAGS) $(LDSOFLAGS) $(LDFLAGS) -o $@ $^ $(LIBS) $(LIB3270_LIBS)
+ @$(LD) $(DLL_FLAGS) $(LDFLAGS) @DBGRPATH@ @LDSOFLAGS@ -o $@ $^ $(LIBS) $(LIB3270_LIBS)
#---[ Release Targets ]--------------------------------------------------------
-$(BINRLS)/plugins/$(MODULE_NAME)@DLLEXT@: $(foreach SRC, $(basename $(PLUGIN_SRC)), $(OBJRLS)/$(SRC).o) $(BINRLS)/lib$(MODULE_NAME)@DLLEXT@
+$(BINRLS)/$(PLUGIN_NAME): $(foreach SRC, $(basename $(PLUGIN_SRC)), $(OBJRLS)/$(SRC).o) $(BINRLS)$(DLL_NAME)
@echo " CCLD `basename $@`"
@$(MKDIR) `dirname $@`
@$(LD) $(DLL_FLAGS) $(LDSOFLAGS) $(LDFLAGS) -o $@ $^ $(LIBS) $(PW3270_LIBS) $(GTK_LIBS)
-$(BINRLS)/lib$(MODULE_NAME)@DLLEXT@: $(foreach SRC, $(basename $(EXTAPI_SRC)), $(OBJRLS)/$(SRC).o)
+$(BINRLS)$(DLL_NAME): $(foreach SRC, $(basename $(EXTAPI_SRC)), $(OBJRLS)/$(SRC).o)
@echo " CCLD `basename $@`"
@$(MKDIR) `dirname $@`
@$(LD) $(DLL_FLAGS) $(LDSOFLAGS) $(LDFLAGS) -o $@ $^ $(LIBS) $(LIB3270_LIBS)
diff --git a/src/plugins/rx3270/pluginmain.c b/src/plugins/rx3270/pluginmain.c
index 0f675a3..aca0f70 100644
--- a/src/plugins/rx3270/pluginmain.c
+++ b/src/plugins/rx3270/pluginmain.c
@@ -29,8 +29,8 @@
#include
#include
- #include
- #include
+
+ #include "rx3270.h"
/*--[ Implement ]------------------------------------------------------------------------------------*/
diff --git a/src/plugins/rx3270/rx3270.h b/src/plugins/rx3270/rx3270.h
index e69de29..6b3840e 100644
--- a/src/plugins/rx3270/rx3270.h
+++ b/src/plugins/rx3270/rx3270.h
@@ -0,0 +1,48 @@
+/*
+ * "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270
+ * (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a
+ * aplicativos mainframe. Registro no INPI sob o nome G3270.
+ *
+ * Copyright (C) <2008>
+ *
+ * Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob
+ * os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela
+ * Free Software Foundation.
+ *
+ * Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER
+ * GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO
+ * A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para
+ * obter mais detalhes.
+ *
+ * Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este
+ * programa; se não, escreva para a Free Software Foundation, Inc., 59 Temple
+ * Place, Suite 330, Boston, MA, 02111-1307, USA
+ *
+ * Este programa está nomeado como pluginmain.c e possui - linhas de código.
+ *
+ * Contatos:
+ *
+ * perry.werneck@gmail.com (Alexandre Perry de Souza Werneck)
+ * erico.mendonca@gmail.com (Erico Mascarenhas Mendonça)
+ *
+ */
+
+#ifndef RX3270_H_INCLUDED
+
+ #define RX3270_H_INCLUDED 1
+
+ #include
+ #include
+ #include
+ #include
+ #include
+
+/*---[ Exports ]---------------------------------------------------------------------------------------------*/
+
+ LIB3270_EXPORT RexxRoutineEntry rx3270_functions[];
+ LIB3270_EXPORT RexxPackageEntry rx3270_package_entry;
+
+/*---[ Globals ]---------------------------------------------------------------------------------------------*/
+
+
+#endif // RX3270_H_INCLUDED
diff --git a/src/plugins/rx3270/rxapimain.c b/src/plugins/rx3270/rxapimain.c
index 941c189..ae6468e 100644
--- a/src/plugins/rx3270/rxapimain.c
+++ b/src/plugins/rx3270/rxapimain.c
@@ -26,3 +26,95 @@
* erico.mendonca@gmail.com (Erico Mascarenhas Mendonça)
*
*/
+
+ /*
+ * Reference:
+ *
+ * http://www.oorexx.org/docs/rexxpg/x2950.htm
+ *
+ */
+
+ #include
+ #include
+ #include
+
+ #include "rx3270.h"
+
+// create function declarations for the linker
+REXX_TYPED_ROUTINE_PROTOTYPE(rx3270LoadFuncs);
+REXX_TYPED_ROUTINE_PROTOTYPE(rx3270DropFuncs);
+REXX_TYPED_ROUTINE_PROTOTYPE(rx3270Version);
+
+/*--[ Globals ]--------------------------------------------------------------------------------------*/
+
+#if defined WIN32
+ BOOL WINAPI DllMain(HANDLE hinst, DWORD dwcallpurpose, LPVOID lpvResvd);
+ static int librx3270_loaded(void);
+ static int librx3270_unloaded(void);
+#else
+ int librx3270_loaded(void) __attribute__((constructor));
+ int librx3270_unloaded(void) __attribute__((destructor));
+#endif
+
+/*--[ Rexx Package description ]---------------------------------------------------------------------*/
+
+
+// now build the actual entry list
+RexxRoutineEntry rx3270_functions[] =
+{
+ REXX_TYPED_ROUTINE(rx3270Version, rx3270Version),
+ REXX_LAST_ROUTINE()
+};
+
+RexxPackageEntry rx3270_package_entry =
+{
+ STANDARD_PACKAGE_HEADER
+ REXX_INTERPRETER_4_0_0, /**> anything after 4.0.0 will work */
+ "RX3270", /**> name of the package */
+ PACKAGE_VERSION, /**> package information */
+ NULL, /**> no load/unload functions */
+ NULL, /**> no load/unload functions */
+ rx3270_functions, /**> the exported functions */
+ NULL /**> no methods in rx3270. */
+};
+
+// package loading stub.
+OOREXX_GET_PACKAGE(rx3270);
+
+/*--[ Implement ]------------------------------------------------------------------------------------*/
+
+#if defined WIN32
+BOOL WINAPI DllMain(HANDLE hinst, DWORD dwcallpurpose, LPVOID lpvResvd)
+{
+ switch(dwcallpurpose)
+ {
+ case DLL_PROCESS_ATTACH:
+ librx3270_loaded();
+ break;
+
+ case DLL_PROCESS_DETACH:
+ librx3270_unloaded();
+ break;
+ }
+
+ return TRUE;
+}
+#endif // WIN32
+
+int librx3270_loaded(void)
+{
+ trace("%s %s %s",__FUNCTION__,__DATE__,__TIME__);
+ return 0;
+}
+
+int librx3270_unloaded(void)
+{
+ trace("%s",__FUNCTION__);
+ return 0;
+}
+
+RexxRoutine0(CSTRING, rx3270Version)
+{
+ return "teste"; // lib3270_get_version();
+}
+
--
libgit2 0.21.2