Commit 1680e4db2479b2a9afb39c58d90a1b41d9dfb4d3

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

Enabling autoconf.

.gitignore
... ... @@ -3,4 +3,12 @@
3 3 *.bak
4 4 *.depend
5 5 *.layout
6   -
  6 +*.m4
  7 +*.cache
  8 +*.log
  9 +*.status
  10 +configure
  11 +scripts
  12 +config.h
  13 +stamp-h1
  14 +Makefile
... ...
Makefile.in 0 → 100644
... ... @@ -0,0 +1,294 @@
  1 +#
  2 +# "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270
  3 +# (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a
  4 +# aplicativos mainframe. Registro no INPI sob o nome G3270.
  5 +#
  6 +# Copyright (C) <2008> <Banco do Brasil S.A.>
  7 +#
  8 +# Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob
  9 +# os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela
  10 +# Free Software Foundation.
  11 +#
  12 +# Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER
  13 +# GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO
  14 +# A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para
  15 +# obter mais detalhes.
  16 +#
  17 +# Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este
  18 +# programa; se não, escreva para a Free Software Foundation, Inc., 59 Temple
  19 +# Place, Suite 330, Boston, MA, 02111-1307, USA
  20 +#
  21 +# Contatos:
  22 +#
  23 +# perry.werneck@gmail.com (Alexandre Perry de Souza Werneck)
  24 +# erico.mendonca@gmail.com (Erico Mascarenhas de Mendonça)
  25 +#
  26 +
  27 +#---[ Library configuration ]------------------------------------------------------------
  28 +
  29 +MODULE_NAME=ipc3270
  30 +
  31 +SOURCES= \
  32 + $(wildcard src/plugin/*.c) \
  33 + $(wildcard src/@OSNAME@/*.c) \
  34 + $(wildcard src/@OSNAME@/*.rc)
  35 +
  36 +TEST_SOURCES= \
  37 + $(wildcard src/testprogram/*.c)
  38 +
  39 +#---[ Tools ]----------------------------------------------------------------------------
  40 +
  41 +CC=@CC@
  42 +LD=@CC@
  43 +LN_S=@LN_S@
  44 +MKDIR=@MKDIR_P@
  45 +INSTALL=@INSTALL@
  46 +INSTALL_DATA=@INSTALL_DATA@
  47 +INSTALL_PROGRAM=@INSTALL_PROGRAM@
  48 +XGETTEXT=@XGETTEXT@
  49 +MSGCAT=@MSGCAT@
  50 +WINDRES=@WINDRES@
  51 +
  52 +#---[ Paths ]----------------------------------------------------------------------------
  53 +
  54 +prefix=@prefix@
  55 +exec_prefix=@exec_prefix@
  56 +bindir=@bindir@
  57 +sbindir=@sbindir@
  58 +libdir=@libdir@
  59 +includedir=@includedir@
  60 +datarootdir=@datarootdir@
  61 +localedir=@localedir@
  62 +docdir=@docdir@
  63 +sysconfdir=@sysconfdir@
  64 +
  65 +BASEDIR=@BASEDIR@
  66 +
  67 +POTDIR=$(BASEDIR)/.pot
  68 +
  69 +OBJDIR=$(BASEDIR)/.obj/$(MODULE_NAME)
  70 +OBJDBG=$(OBJDIR)/Debug
  71 +OBJRLS=$(OBJDIR)/Release
  72 +
  73 +BINDIR=$(BASEDIR)/.bin
  74 +BINDBG=$(BINDIR)/Debug
  75 +BINRLS=$(BINDIR)/Release
  76 +
  77 +#---[ Rules ]----------------------------------------------------------------------------
  78 +
  79 +DEPENDS= \
  80 + Makefile \
  81 + src/include/*.h \
  82 + src/include/lib3270/*.h \
  83 + src/linux/*.h
  84 +
  85 +CFLAGS= \
  86 + @CFLAGS@ \
  87 + -g \
  88 + -Isrc/include \
  89 + -DBUILD_DATE=`date +%Y%m%d` \
  90 + @LIB3270_CFLAGS@ \
  91 + @V3270_CFLAGS@ \
  92 + @GTK_CFLAGS@ \
  93 + @GLIB_CFLAGS@
  94 +
  95 +LIBS= \
  96 + @LIBS@ \
  97 + @GTK_LIBS@ \
  98 + @GLIB_LIBS@ \
  99 + @LIBICONV@ \
  100 + @INTL_LIBS@ \
  101 + @LIB3270_LIBS@ \
  102 + @V3270_LIBS@
  103 +
  104 +#---[ Debug Rules ]----------------------------------------------------------------------
  105 +
  106 +$(OBJDBG)/%.o: \
  107 + %.c \
  108 + $(DEPENDS)
  109 +
  110 + @echo $< ...
  111 + @$(MKDIR) `dirname $@`
  112 +
  113 + @$(CC) \
  114 + $(CFLAGS) \
  115 + -Wall -Wextra -fstack-check \
  116 + -DDEBUG=1 \
  117 + -o $@ -c $<
  118 +
  119 +$(OBJDBG)/%.o: \
  120 + %.rc
  121 +
  122 + @echo $< ...
  123 + @$(MKDIR) `dirname $@`
  124 + @$(WINDRES) $< -O coff -o $@
  125 +
  126 +#---[ Release Rules ]--------------------------------------------------------------------
  127 +
  128 +$(OBJRLS)/%.o: \
  129 + %.c \
  130 + $(DEPENDS)
  131 +
  132 + @echo $< ...
  133 + @$(MKDIR) `dirname $@`
  134 + @$(CC) \
  135 + $(CFLAGS) \
  136 + -DNDEBUG=1 \
  137 + -o $@ -c $<
  138 +
  139 +$(OBJRLS)/%.o: \
  140 + %.rc
  141 +
  142 + @echo $< ...
  143 + @$(MKDIR) `dirname $@`
  144 + @$(WINDRES) $< -O coff -o $@
  145 +
  146 +#---[ Misc Rules ]-----------------------------------------------------------------------
  147 +
  148 +$(POTDIR)/$(MODULE_NAME)/%.pot: \
  149 + %.c
  150 +
  151 + @echo $(notdir $@) ...
  152 + @$(MKDIR) `dirname $@`
  153 + @$(XGETTEXT) \
  154 + --language=C \
  155 + --keyword=_ \
  156 + --keyword=N_ \
  157 + --keyword=MSG_:2 \
  158 + --output=$@ \
  159 + $<
  160 + @touch $@
  161 +
  162 +$(POTDIR)/$(MODULE_NAME)/%.pot: \
  163 + %.rc
  164 +
  165 + @echo $< ...
  166 + @$(MKDIR) `dirname $@`
  167 + @touch $@
  168 +
  169 +
  170 +#---[ Release Targets ]------------------------------------------------------------------
  171 +
  172 +all: \
  173 + $(BINRLS)/$(MODULE_NAME)@DLLEXT@ \
  174 + $(POTDIR)/$(MODULE_NAME).pot
  175 +
  176 +Release: \
  177 + $(BINRLS)/$(MODULE_NAME)@DLLEXT@
  178 +
  179 +$(BINRLS)/$(MODULE_NAME)@DLLEXT@: \
  180 + $(foreach SRC, $(basename $(SOURCES)), $(OBJRLS)/$(SRC).o)
  181 +
  182 + @$(MKDIR) `dirname $@`
  183 + @echo $< ...
  184 + @$(LD) \
  185 + -shared -Wl,-soname,$(@F) \
  186 + -o $@ \
  187 + $(LDFLAGS) \
  188 + $(foreach SRC, $(basename $(SOURCES)), $(OBJRLS)/$(SRC).o) \
  189 + -L$(BINRLS) \
  190 + $(LIBS)
  191 +
  192 +#---[ Install Targets ]------------------------------------------------------------------
  193 +
  194 +
  195 +#---[ Misc Targets ]---------------------------------------------------------------------
  196 +
  197 +$(POTDIR)/$(MODULE_NAME).pot: \
  198 + $(foreach SRC, $(basename $(SOURCES)), $(POTDIR)/$(MODULE_NAME)/$(SRC).pot)
  199 +
  200 + @rm -f $@
  201 + @mkdir -p `dirname $@`
  202 + @$(MSGCAT) --sort-output $^ > $@
  203 +
  204 +locale: \
  205 + $(POTDIR)/$(MODULE_NAME).pot
  206 +
  207 +
  208 +#---[ Debug Targets ]--------------------------------------------------------------------
  209 +
  210 +Debug: \
  211 + $(BINDBG)/@DLLPREFIX@$(MODULE_NAME)@DLLEXT@ \
  212 + $(BINDBG)/$(MODULE_NAME)@EXEEXT@
  213 +
  214 +$(BINDBG)/$(MODULE_NAME)@EXEEXT@: \
  215 + $(foreach SRC, $(basename $(TEST_SOURCES)), $(OBJDBG)/$(SRC).o) \
  216 + $(BINDBG)/@DLLPREFIX@$(MODULE_NAME)@DLLEXT@
  217 +
  218 + @$(MKDIR) `dirname $@`
  219 + @echo $< ...
  220 + @$(LD) \
  221 + -o $@ \
  222 + $^ \
  223 + -L$(BINDBG) \
  224 + -Wl,-rpath,$(BINDBG) \
  225 + $(LDFLAGS) \
  226 + $(LIBS) \
  227 + -l$(MODULE_NAME)
  228 +
  229 +run: \
  230 + $(BINDBG)/$(MODULE_NAME)@EXEEXT@
  231 +
  232 + @LD_LIBRARY_PATH=$(BINDBG) \
  233 + $(BINDBG)/$(MODULE_NAME)@EXEEXT@
  234 +
  235 +$(BINDBG)/@DLLPREFIX@$(MODULE_NAME)@DLLEXT@: \
  236 + $(BINDBG)/@DLLPREFIX@$(MODULE_NAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@
  237 +
  238 + @echo $< ...
  239 + @rm -f $@
  240 + @$(LN_S) \
  241 + @DLLPREFIX@$(MODULE_NAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@ \
  242 + $@
  243 +
  244 +$(BINDBG)/@DLLPREFIX@$(MODULE_NAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@: \
  245 + $(BINDBG)/@DLLPREFIX@$(MODULE_NAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@
  246 +
  247 + @rm -f $@
  248 + @$(LN_S) \
  249 + @DLLPREFIX@$(MODULE_NAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@ \
  250 + $@
  251 +
  252 +$(BINDBG)/@DLLPREFIX@$(MODULE_NAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@: \
  253 + $(foreach SRC, $(basename $(SOURCES)), $(OBJDBG)/$(SRC).o)
  254 +
  255 + @$(MKDIR) `dirname $@`
  256 + @echo $< ...
  257 + @$(LD) \
  258 + -shared -Wl,-soname,$(@F) \
  259 + -o $@ \
  260 + -L$(BINDBG) \
  261 + $(LDFLAGS) \
  262 + $(foreach SRC, $(basename $(SOURCES)), $(OBJDBG)/$(SRC).o) \
  263 + $(LIBS)
  264 +
  265 +#---[ Clean Targets ]--------------------------------------------------------------------
  266 +
  267 +clean: \
  268 + cleanDebug \
  269 + cleanRelease
  270 +
  271 + @rm -fr $(BASEDIR)/.tmp/$(MODULE_NAME)
  272 + @rm -fr $(POTDIR)/$(MODULE_NAME)
  273 + @rm -fr src/include/marshal
  274 +
  275 +cleanDebug:
  276 +
  277 + @rm -fr $(OBJDBG)
  278 + @rm -fr $(BINDBG)
  279 + @rm -fr $(OBJDIR)/marshal
  280 + @rm -f src/v3270/marshal.h
  281 + @rm -f src/v3270ft/marshal.h
  282 +
  283 +cleanRelease:
  284 +
  285 + @rm -fr $(OBJRLS)
  286 + @rm -fr $(BINRLS)
  287 + @rm -fr $(POTDIR)
  288 + @rm -f $(MODULE_NAME).pot
  289 +
  290 +clean: \
  291 + cleanDebug \
  292 + cleanRelease
  293 +
  294 +
... ...
autogen.sh 0 → 100755
... ... @@ -0,0 +1,29 @@
  1 +#!/bin/bash
  2 +
  3 +test -n "$srcdir" || srcdir=`dirname "$0"`
  4 +test -n "$srcdir" || srcdir=.
  5 +
  6 +olddir=`pwd`
  7 +cd "$srcdir"
  8 +
  9 +aclocal
  10 +if test $? != 0 ; then
  11 + echo "aclocal failed."
  12 + exit -1
  13 +fi
  14 +
  15 +autoconf
  16 +if test $? != 0 ; then
  17 + echo "autoconf failed."
  18 + exit -1
  19 +fi
  20 +
  21 +mkdir -p scripts
  22 +automake --add-missing 2> /dev/null | true
  23 +
  24 +cd "$olddir"
  25 +test -n "$NOCONFIGURE" || "$srcdir/configure" "$@"
  26 +
  27 +
  28 +
  29 +
... ...
configure.ac 0 → 100644
... ... @@ -0,0 +1,258 @@
  1 +dnl
  2 +dnl Software pw3270, desenvolvido com base nos códigos fontes do C3270 e X3270
  3 +dnl (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a
  4 +dnl aplicativos mainframe. Registro no INPI sob o nome G3270.
  5 +dnl
  6 +dnl Copyright (C) <2008> <Banco do Brasil S.A.>
  7 +dnl
  8 +dnl Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob
  9 +dnl os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela
  10 +dnl Free Software Foundation.
  11 +dnl
  12 +dnl Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER
  13 +dnl GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO
  14 +dnl A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para
  15 +dnl obter mais detalhes.
  16 +dnl
  17 +dnl Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este
  18 +dnl programa; se não, escreva para a Free Software Foundation, Inc., 59 Temple
  19 +dnl Place, Suite 330, Boston, MA, 02111-1307, USA
  20 +dnl
  21 +dnl Contatos:
  22 +dnl
  23 +dnl perry.werneck@gmail.com (Alexandre Perry de Souza Werneck)
  24 +dnl erico.mendonca@gmail.com (Erico Mascarenhas de Mendonça)
  25 +dnl
  26 +
  27 +dnl Process this file with autoconf to produce a configure script.
  28 +
  29 +dnl The minimum version of autoconf required.
  30 +AC_PREREQ(2.61)
  31 +
  32 +dnl Initialise automake with the package name, version and
  33 +dnl bug-reporting address.
  34 +AC_INIT([pw3270], [5.2], [perry.werneck@gmail.com])
  35 +
  36 +dnl Place auxilliary scripts here.
  37 +AC_CONFIG_AUX_DIR([scripts])
  38 +
  39 +dnl Compute the canonical host-system type
  40 +AC_CANONICAL_HOST
  41 +
  42 +dnl Put macro definitions here (though they aren't used).
  43 +AC_CONFIG_HEADER([src/include/config.h])
  44 +
  45 +dnl Initialise automake stuff.
  46 +AM_INIT_AUTOMAKE
  47 +
  48 +dnl Check for iconv
  49 +AM_ICONV
  50 +
  51 +dnl Checks for programs.
  52 +AC_PROG_CC
  53 +AC_PROG_SED
  54 +AC_PROG_LN_S
  55 +
  56 +AC_LANG([C])
  57 +
  58 +dnl ---------------------------------------------------------------------------
  59 +dnl Initialize defaults
  60 +dnl ---------------------------------------------------------------------------
  61 +
  62 +DBG_CFLAGS="-g -fstack-check -DDEBUG=1"
  63 +RLS_CFLAGS="-DNDEBUG=1"
  64 +PLUGINS=""
  65 +APP_RESOURCES=""
  66 +APP_LDFLAGS=""
  67 +DLL_LDFLAGS="-shared"
  68 +STATIC_LDFLAGS=""
  69 +
  70 +dnl ---------------------------------------------------------------------------
  71 +dnl Check for OS specifics
  72 +dnl ---------------------------------------------------------------------------
  73 +
  74 +DLLPREFIX="lib"
  75 +
  76 +case "$host" in
  77 + *-mingw32)
  78 + app_cv_osname="windows"
  79 + CFLAGS="$CFLAGS -pthread -D_WIN32_WINNT=0x0600"
  80 + LIBS="$LIBS -lws2_32 -lwtsapi32 -lcomdlg32"
  81 + LDFLAGS="$LDFLAGS -pthread -static-libgcc -static-libstdc++"
  82 + DLLEXT=".dll"
  83 + DLLPREFIX=""
  84 +
  85 + app_win32_revision=$(date +%y.%m.%d.%H)
  86 + AC_SUBST(WIN32_VERSION,$app_win32_revision)
  87 + AC_CONFIG_FILES(src/windows/resources.rc)
  88 + ;;
  89 +
  90 + s390x-*)
  91 + CFLAGS="$CFLAGS -pthread"
  92 + LDFLAGS="$LDFLAGS -pthread"
  93 + app_cv_datadir="/usr/share"
  94 + app_cv_confdir="/etc"
  95 + app_cv_osname="linux"
  96 + LOGDIR="/var/log"
  97 + ;;
  98 +
  99 + *)
  100 + CFLAGS="$CFLAGS -pthread"
  101 + LDFLAGS="$LDFLAGS -pthread"
  102 + app_cv_datadir="/usr/share"
  103 + app_cv_confdir="/etc"
  104 + app_cv_osname="linux"
  105 + LOGDIR="/var/log"
  106 + DLLEXT=".so"
  107 +
  108 +esac
  109 +
  110 +AC_SUBST(DATADIR,$app_cv_datadir)
  111 +AC_SUBST(CONFDIR,$app_cv_confdir)
  112 +AC_SUBST(OSNAME,$app_cv_osname)
  113 +AC_SUBST(LIBS)
  114 +AC_SUBST(LOGDIR)
  115 +AC_SUBST(DLLEXT)
  116 +AC_SUBST(DLLPREFIX)
  117 +
  118 +dnl ---------------------------------------------------------------------------
  119 +dnl Check for other programs
  120 +dnl ---------------------------------------------------------------------------
  121 +
  122 +AC_PATH_TOOL([AR], [ar], [ar])
  123 +AC_PATH_TOOL([WINDRES], [windres], [no])
  124 +
  125 +PKG_CHECK_EXISTS
  126 +
  127 +dnl ---------------------------------------------------------------------------
  128 +dnl Version info
  129 +dnl ---------------------------------------------------------------------------
  130 +
  131 +AC_SUBST(PACKAGE_DESCRIPTION,"PW3270 IPC Module")
  132 +
  133 +app_vrs_major=$(echo $VERSION | cut -d. -f1)
  134 +app_vrs_minor=$(echo $VERSION | cut -d. -f2)
  135 +
  136 +AC_DEFINE_UNQUOTED(PACKAGE_MAJOR_VERSION, $app_vrs_major)
  137 +AC_DEFINE_UNQUOTED(PACKAGE_MINOR_VERSION, $app_vrs_minor)
  138 +
  139 +AC_SUBST(PACKAGE_MAJOR_VERSION,$app_vrs_major)
  140 +AC_SUBST(PACKAGE_MINOR_VERSION,$app_vrs_minor)
  141 +
  142 +AC_ARG_WITH([release], [AS_HELP_STRING([--with-release], [Set release])], [ app_cv_release="$withval" ],[ app_cv_release="`date +%y`.`date +%m`.`date +%d`" ])
  143 +
  144 +app_rls_major=$(echo $app_cv_release.0.0 | cut -d. -f1)
  145 +app_rls_minor=$(echo $app_cv_release.0.0 | cut -d. -f2)
  146 +
  147 +AC_DEFINE_UNQUOTED(PACKAGE_RELEASE, $app_cv_release)
  148 +AC_DEFINE_UNQUOTED(PACKAGE_MAJOR_RELEASE, $app_rls_major)
  149 +AC_DEFINE_UNQUOTED(PACKAGE_MINOR_RELEASE, $app_rls_minor)
  150 +
  151 +AC_SUBST(PACKAGE_RELEASE,$app_cv_release)
  152 +AC_SUBST(PACKAGE_MAJOR_RELEASE,$app_rls_major)
  153 +AC_SUBST(PACKAGE_MINOR_RELEASE,$app_rls_minor)
  154 +
  155 +dnl ---------------------------------------------------------------------------
  156 +dnl Check for libintl
  157 +dnl ---------------------------------------------------------------------------
  158 +
  159 +INTL_LIBS=""
  160 +
  161 +AC_PATH_TOOL([XGETTEXT], [xgettext], [no])
  162 +AC_PATH_TOOL([MSGCAT], [msgcat], [no])
  163 +AC_PATH_TOOL([MSGINIT], [msginit], [no])
  164 +AC_PATH_TOOL([MSGMERGE], [msgmerge], [no])
  165 +AC_PATH_TOOL([MSGFMT], [msgfmt], [no])
  166 +
  167 +AC_SUBST(INTL_LIBS)
  168 +
  169 +dnl ---------------------------------------------------------------------------
  170 +dnl Check for LIB3270
  171 +dnl ---------------------------------------------------------------------------
  172 +
  173 +PKG_CHECK_MODULES( [LIB3270], [lib3270], AC_DEFINE(HAVE_LIB3270), AC_MSG_ERROR([LIB3270 not present.]))
  174 +
  175 +AC_SUBST(LIB3270_LIBS)
  176 +AC_SUBST(LIB3270_CFLAGS)
  177 +
  178 +dnl ---------------------------------------------------------------------------
  179 +dnl Check for LIBV3270
  180 +dnl ---------------------------------------------------------------------------
  181 +
  182 +PKG_CHECK_MODULES( [V3270], [v3270], AC_DEFINE(HAVE_V3270), AC_MSG_ERROR([V3270 not present.]))
  183 +
  184 +AC_SUBST(V3270_LIBS)
  185 +AC_SUBST(V3270_CFLAGS)
  186 +
  187 +dnl ---------------------------------------------------------------------------
  188 +dnl Check for GTK
  189 +dnl ---------------------------------------------------------------------------
  190 +
  191 +PKG_CHECK_MODULES( [GTK], [gtk+-3.0 gmodule-2.0], AC_DEFINE(HAVE_GTK), AC_MSG_ERROR([GTK not present.]))
  192 +
  193 +AC_SUBST(GTK_LIBS)
  194 +AC_SUBST(GTK_CFLAGS)
  195 +
  196 +dnl ---------------------------------------------------------------------------
  197 +dnl Check for GLIB
  198 +dnl ---------------------------------------------------------------------------
  199 +
  200 +PKG_CHECK_MODULES( [GLIB], [glib-2.0], AC_DEFINE(HAVE_GLIB), AC_MSG_ERROR([GLIB not present.] ))
  201 +AC_SUBST(GLIB_LIBS)
  202 +AC_SUBST(GLIB_CFLAGS)
  203 +
  204 +dnl ---------------------------------------------------------------------------
  205 +dnl Check for D-Bus
  206 +dnl ---------------------------------------------------------------------------
  207 +
  208 +PKG_CHECK_MODULES( [DBUS], [dbus-1], app_cv_libdbus=yes, AC_MSG_NOTICE([ No DBUS support.]) )
  209 +AC_SUBST(DBUS_LIBS)
  210 +AC_SUBST(DBUS_CFLAGS)
  211 +
  212 +PKG_CHECK_MODULES( [GDBUS], [dbus-glib-1], app_cv_dbus=yes, AC_MSG_NOTICE([No GDBUS support.]) )
  213 +AC_SUBST(GDBUS_LIBS)
  214 +AC_SUBST(GDBUS_CFLAGS)
  215 +
  216 +dnl ---------------------------------------------------------------------------
  217 +dnl Check for pic
  218 +dnl ---------------------------------------------------------------------------
  219 +AC_ARG_ENABLE([pic],
  220 + [AS_HELP_STRING([--disable-pic], [disable support for PIC libraries (required to compile on 64bits)])],
  221 +[
  222 + app_cv_pic="$enableval"
  223 +],[
  224 +
  225 + case "$host_cpu" in
  226 + x86_64)
  227 + app_cv_pic="yes"
  228 + ;;
  229 +
  230 + aarch64)
  231 + app_cv_pic="yes"
  232 + ;;
  233 +
  234 + *)
  235 + app_cv_pic="no"
  236 + esac
  237 +
  238 +])
  239 +
  240 +if test "$app_cv_pic" == "yes"; then
  241 + CFLAGS="$CFLAGS -fPIC"
  242 + CXXFLAGS="$CXXFLAGS -fPIC"
  243 +fi
  244 +
  245 +dnl ---------------------------------------------------------------------------
  246 +dnl Configure which files to generate.
  247 +dnl ---------------------------------------------------------------------------
  248 +
  249 +AC_CONFIG_FILES(Makefile)
  250 +
  251 +dnl ---------------------------------------------------------------------------
  252 +dnl Output the generated config.status script.
  253 +dnl ---------------------------------------------------------------------------
  254 +AC_SUBST(BASEDIR,$ac_pwd)
  255 +
  256 +AC_OUTPUT
  257 +
  258 +
... ...
pw3270-plugin-ipc.cbp
... ... @@ -3,6 +3,7 @@
3 3 <FileVersion major="1" minor="6" />
4 4 <Project>
5 5 <Option title="IPC plugin for pw3270" />
  6 + <Option makefile_is_custom="1" />
6 7 <Option pch_mode="2" />
7 8 <Option compiler="gcc" />
8 9 <Build>
... ... @@ -37,10 +38,12 @@
37 38 <Linker>
38 39 <Add option="`pkg-config --libs gtk+-3.0 lib3270 v3270 gio-2.0 dbus-1 dbus-glib-1`" />
39 40 </Linker>
40   - <Unit filename="src/linux/start.c">
  41 + <Unit filename="src/include/config.h.in" />
  42 + <Unit filename="src/include/lib3270/ipc.h" />
  43 + <Unit filename="src/linux/gobject.c">
41 44 <Option compilerVar="CC" />
42 45 </Unit>
43   - <Unit filename="src/private.h" />
  46 + <Unit filename="src/linux/gobject.h" />
44 47 <Unit filename="src/testprogram/testprogram.c">
45 48 <Option compilerVar="CC" />
46 49 </Unit>
... ...
src/include/config.h.in 0 → 100644
... ... @@ -0,0 +1,41 @@
  1 +/*
  2 + * "Software G3270, desenvolvido com base nos códigos fontes do WC3270 e X3270
  3 + * (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a
  4 + * aplicativos mainframe. Registro no INPI sob o nome G3270.
  5 + *
  6 + * Copyright (C) <2008> <Banco do Brasil S.A.>
  7 + *
  8 + * Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob
  9 + * os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela
  10 + * Free Software Foundation.
  11 + *
  12 + * Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER
  13 + * GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO
  14 + * A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para
  15 + * obter mais detalhes.
  16 + *
  17 + * Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este
  18 + * programa; se não, escreva para a Free Software Foundation, Inc., 51 Franklin
  19 + * St, Fifth Floor, Boston, MA 02110-1301 USA
  20 + *
  21 + * Este programa está nomeado como config.h e possui - linhas de código.
  22 + *
  23 + * Contatos:
  24 + *
  25 + * perry.werneck@gmail.com (Alexandre Perry de Souza Werneck)
  26 + * erico.mendonca@gmail.com (Erico Mascarenhas de Mendonça)
  27 + *
  28 + */
  29 +
  30 +#ifndef LIBV3270_CONFIG_INCLUDED
  31 +
  32 + #define LIBV3270_CONFIG_INCLUDED 1
  33 +
  34 + #undef PACKAGE_NAME
  35 + #undef PACKAGE_VERSION
  36 + #undef PACKAGE_RELEASE
  37 +
  38 + #undef HAVE_GNOME
  39 + #undef HAVE_GTKMAC
  40 +
  41 +#endif /* LIBV3270_CONFIG_INCLUDED */
... ...
src/include/lib3270/ipc.h 0 → 100644
... ... @@ -0,0 +1,65 @@
  1 +/*
  2 + * "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270
  3 + * (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a
  4 + * aplicativos mainframe. Registro no INPI sob o nome G3270. Registro no INPI sob
  5 + * o nome G3270.
  6 + *
  7 + * Copyright (C) <2008> <Banco do Brasil S.A.>
  8 + *
  9 + * Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob
  10 + * os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela
  11 + * Free Software Foundation.
  12 + *
  13 + * Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER
  14 + * GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO
  15 + * A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para
  16 + * obter mais detalhes.
  17 + *
  18 + * Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este
  19 + * programa; se não, escreva para a Free Software Foundation, Inc., 51 Franklin
  20 + * St, Fifth Floor, Boston, MA 02110-1301 USA
  21 + *
  22 + * Este programa está nomeado como - e possui - linhas de código.
  23 + *
  24 + * Contatos:
  25 + *
  26 + * perry.werneck@gmail.com (Alexandre Perry de Souza Werneck)
  27 + * erico.mendonca@gmail.com (Erico Mascarenhas Mendonça)
  28 + *
  29 + */
  30 +
  31 + /**
  32 + * @brief Common definitions for pw3270 IPC plugin.
  33 + *
  34 + */
  35 +
  36 +#ifndef PW3270_IPC_H_INCLUDED
  37 +
  38 + #define PW3270_IPC_H_INCLUDED
  39 +
  40 + #include <gtk/gtk.h>
  41 +
  42 + G_BEGIN_DECLS
  43 +
  44 + #define GLIB_TYPE_IPC3270 (ipc3270_get_type ())
  45 + #define IPC3270(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GLIB_TYPE_IPC3270, ipc3270))
  46 + #define IPC3270_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GLIB_TYPE_IPC3270, ipc3270Class))
  47 + #define IS_IPC3270(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GLIB_TYPE_IPC3270))
  48 + #define IS_IPC3270_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GLIB_TYPE_IPC3270))
  49 + #define IPC3270_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GLIB_TYPE_IPC3270, ipc3270Class))
  50 +
  51 + typedef struct _ipc3270 ipc3270;
  52 + typedef struct _ipc3270Class ipc3270Class;
  53 +
  54 + GObject * ipc3270_new(GtkWidget *window, GtkWidget *terminal);
  55 + GType ipc3270_get_type(void);
  56 +
  57 + G_END_DECLS
  58 +
  59 + #ifdef DEBUG
  60 + #define debug( fmt, ... ) fprintf(stderr,"%s(%d) " fmt "\n", __FILE__, (int) __LINE__, __VA_ARGS__ ); fflush(stderr);
  61 + #else
  62 + #define debug(...) /* __VA_ARGS */
  63 + #endif
  64 +
  65 +#endif // PW3270_IPC_H_INCLUDED
... ...
src/linux/gobject.c
... ... @@ -165,6 +165,17 @@ static void ipc3270_init(ipc3270 *object) {
165 165  
166 166 // Got D-Bus name, register object.
167 167  
  168 +/*
  169 +gpointer pw3270_dbus_register_object(DBusGConnection *connection,DBusGProxy *proxy,GType object_type,const DBusGObjectInfo *info,const gchar *path)
  170 +{
  171 + GObject *object = g_object_new (object_type, NULL);
  172 + dbus_g_object_type_install_info (object_type, info);
  173 + dbus_g_connection_register_g_object (connection, path, object);
  174 + return object;
  175 +}
  176 +*/
  177 +
  178 +
168 179 return G_OBJECT(object);
169 180  
170 181 }
... ...
src/linux/gobject.h
... ... @@ -37,7 +37,16 @@
37 37  
38 38 #define LINUX_PRIVATE_H_INCLUDED
39 39  
40   - #include "../private.h"
  40 + #include <config.h>
  41 +
  42 + #define ENABLE_NLS
  43 + #define GETTEXT_PACKAGE PACKAGE_NAME
  44 +
  45 + #include <libintl.h>
  46 + #include <glib/gi18n.h>
  47 + #include <gio/gio.h>
  48 +
  49 + #include <lib3270/ipc.h>
41 50  
42 51 G_BEGIN_DECLS
43 52  
... ...
src/plugin/private.h 0 → 100644
... ... @@ -0,0 +1,52 @@
  1 +/*
  2 + * "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270
  3 + * (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a
  4 + * aplicativos mainframe. Registro no INPI sob o nome G3270. Registro no INPI sob
  5 + * o nome G3270.
  6 + *
  7 + * Copyright (C) <2008> <Banco do Brasil S.A.>
  8 + *
  9 + * Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob
  10 + * os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela
  11 + * Free Software Foundation.
  12 + *
  13 + * Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER
  14 + * GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO
  15 + * A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para
  16 + * obter mais detalhes.
  17 + *
  18 + * Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este
  19 + * programa; se não, escreva para a Free Software Foundation, Inc., 51 Franklin
  20 + * St, Fifth Floor, Boston, MA 02110-1301 USA
  21 + *
  22 + * Este programa está nomeado como - e possui - linhas de código.
  23 + *
  24 + * Contatos:
  25 + *
  26 + * perry.werneck@gmail.com (Alexandre Perry de Souza Werneck)
  27 + * erico.mendonca@gmail.com (Erico Mascarenhas Mendonça)
  28 + *
  29 + */
  30 +
  31 + /**
  32 + * @brief Common definitions for pw3270 IPC plugin.
  33 + *
  34 + */
  35 +
  36 +#ifndef PRIVATE_H_INCLUDED
  37 +
  38 + #define PRIVATE_H_INCLUDED
  39 +
  40 + #include <config.h>
  41 + #include <lib3270/ipc.h>
  42 +
  43 + int pw3270_plugin_start(GtkWidget *window, GtkWidget *terminal);
  44 + int pw3270_plugin_stop(GtkWidget *window, GtkWidget *terminal);
  45 +
  46 + #ifdef DEBUG
  47 + #define debug( fmt, ... ) fprintf(stderr,"%s(%d) " fmt "\n", __FILE__, (int) __LINE__, __VA_ARGS__ ); fflush(stderr);
  48 + #else
  49 + #define debug(...) /* __VA_ARGS */
  50 + #endif
  51 +
  52 +#endif // PRIVATE_H_INCLUDED
... ...
src/plugin/start.c 0 → 100644
... ... @@ -0,0 +1,47 @@
  1 +/*
  2 + * "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270
  3 + * (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a
  4 + * aplicativos mainframe. Registro no INPI sob o nome G3270. Registro no INPI sob
  5 + * o nome G3270.
  6 + *
  7 + * Copyright (C) <2008> <Banco do Brasil S.A.>
  8 + *
  9 + * Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob
  10 + * os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela
  11 + * Free Software Foundation.
  12 + *
  13 + * Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER
  14 + * GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO
  15 + * A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para
  16 + * obter mais detalhes.
  17 + *
  18 + * Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este
  19 + * programa; se não, escreva para a Free Software Foundation, Inc., 51 Franklin
  20 + * St, Fifth Floor, Boston, MA 02110-1301 USA
  21 + *
  22 + * Este programa está nomeado como - e possui - linhas de código.
  23 + *
  24 + * Contatos:
  25 + *
  26 + * perry.werneck@gmail.com (Alexandre Perry de Souza Werneck)
  27 + * erico.mendonca@gmail.com (Erico Mascarenhas Mendonça)
  28 + *
  29 + */
  30 +
  31 +
  32 + /**
  33 + * @brief Plugin startup/stop for linux.
  34 + *
  35 + */
  36 +
  37 + #include "private.h"
  38 +
  39 + int pw3270_plugin_start(GtkWidget *window, GtkWidget *terminal) {
  40 +
  41 + g_object_set_data_full(G_OBJECT(terminal), "ipc-object-info", ipc3270_new(window,terminal), g_object_unref);
  42 + return 0;
  43 +
  44 + }
  45 +
  46 +
  47 +
... ...
src/private.h
... ... @@ -1,78 +0,0 @@
1   -/*
2   - * "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270
3   - * (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a
4   - * aplicativos mainframe. Registro no INPI sob o nome G3270. Registro no INPI sob
5   - * o nome G3270.
6   - *
7   - * Copyright (C) <2008> <Banco do Brasil S.A.>
8   - *
9   - * Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob
10   - * os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela
11   - * Free Software Foundation.
12   - *
13   - * Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER
14   - * GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO
15   - * A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para
16   - * obter mais detalhes.
17   - *
18   - * Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este
19   - * programa; se não, escreva para a Free Software Foundation, Inc., 51 Franklin
20   - * St, Fifth Floor, Boston, MA 02110-1301 USA
21   - *
22   - * Este programa está nomeado como - e possui - linhas de código.
23   - *
24   - * Contatos:
25   - *
26   - * perry.werneck@gmail.com (Alexandre Perry de Souza Werneck)
27   - * erico.mendonca@gmail.com (Erico Mascarenhas Mendonça)
28   - *
29   - */
30   -
31   - /**
32   - * @brief Common definitions for pw3270 IPC plugin.
33   - *
34   - */
35   -
36   -#ifndef PRIVATE_H_INCLUDED
37   -
38   - #define PRIVATE_H_INCLUDED
39   -
40   - #define PACKAGE_NAME "pw3270"
41   -
42   - #define ENABLE_NLS
43   - #define GETTEXT_PACKAGE PACKAGE_NAME
44   -
45   - #include <libintl.h>
46   - #include <glib/gi18n.h>
47   - #include <gtk/gtk.h>
48   - #include <gio/gio.h>
49   -
50   - #include <v3270.h>
51   -
52   - G_BEGIN_DECLS
53   -
54   - #define GLIB_TYPE_IPC3270 (ipc3270_get_type ())
55   - #define IPC3270(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GLIB_TYPE_IPC3270, ipc3270))
56   - #define IPC3270_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GLIB_TYPE_IPC3270, ipc3270Class))
57   - #define IS_IPC3270(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GLIB_TYPE_IPC3270))
58   - #define IS_IPC3270_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GLIB_TYPE_IPC3270))
59   - #define IPC3270_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GLIB_TYPE_IPC3270, ipc3270Class))
60   -
61   - typedef struct _ipc3270 ipc3270;
62   - typedef struct _ipc3270Class ipc3270Class;
63   -
64   - GObject * ipc3270_new(GtkWidget *window, GtkWidget *terminal);
65   - GType ipc3270_get_type(void);
66   -
67   - G_END_DECLS
68   -
69   - #ifdef DEBUG
70   - #define debug( fmt, ... ) fprintf(stderr,"%s(%d) " fmt "\n", __FILE__, (int) __LINE__, __VA_ARGS__ ); fflush(stderr);
71   - #else
72   - #define debug(...) /* __VA_ARGS */
73   - #endif
74   -
75   - int pw3270_plugin_start(GtkWidget *window, GtkWidget *terminal);
76   - int pw3270_plugin_stop(GtkWidget *window, GtkWidget *terminal);
77   -
78   -#endif // PRIVATE_H_INCLUDED
src/start.c
... ... @@ -1,47 +0,0 @@
1   -/*
2   - * "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270
3   - * (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a
4   - * aplicativos mainframe. Registro no INPI sob o nome G3270. Registro no INPI sob
5   - * o nome G3270.
6   - *
7   - * Copyright (C) <2008> <Banco do Brasil S.A.>
8   - *
9   - * Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob
10   - * os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela
11   - * Free Software Foundation.
12   - *
13   - * Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER
14   - * GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO
15   - * A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para
16   - * obter mais detalhes.
17   - *
18   - * Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este
19   - * programa; se não, escreva para a Free Software Foundation, Inc., 51 Franklin
20   - * St, Fifth Floor, Boston, MA 02110-1301 USA
21   - *
22   - * Este programa está nomeado como - e possui - linhas de código.
23   - *
24   - * Contatos:
25   - *
26   - * perry.werneck@gmail.com (Alexandre Perry de Souza Werneck)
27   - * erico.mendonca@gmail.com (Erico Mascarenhas Mendonça)
28   - *
29   - */
30   -
31   -
32   - /**
33   - * @brief Plugin startup/stop for linux.
34   - *
35   - */
36   -
37   - #include "private.h"
38   -
39   - int pw3270_plugin_start(GtkWidget *window, GtkWidget *terminal) {
40   -
41   - g_object_set_data_full(G_OBJECT(terminal), "ipc-object-info", ipc3270_new(window,terminal), g_object_unref);
42   - return 0;
43   -
44   - }
45   -
46   -
47   -
src/testprogram/testprogram.c
... ... @@ -34,7 +34,8 @@
34 34 *
35 35 */
36 36  
37   - #include "../private.h"
  37 + #include <v3270.h>
  38 + #include "../plugin/private.h"
38 39 #include <stdlib.h>
39 40  
40 41 /*---[ Implement ]----------------------------------------------------------------------------------*/
... ...
src/windows/resources.rc.in 0 → 100644
... ... @@ -0,0 +1,29 @@
  1 +#include <windows.h>
  2 +
  3 +VS_VERSION_INFO VERSIONINFO
  4 +FILEVERSION @PACKAGE_MAJOR_VERSION@,@PACKAGE_MINOR_VERSION@,@PACKAGE_MAJOR_RELEASE@,0
  5 +PRODUCTVERSION @PACKAGE_MAJOR_VERSION@,@PACKAGE_MINOR_VERSION@,@PACKAGE_MAJOR_RELEASE@,0
  6 +
  7 +BEGIN
  8 +
  9 + BLOCK "StringFileInfo"
  10 + BEGIN
  11 + BLOCK "080904E4"
  12 + BEGIN
  13 + VALUE "FileDescription", "@PACKAGE_DESCRIPTION@\0"
  14 + VALUE "CompanyName", "Banco do Brasil S/A.\0"
  15 + VALUE "FileVersion", "@WIN32_VERSION@\0"
  16 + VALUE "LegalCopyright", "(C) 2017 Banco do Brasil S/A. All Rights Reserved\0"
  17 + VALUE "OriginalFilename", "@PACKAGE_TARNAME@@DLLEXT@\0"
  18 + VALUE "ProductName", "@PACKAGE_NAME@\0"
  19 + VALUE "ProductVersion", "@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@.@PACKAGE_MAJOR_RELEASE@.0\0"
  20 + END
  21 + END
  22 +
  23 + BLOCK "VarFileInfo"
  24 + BEGIN
  25 + VALUE "Translation", 0x809, 0x04E4
  26 + END
  27 +
  28 +END
  29 +
... ...