From 3aa3f160ee2ce4a9355784c725874e80258bd2dc Mon Sep 17 00:00:00 2001 From: Perry Werneck Date: Sat, 31 Oct 2015 16:32:37 -0200 Subject: [PATCH] Incorporando módulo python no projeto principal. --- Makefile.in | 11 +++++++++++ configure.ac | 21 ++++++++++++++++++++- src/python/Makefile.in | 119 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 150 insertions(+), 1 deletion(-) create mode 100644 src/python/Makefile.in diff --git a/Makefile.in b/Makefile.in index b03fcf9..42e71a8 100644 --- a/Makefile.in +++ b/Makefile.in @@ -186,6 +186,13 @@ $(BINDIR)/Release/@DLLPREFIX@jni3270@DLLEXT@: src/java/* @$(MKDIR) `dirname $@` @$(MAKE) BINDIR="../../$(BINDIR)" LIB3270_LIBS="$(RLSLIB)" LIB3270_CFLAGS="-I../../src/include" -C src/java Release +python: $(BINDIR)/Release/py3270@DLLEXT@ + +$(BINDIR)/Release/py3270.so: src/python/* + @$(MAKE) -C src/python Release + @$(MKDIR) `dirname $@` + @cp src/python/.bin/Release/py3270.so $@ + rexx: $(BINDIR)/Debug/plugins/rx3270@DLLEXT@ #---[ Debug targets ]---------------------------------------------------------- @@ -382,6 +389,9 @@ install-oxt: install-php: @$(MAKE) -C src/php install +install-python: + @$(MAKE) -C src/python install + install-java: @$(MAKE) BINDIR=../../.bin LIB3270_CFLAGS="-I../../src/include" -C src/java install @@ -401,6 +411,7 @@ clean: @make -C src/plugins/dbus3270 clean @make -C src/loffice clean @make -C src/php clean + @make -C src/python clean @make -C src/java clean @make -C src/classlib clean @rm -f $(PACKAGE_NAME).png diff --git a/configure.ac b/configure.ac index 89c1f80..9eb26c3 100644 --- a/configure.ac +++ b/configure.ac @@ -542,7 +542,7 @@ AC_SUBST(SOCKET_LIBS) AC_SEARCH_LIBS([dlopen], [dl], AC_DEFINE(HAVE_LIBDL), AC_MSG_NOTICE([libdl not present.])) -#--[ Optional ]--------------------------------------------------------------------------------------------------------------------------------------------- +#--[ PHP ]-------------------------------------------------------------------------------------------------------------------------------------------------- AC_ARG_WITH([php-config], [AS_HELP_STRING([--with-php-config], [Path to php-config tool])], [ PHPCONFIG="$withval" ],[ AC_PATH_TOOL(PHPCONFIG, php-config, , $PATH) ]) @@ -585,6 +585,25 @@ AC_SUBST(PHPCONFIG) AC_SUBST(PHPMAJOR) AC_SUBST(PHPCONFDIR) + +#--[ Python ]----------------------------------------------------------------------------------------------------------------------------------------------- + +AC_ARG_WITH([python-config], [AS_HELP_STRING([--with-python-config], [Path to python-config tool])], [ PYCONFIG="$withval" ],[ AC_PATH_TOOL(PYCONFIG, python-config, , $PATH) ]) + +if test -z "${PYCONFIG}"; then + + AC_MSG_NOTICE([Program python-config not found. Use --with-python-config=path to specify absolute path to the python-config tool.]) + +else + + AC_DEFINE(HAVE_PYTHON) + EXTENSIONS="$EXTENSIONS python" + AC_CONFIG_FILES(src/python/Makefile) + +fi + +AC_SUBST(PYCONFIG) + #--[ ooRexx ]----------------------------------------------------------------------------------------------------------------------------------------------- AC_PATH_TOOL([REXXC], [rexxc], [cp] ) diff --git a/src/python/Makefile.in b/src/python/Makefile.in new file mode 100644 index 0000000..2a2fdcb --- /dev/null +++ b/src/python/Makefile.in @@ -0,0 +1,119 @@ +# +# "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 +# +# Contatos: +# +# perry.werneck@gmail.com (Alexandre Perry de Souza Werneck) +# erico.mendonca@gmail.com (Erico Mascarenhas de Mendonça) +# + +PACKAGE_NAME=@PACKAGE_NAME@ +SOURCES=py3270.cc actions.cc get.cc init.cc misc.cc set.cc + +#---[ Paths ]------------------------------------------------------------------ + +prefix=@prefix@ +exec_prefix=@exec_prefix@ +bindir=@bindir@ +sbindir=@sbindir@ +libdir=@libdir@ +includedir=@includedir@ +sysconfdir=@sysconfdir@ + +#---[ Tools ]------------------------------------------------------------------ + +CXX=@CXX@ +MKDIR=@MKDIR_P@ +INSTALL=@INSTALL@ +INSTALL_DATA=@INSTALL_DATA@ +INSTALL_PROGRAM=@INSTALL_PROGRAM@ +PYCONFIG=@PYCONFIG@ + +#---[ Paths ]------------------------------------------------------------------ + +OBJDIR = .obj +BINDIR = .bin + +OBJDBG = $(OBJDIR)/Debug +BINDBG = $(BINDIR)/Debug + +OBJRLS = $(OBJDIR)/Release +BINRLS = $(BINDIR)/Release + +#---[ lib3270 common class ]--------------------------------------------------- + +DEBUG_CFLAGS=-DDEBUG=1 -g -Wall +PW3270_CFLAGS=-I../include +CLASSLIBDIR=../classlib +include $(CLASSLIBDIR)/class.mak + +#---[ Build options ]---------------------------------------------------------- + +CXXFLAGS=@CXXFLAGS@ @DLL_CFLAGS@ `$(PYCONFIG) --cflags` -I../include + +#---[ Rules ]------------------------------------------------------------------ + +$(OBJRLS)/%.o: %.cc private.h Makefile + @echo " CC `basename $@`" + @mkdir -p `dirname $@` + @$(CXX) -DNDEBUG=1 $(CXXFLAGS) -o $@ -c $< + +$(OBJDBG)/%.o: %.cc private.h Makefile + @echo " CC `basename $@`" + @mkdir -p `dirname $@` + @$(CXX) -DDEBUG=1 $(CXXFLAGS) -o $@ -c $< + +#---[ Release targets ]-------------------------------------------------------- + +all: $(BINRLS)/py3270@DLLEXT@ + +Release: $(BINRLS)/py3270@DLLEXT@ + +$(BINRLS)/py3270@DLLEXT@: $(foreach SRC, $(basename $(SOURCES)), $(OBJRLS)/$(SRC)@OBJEXT@) \ + $(CLASS_RELEASE_OBJECTS) + @echo " LD `basename $@`" + @$(MKDIR) `dirname $@` + @$(CXX) @SYSDLL_FLAGS@ $(LDFLAGS) $(OO_LDFLAGS) -o $@ $^ $(CLASS_LIBS) + + +#---[ Debug targets ]---------------------------------------------------------- + +Debug: $(BINDBG)/py3270@DLLEXT@ + +$(BINDBG)/py3270@DLLEXT@: $(foreach SRC, $(basename $(SOURCES)), $(OBJDBG)/$(SRC)@OBJEXT@) \ + $(CLASS_DEBUG_OBJECTS) + @echo " LD `basename $@`" + @$(MKDIR) `dirname $@` + @$(CXX) @SYSDLL_FLAGS@ $(LDFLAGS) $(OO_LDFLAGS) -o $@ $^ $(CLASS_LIBS) + + +run: $(BINDBG)/py3270@DLLEXT@ + +#---[ Misc targets ]----------------------------------------------------------- + +install: $(BINRLS)/py3270@DLLEXT@ + + +cleanDebug: clean + +clean: + @rm -fr $(OBJDIR) + @rm -fr $(BINDIR) + -- libgit2 0.21.2