From 229adf28150a6f8799ac1cf8a3dccc8afd71d162 Mon Sep 17 00:00:00 2001 From: Perry Werneck Date: Thu, 19 Jan 2017 09:59:41 -0200 Subject: [PATCH] Reincluindo plugin D-Bus. --- Makefile.in | 21 +++++++++++++++++++-- configure.ac | 19 ++++++++++++++++++- locale/pw3270.pot | 4 ++-- src/plugins/dbus3270/Makefile.in | 213 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------------------------------------------------ src/plugins/dbus3270/gobject.c | 6 +++++- src/pw3270/Makefile.in | 12 ++++++------ 6 files changed, 167 insertions(+), 108 deletions(-) diff --git a/Makefile.in b/Makefile.in index 3a74f36..73fe64f 100644 --- a/Makefile.in +++ b/Makefile.in @@ -30,6 +30,7 @@ PACKAGE_NAME=@PACKAGE_NAME@ PACKAGE_VERSION=@PACKAGE_VERSION@ PACKAGE_LEVEL=@PACKAGE_LEVEL@ PACKAGE_TARNAME=@PACKAGE_TARNAME@ +PLUGINS=@PLUGINS@ #---[ Paths ]------------------------------------------------------------------ @@ -72,6 +73,12 @@ $(BINDBG)/%@DLLEXT@: \ @$(MAKE) -C src/$(basename $(notdir $@)) $@ +$(BINDBG)/plugins/%@DLLEXT@: \ + $(DEPENDS) \ + ./src/plugins/%/* + + @$(MAKE) -C src/plugins/$(basename $(notdir $@)) $@ + $(BINDBG)/%@EXEEXT@: \ $(DEPENDS) \ ./src/%/* @@ -84,6 +91,12 @@ $(BINRLS)/%@DLLEXT@: \ @$(MAKE) -C src/$(basename $(notdir $@)) $@ +$(BINRLS)/plugins/%@DLLEXT@: \ + $(DEPENDS) \ + ./src/plugins/%/* + + @$(MAKE) -C src/plugins/$(basename $(notdir $@)) $@ + $(POTDIR)/%.pot: \ $(DEPENDS) \ ./src/%/* @@ -140,11 +153,13 @@ $(SRCDIR)/%: \ all: \ $(BINRLS)/lib3270@DLLEXT@ \ $(BINRLS)/$(PACKAGE_TARNAME)@EXEEXT@ \ + $(foreach PLG, $(PLUGINS), $(BINRLS)/plugins/$(PLG)@DLLEXT@) \ locale/$(PACKAGE_TARNAME).pot Release: \ $(BINRLS)/lib3270@DLLEXT@ \ $(BINRLS)/$(PACKAGE_TARNAME)@EXEEXT@ \ + $(foreach PLG, $(PLUGINS), $(BINRLS)/plugins/$(PLG)@DLLEXT@) \ locale/$(PACKAGE_TARNAME).pot locale/$(PACKAGE_TARNAME).pot: \ @@ -172,11 +187,13 @@ install: \ Debug: \ $(BINDBG)/lib3270@DLLEXT@ \ - $(BINDBG)/$(PACKAGE_TARNAME)@EXEEXT@ + $(BINDBG)/$(PACKAGE_TARNAME)@EXEEXT@ \ + $(foreach PLG, $(PLUGINS), $(BINDBG)/plugins/$(PLG)@DLLEXT@) run: \ $(BINDBG)/lib3270@DLLEXT@ \ - $(BINDBG)/$(PACKAGE_TARNAME)@EXEEXT@ + $(BINDBG)/$(PACKAGE_TARNAME)@EXEEXT@ \ + $(foreach PLG, $(PLUGINS), $(BINDBG)/plugins/$(PLG)@DLLEXT@) @LD_LIBRARY_PATH=$(BINDBG) $(BINDBG)/$(PACKAGE_TARNAME)@EXEEXT@ diff --git a/configure.ac b/configure.ac index 09d1bf3..dcc5740 100644 --- a/configure.ac +++ b/configure.ac @@ -67,6 +67,7 @@ dnl --------------------------------------------------------------------------- DBG_CFLAGS="-g -fstack-check -DDEBUG=1" RLS_CFLAGS="-DNDEBUG=1" +PLUGINS="" dnl --------------------------------------------------------------------------- dnl Check for OS specifics @@ -129,6 +130,8 @@ dnl --------------------------------------------------------------------------- AC_PATH_TOOL([RPMBUILD], [rpmbuild], [no]) AC_PATH_TOOL([MAKENSIS], [makensis], [no]) AC_PATH_TOOL([AR], [ar], [ar]) +AC_PATH_TOOL([WINDRES], [windres], [no]) +AC_PATH_TOOL([DBUSBINDINGTOOL],[dbus-binding-tool],[no]) PKG_CHECK_EXISTS @@ -152,10 +155,22 @@ dnl --------------------------------------------------------------------------- dnl Check for D-Bus dnl --------------------------------------------------------------------------- -PKG_CHECK_MODULES( [DBUS], [dbus-1], AC_DEFINE(HAVE_DBUS), AC_MSG_NOTICE([ No DBUS support.]) ) +PKG_CHECK_MODULES( [DBUS], [dbus-1], app_cv_libdbus=yes, AC_MSG_NOTICE([ No DBUS support.]) ) AC_SUBST(DBUS_LIBS) AC_SUBST(DBUS_CFLAGS) +PKG_CHECK_MODULES( [GDBUS], [dbus-glib-1], app_cv_dbus=yes, AC_MSG_NOTICE([No GDBUS support.]) ) +AC_SUBST(GDBUS_LIBS) +AC_SUBST(GDBUS_CFLAGS) + +if test "$app_cv_dbus" == "yes"; then + + AC_DEFINE(HAVE_DBUS) + AC_CONFIG_FILES(src/plugins/dbus3270/Makefile) + PLUGINS="$PLUGINS dbus3270" + +fi + dnl --------------------------------------------------------------------------- dnl Check for libintl dnl --------------------------------------------------------------------------- @@ -279,6 +294,7 @@ dnl --------------------------------------------------------------------------- AC_SUBST(LIB3270_CFLAGS,-I$ac_pwd/src/include) AC_SUBST(LIB3270_LIBS,-l3270) +AC_SUBST(PW3270_LIBS,-lpw3270) dnl --------------------------------------------------------------------------- dnl Check for headers @@ -327,6 +343,7 @@ dnl Output config dnl --------------------------------------------------------------------------- AC_SUBST(BASEDIR,$ac_pwd) +AC_SUBST(PLUGINS) dnl --------------------------------------------------------------------------- dnl Configure which files to generate. diff --git a/locale/pw3270.pot b/locale/pw3270.pot index 6b22c2d..4e3aaa0 100644 --- a/locale/pw3270.pot +++ b/locale/pw3270.pot @@ -9,7 +9,7 @@ msgstr "" "#-#-#-#-# lib3270.pot (PACKAGE VERSION) #-#-#-#-#\n" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-01-18 17:33-0200\n" +"POT-Creation-Date: 2017-01-19 09:59-0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -20,7 +20,7 @@ msgstr "" "#-#-#-#-# pw3270.pot (PACKAGE VERSION) #-#-#-#-#\n" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-01-18 17:33-0200\n" +"POT-Creation-Date: 2017-01-19 09:59-0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/src/plugins/dbus3270/Makefile.in b/src/plugins/dbus3270/Makefile.in index e99d620..eece52a 100644 --- a/src/plugins/dbus3270/Makefile.in +++ b/src/plugins/dbus3270/Makefile.in @@ -22,150 +22,171 @@ # # 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) # +MODULE_NAME=dbus3270 + +SOURCES=main.c gobject.c misc.c +# DAEMON_SRC=daemon.c gobject.c iocallback.c misc.c + +#---[ Configuration values ]------------------------------------------------------------- + PACKAGE_NAME=@PACKAGE_NAME@ +PACKAGE_VERSION=@PACKAGE_VERSION@ PACKAGE_TARNAME=@PACKAGE_TARNAME@ -MODULE_NAME=dbus3270 prefix=@prefix@ exec_prefix=@exec_prefix@ bindir=@bindir@ +sbindir=@sbindir@ libdir=@libdir@ -datarootdir=@datarootdir@ -localedir=@localedir@ - -#---[ Sources ]---------------------------------------------------------------- - -DEPENDS=Makefile dbus-glue.h -PLUGIN_SRC=main.c gobject.c misc.c -DAEMON_SRC=daemon.c gobject.c iocallback.c misc.c - -#---[ Paths ]------------------------------------------------------------------ -ROOTDIR ?= . -OBJDIR ?= $(ROOTDIR)/.obj -BINDIR ?= $(ROOTDIR)/.bin -BINDBG ?= $(BINDIR)/Debug -BINRLS ?= $(BINDIR)/Release +BASEDIR=@BASEDIR@ +SRCDIR=$(BASEDIR)/.src/$(PACKAGE_TARNAME)-$(PACKAGE_VERSION)/src/plugins/$(MODULE_NAME) +POTDIR=$(BASEDIR)/.pot/$(PACKAGE_TARNAME)/plugins/$(MODULE_NAME) -OBJDBG = $(OBJDIR)/Debug -OBJRLS = $(OBJDIR)/Release -OBJEXT = o +OBJDIR=$(BASEDIR)/src/pw3270/.obj +OBJDBG=$(OBJDIR)/Debug/plugins/$(MODULE_NAME) +OBJRLS=$(OBJDIR)/Release/plugins/$(MODULE_NAME) -#---[ Tools ]------------------------------------------------------------------ +BINDIR=$(BASEDIR)/.bin +BINDBG=$(BINDIR)/Debug/plugins +BINRLS=$(BINDIR)/Release/plugins MKDIR=@MKDIR_P@ CC=@CC@ LD=@CC@ +AR=@AR@ DBUSBINDINGTOOL=@DBUSBINDINGTOOL@ +XGETTEXT=@XGETTEXT@ +MSGCAT=@MSGCAT@ INSTALL=@INSTALL@ -INSTALL_PROGRAM=@INSTALL_PROGRAM@ INSTALL_DATA=@INSTALL_DATA@ -#---[ Flags ]------------------------------------------------------------------ +CFLAGS=@CFLAGS@ @GTK_CFLAGS@ -I$(BASEDIR)/src/include +LIBS=@LIBS@ @GTK_LIBS@ @GLIB_LIBS@ @GDBUS_LIBS@ @LIB3270_LIBS@ @PW3270_LIBS@ -LIB3270_MODE ?= Default +#---[ Rules ]---------------------------------------------------------------------------- -DLL_FLAGS=-shared -DLL_CFLAGS=@DLL_CFLAGS@ -DEBUG_CFLAGS=-DDEBUG=1 -g -Wall +DEPENDS=dbus-glue.h globals.h service.h Makefile -GDBUS_CFLAGS=@GDBUS_CFLAGS@ -GLIB_CFLAGS=@GLIB_CFLAGS@ -GTK_CFLAGS=@GTK_CFLAGS@ +$(OBJDBG)/%.o: \ + %.c \ + $(DEPENDS) -GDBUS_LIBS=@GDBUS_LIBS@ -GLIB_LIBS=@GLIB_LIBS@ -GTK_LIBS=@GTK_LIBS@ + @echo $< ... + @$(MKDIR) `dirname $@` + @$(CC) $(CFLAGS) \ + @DBG_CFLAGS@ \ + -DBUILD_DATE=`date +"0x%Y%m%d"`\ + -o $@ -c $< -PW3270_CFLAGS=@PW3270_CFLAGS@ -LIB3270_CFLAGS=@LIB3270_CFLAGS@ +$(OBJRLS)/%.o: \ + %.c \ + $(DEPENDS) -ifeq ($(LIB3270_MODE),Debug) - PW3270_LIBS=-L../../../.bin/Debug@DLLDIR@ -l$(PACKAGE_TARNAME) - LIB3270_LIBS=-L../../../.bin/Debug@DLLDIR@ -l3270 -endif + @echo $< ... + @$(MKDIR) `dirname $@` + @$(CC) $(CFLAGS) \ + @RLS_CFLAGS@ \ + -DBUILD_DATE=`date +"0x%Y%m%d"` \ + -o $@ -c $< -ifeq ($(LIB3270_MODE),Release) - PW3270_LIBS=-L../../../.bin/Release@DLLDIR@ -l$(PACKAGE_TARNAME) - LIB3270_LIBS=-L../../../.bin/Release@DLLDIR@ -l3270 -endif +$(POTDIR)/%.pot: %.c -#ifeq ($(LIB3270_MODE),Default) -# LIB3270_LIBS ?= `pkg-config --libs lib3270` -# LIB3270_CFLAGS ?= `pkg-config --cflags lib3270` -# PW3270_LIBS ?= `pkg-config --libs pw3270 lib3270` -# PW3270_CFLAGS ?= `pkg-config --cflags pw3270 lib3270` -#endif + @echo $(notdir $@) ... + @$(MKDIR) `dirname $@` + @$(XGETTEXT) \ + --default-domain=$(PACKAGE) \ + --language=C \ + --keyword=_ \ + --keyword=N_ \ + --keyword=MSG_:2 \ + --output=$@ \ + $< -#---[ Rules ]------------------------------------------------------------------ + @touch $@ -$(OBJDBG)/%.o: \ - %.c $(DEPENDS) +dbus-glue.h: \ + pw3270dbus.xml - @echo " CC `basename $@`" - @$(MKDIR) `dirname $@` - @$(CC) $(CFLAGS) \ - $(DLL_CFLAGS) $(GDBUS_CFLAGS) $(GLIB_CFLAGS) $(GTK_CFLAGS) $(DEBUG_CFLAGS) \ - $(LIB3270_CFLAGS) $(PW3270_CFLAGS) -o $@ -c $< + @echo $@ ... + @$(DBUSBINDINGTOOL) \ + --mode=glib-server \ + --output=$@ \ + --prefix=pw3270_dbus $^ -$(OBJRLS)/%.o: \ - %.c $(DEPENDS) - @echo " CC `basename $@`" +#---[ Release Targets ]------------------------------------------------------------------ + +Release: \ + $(BINRLS)/$(MODULE_NAME)@DLLEXT@ + +$(BINRLS)/$(MODULE_NAME)@DLLEXT@: \ + $(foreach SRC, $(basename $(SOURCES)), $(OBJRLS)/$(SRC).o) + + @echo $@ ... @$(MKDIR) `dirname $@` - @$(CC) $(CFLAGS) $(DLL_CFLAGS) $(GDBUS_CFLAGS) $(GLIB_CFLAGS) $(GTK_CFLAGS) \ - $(LIB3270_CFLAGS) $(PW3270_CFLAGS) -o $@ -c $< + @$(LD) \ + -shared \ + -L$(BASEDIR)/.bin/Release \ + -o $@ $^ \ + $(LIBS) -#---[ Release targets ]-------------------------------------------------------- +pot: \ + $(BASEDIR)/.pot/$(PACKAGE_TARNAME)/$(MODULE_NAME).pot -Release: $(BINRLS)/plugins/$(MODULE_NAME).so +$(BASEDIR)/.pot/$(PACKAGE_TARNAME)/$(MODULE_NAME).pot: \ + $(foreach SRC, $(basename $(SOURCES)), $(POTDIR)/$(SRC).pot) -$(BINRLS)/plugins/$(MODULE_NAME).so: $(foreach SRC, $(basename $(PLUGIN_SRC)), $(OBJRLS)/$(SRC).o) - @echo " CCLD `basename $@`" - @$(MKDIR) `dirname $@` - @$(LD) $(DLL_FLAGS) -Wl,-soname,`basename $@` $(LDFLAGS) -o $@ $^ $(LIBS) $(LIB3270_LIBS) $(PW3270_LIBS) $(GLIB_LIBS) $(GTK_LIBS) $(GDBUS_LIBS) + @rm -f $@ + @mkdir -p `dirname $@` + @$(MSGCAT) --sort-output $^ > $@ + +$(SRCDIR): \ + clean + + @$(MKDIR) $@ + @$(INSTALL_DATA) *.c *.h *.xml *.cbp $@ -$(BINRLS)/@PACKAGE_NAME@d: $(foreach SRC, $(basename $(DAEMON_SRC)), $(OBJRLS)/$(SRC).o) - @echo " CCLD `basename $@`" - @$(MKDIR) `dirname $@` - @$(CC) $(CFLAGS) -o $@ $^ $(GDBUS_LIBS) $(GLIB_LIBS) $(LIB3270_LIBS) -#---[ Debug targets ]---------------------------------------------------------- +#---[ Debug Targets ]-------------------------------------------------------------------- -Debug: $(BINDBG)/plugins/$(MODULE_NAME).so +Debug: \ + $(BINDBG)/$(MODULE_NAME)@DLLEXT@ -$(BINDBG)/plugins/$(MODULE_NAME).so: $(foreach SRC, $(basename $(PLUGIN_SRC)), $(OBJDBG)/$(SRC).o) - @echo " CCLD `basename $@`" +$(BINDBG)/$(MODULE_NAME)@DLLEXT@: \ + $(foreach SRC, $(basename $(SOURCES)), $(OBJDBG)/$(SRC).o) + + @echo $@ ... @$(MKDIR) `dirname $@` - @$(LD) $(DLL_FLAGS) @DBGRPATH@ -Wl,-soname,`basename $@` $(LDFLAGS) -o $@ $^ $(LIBS) $(LIB3270_LIBS) $(PW3270_LIBS) $(GLIB_LIBS) $(GTK_LIBS) $(GDBUS_LIBS) + @$(LD) \ + -shared \ + -Wl,-soname,`basename $@`,--rpath,$(BASEDIR)/.bin/Debug \ + -L$(BASEDIR)/.bin/Debug \ + -o $@ $^ \ + $(LIBS) -#---[ Misc targets ]----------------------------------------------------------- -install: - @$(MKDIR) $(DESTDIR)$(libdir)/$(PACKAGE_NAME)-plugins - @$(INSTALL_PROGRAM) $(BINRLS)/plugins/$(MODULE_NAME).so $(DESTDIR)$(libdir)/$(PACKAGE_NAME)-plugins +#---[ Clean Targets]--------------------------------------------------------------------- -debug-service: $(BINDBG)/@PACKAGE_NAME@d +cleanDebug: -dbus-glue.h: pw3270dbus.xml - @$(MKDIR) .tmp - @$(DBUSBINDINGTOOL) --mode=glib-server --output=$@ --prefix=pw3270_dbus $^ + @rm -fr $(BINDBG)/$(MODULE_NAME)@DLLEXT@ \ + $(OBJDBG) \ + dbus-glue.h -$(BINDBG)/@PACKAGE_NAME@d: $(foreach SRC, $(basename $(DAEMON_SRC)), $(OBJDBG)/$(SRC).o) - @echo " CCLD `basename $@`" - @$(MKDIR) `dirname $@` - @$(CC) $(CFLAGS) -o $@ $^ $(GDBUS_LIBS) $(GLIB_LIBS) $(LIB3270_LIBS) +cleanRelease: + + @rm -fr $(BINRLS)/$(MODULE_NAME)@DLLEXT@ \ + $(OBJRLS) \ + dbus-glue.h -cleandebug-service: clean + @rm -fr $(POTDIR) -clean: - @rm -fr $(OBJDIR) - @rm -fr $(BINDIR) - @rm -fr .tmp - @rm -f dbus-glue.h +clean: \ + cleanDebug \ + cleanRelease + diff --git a/src/plugins/dbus3270/gobject.c b/src/plugins/dbus3270/gobject.c index 5652932..d12c367 100644 --- a/src/plugins/dbus3270/gobject.c +++ b/src/plugins/dbus3270/gobject.c @@ -42,7 +42,7 @@ #include #include #include -#include +#include #include #include @@ -81,7 +81,11 @@ PW3270Dbus * pw3270_dbus_new(void) void pw3270_dbus_get_revision(PW3270Dbus *object, DBusGMethodInvocation *context) { trace("%s object=%p context=%p",__FUNCTION__,object,context); +#ifdef PACKAGE_REVISION dbus_g_method_return(context,PACKAGE_REVISION); +#else + dbus_g_method_return(context,BUILD_DATE); +#endif } void pw3270_dbus_connect(PW3270Dbus *object, const gchar *uri, DBusGMethodInvocation *context) diff --git a/src/pw3270/Makefile.in b/src/pw3270/Makefile.in index 10174cc..91745d1 100644 --- a/src/pw3270/Makefile.in +++ b/src/pw3270/Makefile.in @@ -157,7 +157,7 @@ all: \ Release Release: \ - $(BINRLS)/$(PACKAGE_TARNAME)$(EXEEXT) + $(BINRLS)/$(PACKAGE_TARNAME)@EXEEXT@ pot: \ $(BASEDIR)/.pot/pw3270.pot @@ -170,7 +170,7 @@ $(BASEDIR)/.pot/pw3270.pot: \ @mkdir -p `dirname $@` @$(MSGCAT) --sort-output $^ > $@ -$(BINRLS)/$(PACKAGE_TARNAME)$(EXEEXT): \ +$(BINRLS)/$(PACKAGE_TARNAME)@EXEEXT@: \ $(BINRLS)/$(LIBNAME) \ $(foreach SRC, $(basename $(APP_SOURCES)), $(OBJRLS)/$(SRC).o) @@ -199,7 +199,7 @@ $(BINRLS)/$(LIBNAME).@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@: \ @$(LD) -shared -Wl,-soname,$(@F) $(LDFLAGS) -L$(BINRLS) -o $@ $^ $(LIBS) install: \ - $(BINRLS)/$(PACKAGE_TARNAME)$(EXEEXT) \ + $(BINRLS)/$(PACKAGE_TARNAME)@EXEEXT@ \ $(DESTDIR)$(datarootdir)/$(PACKAGE_NAME)/$(PACKAGE_NAME).png \ $(DESTDIR)$(datarootdir)/$(PACKAGE_NAME)/$(PACKAGE_NAME)-logo.png @@ -220,7 +220,7 @@ install: \ @$(MKDIR) $(DESTDIR)$(bindir) @$(INSTALL_PROGRAM) \ - $(BINRLS)/$(PACKAGE_TARNAME)$(EXEEXT) \ + $(BINRLS)/$(PACKAGE_TARNAME)@EXEEXT@ \ $(DESTDIR)$(bindir) $(SRCDIR): \ @@ -238,9 +238,9 @@ $(SRCDIR): \ #---[ Debug Targets ]-------------------------------------------------------------------- Debug: \ - $(BINDBG)/$(PACKAGE_TARNAME)$(EXEEXT) + $(BINDBG)/$(PACKAGE_TARNAME)@EXEEXT@ -$(BINDBG)/$(PACKAGE_TARNAME)$(EXEEXT): \ +$(BINDBG)/$(PACKAGE_TARNAME)@EXEEXT@: \ $(BINDBG)/$(LIBNAME) \ $(foreach SRC, $(basename $(APP_SOURCES)), $(OBJDBG)/$(SRC).o) -- libgit2 0.21.2