Commit 9b41602e6a465dbe85f1ba14e83982f81d635c99

Authored by Perry Werneck
1 parent d5d8bc04

Integrating objects in the new application.

Makefile.in
... ... @@ -24,243 +24,234 @@
24 24 # erico.mendonca@gmail.com (Erico Mascarenhas de Mendonça)
25 25 #
26 26  
27   -#---[ Configuration values ]---------------------------------------------------
  27 +#---[ Configuration ]--------------------------------------------------------------------
28 28  
29 29 PACKAGE_NAME=@PACKAGE_NAME@
30   -PACKAGE_VERSION=@PACKAGE_VERSION@
31   -PACKAGE_LEVEL=@PACKAGE_LEVEL@
32   -PACKAGE_TARNAME=@PACKAGE_TARNAME@
33   -PACKAGE_DESCRIPTION=@PACKAGE_DESCRIPTION@
34 30 PRODUCT_NAME=@PRODUCT_NAME@
  31 +INSTALL_PACKAGES=@INSTALL_PACKAGES@
35 32  
36   -#---[ Paths ]------------------------------------------------------------------
  33 +SOURCES= \
  34 + $(wildcard src/objects/actions/*.c) \
  35 + $(wildcard src/objects/actions/lib3270/*.c) \
  36 + $(wildcard src/objects/window/*.c) \
  37 + $(wildcard src/objects/terminal/*.c) \
  38 + $(wildcard src/objects/toolbar/*.c) \
  39 + $(wildcard src/main/*.c) \
  40 + $(wildcard src/main/@OSNAME@/*.c) \
  41 + $(wildcard src/main/@OSNAME@/*.rc)
  42 +
  43 +#---[ Tools ]----------------------------------------------------------------------------
  44 +
  45 +CC=@CC@
  46 +LD=@CC@
  47 +LN_S=@LN_S@
  48 +MKDIR=@MKDIR_P@
  49 +INSTALL=@INSTALL@
  50 +INSTALL_DATA=@INSTALL_DATA@
  51 +INSTALL_PROGRAM=@INSTALL_PROGRAM@
  52 +XGETTEXT=@XGETTEXT@
  53 +MSGCAT=@MSGCAT@
  54 +WINDRES=@WINDRES@
  55 +AR=@AR@
  56 +VALGRIND=@VALGRIND@
  57 +
  58 +#---[ Paths ]----------------------------------------------------------------------------
37 59  
38 60 prefix=@prefix@
39 61 exec_prefix=@exec_prefix@
40 62 bindir=@bindir@
41 63 sbindir=@sbindir@
42 64 libdir=@libdir@
  65 +includedir=@includedir@
43 66 datarootdir=@datarootdir@
44   -localedir=${datarootdir}/locale
  67 +localedir=@localedir@
45 68 docdir=@docdir@
46 69 sysconfdir=@sysconfdir@
47   -mandir=@mandir@
48 70  
49 71 BASEDIR=@BASEDIR@
50 72  
51 73 POTDIR=$(BASEDIR)/.pot
  74 +
  75 +OBJDIR=$(BASEDIR)/.obj/$(PACKAGE_NAME)
  76 +OBJDBG=$(OBJDIR)/Debug
  77 +OBJRLS=$(OBJDIR)/Release
  78 +
52 79 BINDIR=$(BASEDIR)/.bin
53 80 BINDBG=$(BINDIR)/Debug
54 81 BINRLS=$(BINDIR)/Release
55 82  
56   -#---[ Tools ]------------------------------------------------------------------
  83 +#---[ Rules ]----------------------------------------------------------------------------
57 84  
58   -CC=@CC@
59   -LD=@CC@
60   -LN_S=@LN_S@
61   -MKDIR=@MKDIR_P@
62   -MSGCAT=@MSGCAT@
63   -INSTALL=@INSTALL@
64   -INSTALL_DATA=@INSTALL_DATA@
65   -INSTALL_PROGRAM=@INSTALL_PROGRAM@
66   -HELP2MAN=@HELP2MAN@
67   -VALGRIND=@VALGRIND@
68   -
69   -#---[ Release Targets ]------------------------------------------------------------------
70   -
71   -all: \
72   - $(foreach MODULE, $(MODULES), $(BINRLS)/@DLLPREFIX@$(MODULE)@DLLEXT@) \
73   - $(BINRLS)/$(PACKAGE_TARNAME)@EXEEXT@ \
74   - $(BINRLS)/libpw3270cpp.a \
75   - locale/$(PACKAGE_TARNAME).pot
76   -
77   -Release: \
78   - application \
79   - $(BINRLS)/libpw3270cpp.a
  85 +DEPENDS= \
  86 + Makefile \
  87 + src/include/*.h \
  88 + src/objects/toolbar/private.h \
  89 + src/objects/window/private.h \
  90 + src/objects/actions/private.h \
  91 + src/main/private.h
80 92  
81   -application: \
82   - $(foreach MODULE, $(MODULES), $(BINRLS)/@DLLPREFIX@$(MODULE)@DLLEXT@) \
83   - $(BINRLS)/$(PACKAGE_TARNAME)@EXEEXT@ \
  93 +CFLAGS= \
  94 + @CFLAGS@ \
  95 + -g \
  96 + -Isrc/include \
  97 + -DBUILD_DATE=`date +%Y%m%d` \
  98 + @LIBV3270_CFLAGS@ \
  99 + @GTK_CFLAGS@
84 100  
85   -$(BINRLS)/libpw3270cpp.a: \
86   - src/libpw3270cpp/*
  101 +LIBS= \
  102 + @LIBS@ \
  103 + @GTK_LIBS@ \
  104 + @LIBV3270_LIBS@
87 105  
88   - @$(MAKE) -C src/libpw3270cpp Release
  106 +LDFLAGS= \
  107 + @LDFLAGS@
89 108  
90 109 #---[ Debug Rules ]----------------------------------------------------------------------
91 110  
92   -$(BINDBG)/%@EXEEXT@: \
93   - $(foreach MODULE, $(MODULES), $(BINDBG)/@DLLPREFIX@$(MODULE)@DLLEXT@) \
94   - src/% \
95   - src/%/*
  111 +$(OBJDBG)/%.o: \
  112 + %.c \
  113 + $(DEPENDS)
96 114  
97   - @make -C src/$(notdir $(basename $@)) $@
  115 + @echo $< ...
  116 + @$(MKDIR) $(@D)
98 117  
99   -#---[ Release Rules ]--------------------------------------------------------------------
  118 + @$(CC) \
  119 + $(CFLAGS) \
  120 + -Wall -Wextra -fstack-check \
  121 + -DDEBUG=1 \
  122 + -o $@ -c $<
100 123  
101   -$(BINRLS)/%@EXEEXT@: \
102   - $(foreach MODULE, $(MODULES), $(BINDBG)/@DLLPREFIX@$(MODULE)@DLLEXT@) \
103   - src/% \
104   - src/%/*
  124 +$(OBJDBG)/%.o: \
  125 + %.rc
105 126  
106   - @$(MAKE) -C src/$(notdir $(basename $@)) $@
  127 + @echo $< ...
  128 + @$(MKDIR) $(@D)
  129 + @$(WINDRES) $< -O coff -o $@
107 130  
108   -publish-release: \
109   - $(BINRLS)/$(PACKAGE_TARNAME)@EXEEXT@
  131 +#---[ Release Rules ]--------------------------------------------------------------------
110 132  
111   - @rm -f ~/public-html/release-$(PACKAGE_TARNAME)-@host_cpu@.zip
112   - @zip \
113   - -9 -D \
114   - ~/public_html/release-$(PACKAGE_TARNAME)-@host_cpu@.zip \
115   - $(BINRLS)/*
  133 +$(OBJRLS)/%.o: \
  134 + %.c \
  135 + $(DEPENDS)
116 136  
117   -#---[ Install Rules ]--------------------------------------------------------------------
  137 + @echo $< ...
  138 + @$(MKDIR) $(dir $@)
  139 + @$(CC) \
  140 + $(CFLAGS) \
  141 + -DNDEBUG=1 \
  142 + -o $@ -c $<
118 143  
119   -install: \
120   - install-application \
121   - install-devel
122   -
123   -install-devel: \
124   - $(foreach MODULE, $(MODULES), install-$(MODULE)) \
125   - locale/$(PACKAGE_TARNAME).pot \
126   - install-sdk
127   -
128   - @$(MAKE) \
129   - -C src/libpw3270cpp \
130   - DESTDIR=$(DESTDIR) \
131   - install
132   -
133   -install-application: \
134   - install-pw3270 \
135   - install-branding \
136   - install-ui \
137   - install-locale
138   -
139   -ifneq ($(HELP2MAN),no)
140   - @$(MKDIR) $(DESTDIR)/$(mandir)/man1
141   - @LD_LIBRARY_PATH=$(BINRLS) \
142   - $(HELP2MAN) \
143   - --version-string="$(PACKAGE_TARNAME) - $(PACKAGE_DESCRIPTION) Vrs. $(PACKAGE_VERSION)" \
144   - $(BINRLS)/$(PACKAGE_TARNAME)@EXEEXT@ | gzip --best --stdout - > $(DESTDIR)/$(mandir)/man1/$(PACKAGE_NAME).1.gz
145   -endif
  144 +$(OBJRLS)/%.o: \
  145 + %.rc
146 146  
147   - @$(MKDIR) $(DESTDIR)$(libdir)/@PRODUCT_NAME@-plugins
  147 + @echo $< ...
  148 + @$(MKDIR) $(@D)
  149 + @$(WINDRES) $< -O coff -o $@
148 150  
149   -install-%: \
150   - modules/%/Makefile
  151 +#---[ Misc Rules ]-----------------------------------------------------------------------
151 152  
152   - @$(MAKE) -C `dirname $<` DESTDIR=$(DESTDIR) install
  153 +$(POTDIR)/$(PACKAGE_NAME)/%.pot: \
  154 + %.c
153 155  
154   -install-%: \
155   - src/%/Makefile
  156 + @echo $(notdir $@) ...
  157 + @$(MKDIR) $(@D)
  158 + @$(XGETTEXT) \
  159 + --language=C \
  160 + --keyword=_ \
  161 + --keyword=N_ \
  162 + --keyword=MSG_:2 \
  163 + --output=$@ \
  164 + $<
  165 + @touch $@
156 166  
157   - @$(MAKE) -C `dirname $<` DESTDIR=$(DESTDIR) install
  167 +$(POTDIR)/$(PACKAGE_NAME)/%.pot: \
  168 + %.rc
158 169  
159   -install-%: \
160   - %/Makefile
  170 + @echo $< ...
  171 + @$(MKDIR) $(dir $@)
  172 + @touch $@
161 173  
162   - @$(MAKE) -C `dirname $<` DESTDIR=$(DESTDIR) install
163 174  
  175 +#---[ Release Targets ]------------------------------------------------------------------
164 176  
165   -#---[ Misc Rules ]-----------------------------------------------------------------------
  177 +all: \
  178 + $(BINRLS)/$(PACKAGE_NAME)@EXEEXT@ \
  179 + $(POTDIR)/$(PACKAGE_NAME).pot
166 180  
167   -$(POTDIR)/%.pot: \
168   - $(DEPENDS) \
169   - ./src/%/*
170   -
171   - @echo $(notdir $@) ...
172   - @mkdir -p `dirname $@`
173   - @$(MAKE) -C src/$(basename $(notdir $@)) $@
  181 +Release: \
  182 + $(BINRLS)/$(PACKAGE_NAME)@EXEEXT@ \
  183 + $(BINRLS)/static/$(PACKAGE_NAME).a
174 184  
175   -$(POTDIR)/%.pot: \
176   - $(datarootdir)/$(PRODUCT_NAME)/pot/%.pot
177   -
178   - @echo $(notdir $@) ...
179   - @mkdir -p `dirname $@`
180   - @cp "$^" "$@"
  185 +$(BINRLS)/$(PACKAGE_NAME)@EXEEXT@: \
  186 + $(foreach SRC, $(basename $(SOURCES)), $(OBJRLS)/$(SRC).o)
181 187  
182   -$(POTDIR)/%.pot: \
183   - ./modules/%/* \
184   - ./modules/%/src/* \
185   - ./modules/%/Makefile
186   -
187   - @echo $(notdir $@) ...
188   - @mkdir -p `dirname $@`
189   - @$(MAKE) -C modules/$(basename $(notdir $@)) $@
  188 + @$(MKDIR) $(@D)
  189 + @echo $< ...
  190 + @$(LD) \
  191 + -o $@ \
  192 + $(LDFLAGS) \
  193 + $^ \
  194 + $(LIBS)
190 195  
191   -$(POTDIR)/%.pot: \
192   - ./modules/%/%.pot
193   -
194   - @echo $(notdir $@) ...
195   - @mkdir -p `dirname $@`
196 196  
197   - @echo cp $^ $@
198   - @false
  197 +#---[ Install Targets ]------------------------------------------------------------------
199 198  
200   -$(POTDIR)/%.pot: \
201   - ./%/*
202   -
203   - @echo $(notdir $@) ...
204   - @mkdir -p `dirname $@`
205   - @$(MAKE) -C $(basename $(notdir $@)) $@
  199 +install: \
  200 + $(foreach PKG, $(INSTALL_PACKAGES), install-$(PKG))
206 201  
207 202  
208   -#---[ Debug Targets ]--------------------------------------------------------------------
  203 +#---[ Misc Targets ]---------------------------------------------------------------------
209 204  
210   -Debug: \
211   - $(BINDBG)/$(PACKAGE_TARNAME)@EXEEXT@
  205 +$(POTDIR)/$(PACKAGE_NAME).pot: \
  206 + $(foreach SRC, $(basename $(SOURCES)), $(POTDIR)/$(PACKAGE_NAME)/$(SRC).pot)
212 207  
213   -publish-debug: \
214   - $(BINDBG)/$(PACKAGE_TARNAME)@EXEEXT@
  208 + @rm -f $@
  209 + @$(MKDIR) $(@D)
  210 + @$(MSGCAT) --sort-output $^ > $@
215 211  
216   - @rm -f ~/public-html/debug-$(PACKAGE_TARNAME)-@host_cpu@.zip
217   - @zip \
218   - -9 -D \
219   - ~/public_html/debug-$(PACKAGE_TARNAME)-@host_cpu@.zip \
220   - $(BINDBG)/*
  212 +locale: \
  213 + $(POTDIR)/$(PACKAGE_NAME).pot
221 214  
222   -$(BINDBG)/libpw3270cpp.a: \
223   - src/libpw3270cpp/*
224 215  
225   - @$(MAKE) -C src/libpw3270cpp Debug
  216 +#---[ Debug Targets ]--------------------------------------------------------------------
226 217  
  218 +Debug: \
  219 + $(BINDBG)/$(PACKAGE_NAME)@EXEEXT@
  220 +
  221 +$(BINDBG)/$(PACKAGE_NAME)@EXEEXT@: \
  222 + $(foreach SRC, $(basename $(SOURCES)), $(OBJDBG)/$(SRC).o)
  223 +
  224 + @$(MKDIR) $(@D)
  225 + @echo $< ...
  226 + @$(LD) \
  227 + -o $@ \
  228 + $^ \
  229 + $(LDFLAGS) \
  230 + $(LIBS)
  231 +
227 232 run: \
228   - $(BINDBG)/$(PACKAGE_TARNAME)@EXEEXT@
  233 + $(BINDBG)/$(PACKAGE_NAME)@EXEEXT@
229 234  
230   - @LD_LIBRARY_PATH=$(BINDBG) $(BINDBG)/$(PACKAGE_TARNAME)@EXEEXT@
  235 + @LD_LIBRARY_PATH=$(BINDBG) \
  236 + $(BINDBG)/$(PACKAGE_NAME)@EXEEXT@
231 237  
232 238 mem-check: \
233   - $(BINDBG)/$(PACKAGE_TARNAME)@EXEEXT@
  239 + $(BINDBG)/$(PACKAGE_NAME)@EXEEXT@
234 240  
235 241 ifeq ($(VALGRIND),no)
236 242  
237 243 @LD_LIBRARY_PATH=$(BINDBG) \
238   - $(BINDBG)/$(PACKAGE_TARNAME)@EXEEXT@
  244 + $(BINDBG)/$(PACKAGE_NAME)@EXEEXT@
239 245  
240 246 else
241 247 @touch valgrind.suppression
242 248  
243 249 @LD_LIBRARY_PATH=$(BINDBG) \
244 250 $(VALGRIND) --leak-check=full --track-origins=yes --gen-suppressions=all --suppressions=valgrind.suppression \
245   - $(BINDBG)/$(PACKAGE_TARNAME)@EXEEXT@
  251 + $(BINDBG)/$(PACKAGE_NAME)@EXEEXT@
246 252 endif
247 253  
248   -#---[ Misc Targets ]---------------------------------------------------------------------
249   -
250   -locale: \
251   - locale/$(PACKAGE_TARNAME).pot
252   -
253   - $(MAKE) -C locale all
254 254  
255   -locale/$(PACKAGE_TARNAME).pot: \
256   - $(POTDIR)/pw3270.pot \
257   - $(POTDIR)/lib3270.pot \
258   - $(POTDIR)/libv3270.pot \
259   - $(POTDIR)/ui.pot
260   -
261   - @rm -f $@
262   - @mkdir -p `dirname $@`
263   - @$(MSGCAT) --sort-output $^ > $@
264 255  
265 256 #---[ Clean Targets ]--------------------------------------------------------------------
266 257  
... ... @@ -268,21 +259,23 @@ clean: \
268 259 cleanDebug \
269 260 cleanRelease
270 261  
271   - @rm -fr $(POTDIR)
272   - @rm -fr $(BINDIR)92
  262 + @rm -fr $(BASEDIR)/.tmp/$(PACKAGE_NAME)
  263 + @rm -fr $(POTDIR)/$(PACKAGE_NAME)
  264 + @rm -fr src/include/marshal
273 265  
274 266 cleanDebug:
275 267  
276 268 @rm -fr $(OBJDBG)
277 269 @rm -fr $(BINDBG)
278   - @$(MAKE) -C src/pw3270 $@
279 270  
280 271 cleanRelease:
281 272  
282 273 @rm -fr $(OBJRLS)
283 274 @rm -fr $(BINRLS)
284   - @$(MAKE) -C src/pw3270 $@
285   -
  275 + @rm -fr $(POTDIR)
286 276  
  277 +clean: \
  278 + cleanDebug \
  279 + cleanRelease
287 280  
288 281  
... ...
configure.ac
... ... @@ -16,15 +16,13 @@ dnl obter mais detalhes.
16 16 dnl
17 17 dnl Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este
18 18 dnl programa; se não, escreva para a Free Software Foundation, Inc., 59 Temple
  19 +
19 20 dnl Place, Suite 330, Boston, MA, 02111-1307, USA
20 21 dnl
21 22 dnl Contatos:
22 23 dnl
23 24 dnl perry.werneck@gmail.com (Alexandre Perry de Souza Werneck)
24 25 dnl erico.mendonca@gmail.com (Erico Mascarenhas de Mendonça)
25   -dnl licinio@bb.com.br (Licínio Luis Branco)
26   -dnl kraucer@bb.com.br (Kraucer Fernandes Mazuco)
27   -dnl macmiranda@bb.com.br (Marco Aurélio Caldas Miranda)
28 26 dnl
29 27  
30 28 dnl Process this file with autoconf to produce a configure script.
... ... @@ -39,6 +37,9 @@ AC_INIT([pw3270], [5.2], [perry.werneck@gmail.com])
39 37 dnl Place auxilliary scripts here.
40 38 AC_CONFIG_AUX_DIR([scripts])
41 39  
  40 +dnl Recommended for gtk-doc (https://developer.gnome.org/gtk-doc-manual/stable/settingup_autoconf.html.en)
  41 +AC_CONFIG_MACRO_DIR(m4)
  42 +
42 43 dnl Compute the canonical host-system type
43 44 AC_CANONICAL_HOST
44 45  
... ... @@ -48,284 +49,120 @@ AC_CONFIG_HEADER([src/include/config.h])
48 49 dnl Initialise automake stuff.
49 50 AM_INIT_AUTOMAKE
50 51  
51   -dnl Check for iconv
52   -AM_ICONV
53   -
54 52 dnl Checks for programs.
55   -AC_PROG_CXX
56 53 AC_PROG_CC
57 54 AC_PROG_SED
58 55 AC_PROG_LN_S
59   -AC_PATH_TOOL([AR], [ar], [ar])
60   -AC_PATH_TOOL([GENMARSHAL], [glib-genmarshal], [glib-genmarshal])
61   -AC_PATH_TOOL([HELP2MAN], [help2man], [no])
62   -AC_PATH_TOOL([DESKTOP_INSTALL],[desktop-file-install],[no])
63 56  
64 57 AC_LANG([C])
65 58  
66 59 dnl ---------------------------------------------------------------------------
67   -dnl Initialize defaults
68   -dnl ---------------------------------------------------------------------------
69   -
70   -DBG_CFLAGS="-g -fstack-check -DDEBUG=1"
71   -RLS_CFLAGS="-DNDEBUG=1"
72   -APP_RESOURCES=""
73   -APP_LDFLAGS=""
74   -DLL_LDFLAGS="-shared"
75   -STATIC_LDFLAGS=""
76   -
77   -dnl ---------------------------------------------------------------------------
78   -dnl Version & customization
79   -dnl ---------------------------------------------------------------------------
80   -
81   -AC_ARG_WITH([description], [AS_HELP_STRING([--with-description], [Application description])], [ app_cv_description="$withval" ],[ app_cv_description="IBM 3270 Terminal emulator" ])
82   -AC_DEFINE_UNQUOTED(PACKAGE_DESCRIPTION,"$app_cv_description")
83   -AC_SUBST(PACKAGE_DESCRIPTION,"$app_cv_description")
84   -
85   -app_vrs_major=$(echo $VERSION | cut -d. -f1)
86   -app_vrs_minor=$(echo $VERSION | cut -d. -f2)
87   -
88   -AC_DEFINE_UNQUOTED(PACKAGE_MAJOR_VERSION, $app_vrs_major)
89   -AC_DEFINE_UNQUOTED(PACKAGE_MINOR_VERSION, $app_vrs_minor)
90   -
91   -AC_SUBST(PACKAGE_MAJOR_VERSION,$app_vrs_major)
92   -AC_SUBST(PACKAGE_MINOR_VERSION,$app_vrs_minor)
93   -
94   -AC_ARG_WITH([release], [AS_HELP_STRING([--with-release], [Set release])], [ app_cv_release="$withval" ],[ app_cv_release="`date +%-y`.`date +%-m`.`date +%-d`" ])
95   -AC_ARG_WITH([session-name], [AS_HELP_STRING([--with-session-name], [Set default session name])], [ AC_DEFINE_UNQUOTED(DEFAULT_SESSION_NAME, $withval) ],[ AC_MSG_NOTICE([No default session name.]) ])
96   -
97   -app_rls_major=$(echo $app_cv_release.0.0 | cut -d. -f1)
98   -app_rls_minor=$(echo $app_cv_release.0.0 | cut -d. -f2)
99   -
100   -AC_DEFINE_UNQUOTED(PACKAGE_RELEASE, $app_cv_release)
101   -AC_DEFINE_UNQUOTED(PACKAGE_MAJOR_RELEASE, $app_rls_major)
102   -AC_DEFINE_UNQUOTED(PACKAGE_MINOR_RELEASE, $app_rls_minor)
103   -
104   -AC_SUBST(PACKAGE_RELEASE,$app_cv_release)
105   -AC_SUBST(PACKAGE_MAJOR_RELEASE,$app_rls_major)
106   -AC_SUBST(PACKAGE_MINOR_RELEASE,$app_rls_minor)
107   -
108   -AC_ARG_WITH([product-name], [AS_HELP_STRING([--with-product-name], [Set product name])], [ app_cv_product="$withval" ],[ app_cv_product=`pkg-config --variable=product_name lib3270` ])
109   -AC_DEFINE_UNQUOTED(PRODUCT_NAME, $app_cv_product)
110   -AC_SUBST(PRODUCT_NAME,$app_cv_product)
111   -
112   -AC_ARG_WITH([library-name], [AS_HELP_STRING([--with-library-name], [Set protocol library name])], [ app_cv_library="$withval" ],[ app_cv_library=`pkg-config --variable=library_name lib3270` ])
113   -AC_DEFINE_UNQUOTED(LIBRARY_NAME, $app_cv_library)
114   -AC_SUBST(LIBRARY_NAME,$app_cv_library)
115   -
116   -dnl ---------------------------------------------------------------------------
117 60 dnl Check for OS specifics
118 61 dnl ---------------------------------------------------------------------------
119 62  
120   -if test $host != $build; then
121   - AC_CHECK_PROGS(HOST_CC, gcc cc)
122   -else
123   - HOST_CC=$CC
124   -fi
  63 +INSTALL_PACKAGES=""
125 64  
126 65 case "$host" in
127 66 *-mingw32|*-pc-msys)
128   -
129 67 app_cv_osname="windows"
130   - EXEEXT=".exe"
131   - DLLPREFIX=""
132   - DLLEXT=".dll"
133   - APP_RESOURCES="resources.rc"
134   - APP_LDFLAGS="-mwindows"
135   -
136   - DBG_CFLAGS="-DDEBUG=1"
137   - RLS_CFLAGS="-DNDEBUG=1"
138 68  
139 69 CFLAGS="$CFLAGS -pthread -D_WIN32_WINNT=0x0600"
  70 + LDFLAGS="$LDFLAGS -pthread"
140 71 LIBS="$LIBS -lws2_32 -lwtsapi32 -lcomdlg32"
141 72  
  73 + INSTALL_PACKAGES="windows-lib ${INSTALL_PACKAGES}"
  74 +
142 75 app_win32_revision=$(date +%-y.%-m.%-d.%-H)
143 76 AC_SUBST(WIN32_VERSION,$app_win32_revision)
144 77  
145 78 app_win32_file_version=$(date +%-y,%-m,%-d,%-H)
146 79 AC_SUBST(WIN32_FILE_VERSION,$app_win32_file_version)
147 80  
148   - dnl https://stackoverflow.com/questions/13768515/how-to-do-static-linking-of-libwinpthread-1-dll-in-mingw
149   - STATIC_LDFLAGS="-static-libstdc++ -static-libgcc -static"
150   - DLL_LDFLAGS="-shared -Wl,--add-stdcall-alias"
151   -
152   - AC_DEFINE(ENABLE_WINDOWS_REGISTRY)
153   -
154   - AC_CONFIG_FILES(win/makeruntime.sh)
155   - AC_CONFIG_FILES(win/copydeps.sh)
156   - AC_CONFIG_FILES(win/$PACKAGE_TARNAME.nsi)
157   - AC_CONFIG_FILES(src/pw3270/windows/resources.rc)
158   -
159   - if test "$host_cpu" = "x86_64"; then
160   - app_cv_programfiles="PROGRAMFILES64"
161   - app_cv_winarch="64"
162   - else
163   - app_cv_programfiles="PROGRAMFILES"
164   - app_cv_winarch="32"
165   - fi
166   -
167   - AC_SUBST(PROGRAMFILES,$app_cv_programfiles)
168   - AC_SUBST(WINARCH,$app_cv_winarch)
169   - AC_SUBST(LIBEXT,.dll)
170   - ;;
171   -
172   - *-apple-*)
173   - EXEEXT=""
174   - DLLPREFIX="lib"
175   - DLLEXT=".so"
176   -
177   - DBG_CFLAGS="$DBG_CFLAGS -DDATADIR=\$(BASEDIR)"
178   -
179   - CFLAGS="$CFLAGS -Wall -Werror"
180   -
181   - LIBS="-pthread $LIBS"
182   -
183   - AC_SUBST(LIBEXT,.so.$app_vrs_major.$app_vrs_minor)
  81 + AC_CONFIG_FILES(src/main/windows/resources.rc)
184 82 ;;
185 83  
186 84 *)
187 85 app_cv_osname="linux"
188   - EXEEXT=""
189   - DLLPREFIX="lib"
190   - DLLEXT=".so"
191 86  
192   - DBG_CFLAGS="$DBG_CFLAGS -DDATADIR=\$(BASEDIR)"
193   - RLS_CFLAGS="$RLS_CFLAGS -DDATADIR=\$(datarootdir)/\$(PACKAGE_NAME)"
  87 + CFLAGS="$CFLAGS -pthread"
  88 + LDFLAGS="$LDFLAGS -pthread"
194 89  
195   - # LIBS="-Wl,--no-allow-shlib-undefined,--as-needed,--no-undefined -pthread $LIBS"
196   - LIBS="-pthread $LIBS"
  90 + INSTALL_PACKAGES="linux-lib ${INSTALL_PACKAGES}"
197 91  
198   - AC_SUBST(LIBEXT,.so.$app_vrs_major.$app_vrs_minor)
  92 + app_cv_static='no'
199 93  
200 94 esac
201 95  
202 96 AC_SUBST(OSNAME,$app_cv_osname)
203   -AC_SUBST(DBG_CFLAGS)
204   -AC_SUBST(RLS_CFLAGS)
205   -AC_SUBST(EXEEXT)
206   -AC_SUBST(DLLPREFIX)
  97 +AC_SUBST(LIBS)
  98 +AC_SUBST(LOGDIR)
207 99 AC_SUBST(DLLEXT)
208   -AC_SUBST(APP_RESOURCES)
209   -AC_SUBST(APP_LDFLAGS)
  100 +AC_SUBST(DLLPREFIX)
210 101 AC_SUBST(DLL_LDFLAGS)
211   -AC_SUBST(STATIC_LDFLAGS)
212 102  
213 103 dnl ---------------------------------------------------------------------------
214 104 dnl Check for other programs
215 105 dnl ---------------------------------------------------------------------------
216 106  
217   -AC_PATH_TOOL([RPMBUILD], [rpmbuild], [no])
218   -AC_PATH_TOOL([MAKENSIS], [makensis], [no])
219 107 AC_PATH_TOOL([AR], [ar], [ar])
  108 +AC_PATH_TOOL([CONVERT], [convert], [no])
  109 +AC_PATH_TOOL([OPTIPNG],[optipng],[no])
  110 +AC_PATH_TOOL([ZIP],[zip],[no])
  111 +AC_PATH_TOOL([DLLTOOL],[dlltool],[no])
220 112 AC_PATH_TOOL([WINDRES], [windres], [no])
221   -AC_PATH_TOOL([DBUSBINDINGTOOL],[dbus-binding-tool],[no])
222 113  
223 114 PKG_CHECK_EXISTS
224 115  
225 116 dnl ---------------------------------------------------------------------------
226   -dnl Check for libintl
  117 +dnl Version info
227 118 dnl ---------------------------------------------------------------------------
228 119  
229   -INTL_LIBS=""
  120 +AC_SUBST(PACKAGE_DESCRIPTION,"IBM 3270 Terminal emulator")
230 121  
231   -AC_PATH_TOOL([XGETTEXT], [xgettext], [no])
232   -AC_PATH_TOOL([MSGCAT], [msgcat], [no])
233   -AC_PATH_TOOL([MSGINIT], [msginit], [no])
234   -AC_PATH_TOOL([MSGMERGE], [msgmerge], [no])
235   -AC_PATH_TOOL([MSGFMT], [msgfmt], [no])
236   -AC_PATH_TOOL([VALGRIND], [valgrind], [no])
237   -AC_PATH_TOOL([SVG2PNG],[rsvg-convert],[no])
238   -AC_PATH_TOOL([CONVERT], [convert], [no])
239   -AC_PATH_TOOL([OPTIPNG],[optipng],[no])
  122 +app_vrs_major=$(echo $VERSION | cut -d. -f1)
  123 +app_vrs_minor=$(echo $VERSION | cut -d. -f2)
240 124  
241   -AC_CHECK_HEADER(libintl.h, [
242   - AC_DEFINE(HAVE_LIBINTL, 1)
  125 +AC_DEFINE_UNQUOTED(PACKAGE_MAJOR_VERSION, $app_vrs_major)
  126 +AC_DEFINE_UNQUOTED(PACKAGE_MINOR_VERSION, $app_vrs_minor)
243 127  
244   - case "$host" in
245   - *-mingw32|*-pc-msys)
246   - INTL_LIBS="-lintl"
247   - ;;
  128 +AC_SUBST(PACKAGE_MAJOR_VERSION,$app_vrs_major)
  129 +AC_SUBST(PACKAGE_MINOR_VERSION,$app_vrs_minor)
248 130  
249   - *)
250   - INTL_LIBS=""
  131 +AC_ARG_WITH([release], [AS_HELP_STRING([--with-release], [Set release])], [ app_cv_release="$withval" ],[ app_cv_release="`date +%-y`.`date +%-m`.`date +%-d`" ])
251 132  
252   - esac
  133 +app_rls_major=$(echo $app_cv_release.0.0 | cut -d. -f1)
  134 +app_rls_minor=$(echo $app_cv_release.0.0 | cut -d. -f2)
253 135  
254   -])
  136 +AC_DEFINE_UNQUOTED(PACKAGE_RELEASE, $app_cv_release)
  137 +AC_DEFINE_UNQUOTED(PACKAGE_MAJOR_RELEASE, $app_rls_major)
  138 +AC_DEFINE_UNQUOTED(PACKAGE_MINOR_RELEASE, $app_rls_minor)
255 139  
256   -AC_SUBST(INTL_LIBS)
  140 +AC_SUBST(PACKAGE_RELEASE,$app_cv_release)
  141 +AC_SUBST(PACKAGE_MAJOR_RELEASE,$app_rls_major)
  142 +AC_SUBST(PACKAGE_MINOR_RELEASE,$app_rls_minor)
257 143  
258 144 dnl ---------------------------------------------------------------------------
259   -dnl Check for ELF symbol visibility support
  145 +dnl Check for LIBV3270
260 146 dnl ---------------------------------------------------------------------------
261   -m4_define([GLIB_CHECK_COMPILE_WARNINGS],
262   -[m4_ifvaln([$1], [AC_LANG_CONFTEST([$1])])dnl
263   -rm -f conftest.$ac_objext
264   -glib_ac_compile_save="$ac_compile"
265   -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext'
266   -AS_IF([_AC_EVAL_STDERR($ac_compile) &&
267   - AC_TRY_COMMAND([(if test -s conftest.err; then false ; else true; fi)])],
268   - [$2],
269   - [echo "$as_me: failed program was:" >&AS_MESSAGE_LOG_FD
270   -cat conftest.$ac_ext >&AS_MESSAGE_LOG_FD
271   -m4_ifvaln([$3],[$3])dnl])
272   -ac_compile="$glib_ac_compile_save"
273   -rm -f conftest.$ac_objext conftest.err m4_ifval([$1], [conftest.$ac_ext])[]dnl
274   -])# GLIB_CHECK_COMPILE_WARNINGS
275   -
276   -AC_MSG_CHECKING(for GNUC visibility attribute)
277   -GLIB_CHECK_COMPILE_WARNINGS([
278   -void
279   -__attribute__ ((visibility ("hidden")))
280   - f_hidden (void)
281   -{
282   -}
283   -void
284   -__attribute__ ((visibility ("internal")))
285   - f_internal (void)
286   -{
287   -}
288   -void
289   -__attribute__ ((visibility ("protected")))
290   - f_protected (void)
291   -{
292   -}
293   -void
294   -__attribute__ ((visibility ("default")))
295   - f_default (void)
296   -{
297   -}
298   -int main (int argc, char **argv)
299   -{
300   - f_hidden();
301   - f_internal();
302   - f_protected();
303   - f_default();
304   - return 0;
305   -}
306   -],g_have_gnuc_visibility=yes,g_have_gnuc_visibility=no)
307   -AC_MSG_RESULT($g_have_gnuc_visibility)
308   -if test x$g_have_gnuc_visibility = xyes; then
309   - AC_DEFINE(HAVE_GNUC_VISIBILITY, 1, [supports GCC visibility attributes])
310   -fi
  147 +
  148 +PKG_CHECK_MODULES( [LIBV3270], [libv3270], AC_DEFINE(HAVE_LIBV3270), AC_MSG_ERROR([LIBV3270 not present.]))
  149 +
  150 +AC_SUBST(LIBV3270_LIBS)
  151 +AC_SUBST(LIBV3270_CFLAGS)
  152 +
  153 +AC_ARG_WITH([product-name], [AS_HELP_STRING([--with-product-name], [Set product name])], [ app_cv_product="$withval" ],[ app_cv_product=`pkg-config --variable=product_name lib3270` ])
  154 +AC_DEFINE_UNQUOTED(PRODUCT_NAME, $app_cv_product)
  155 +AC_SUBST(PRODUCT_NAME,$app_cv_product)
311 156  
312 157 dnl ---------------------------------------------------------------------------
313   -dnl Check for compiler visibility flag
  158 +dnl Check for GTK
314 159 dnl ---------------------------------------------------------------------------
315   -AC_MSG_CHECKING(whether $CC accepts -fvisibility=hidden)
316   -AC_CACHE_VAL(app_cv_fvisibility_ok,
317   -[ac_save_cc="$CC"
318   -CC="$CC -fvisibility=hidden"
319   -AC_TRY_RUN([int main() { return 0; }],
320   - app_cv_fvisibility_ok=yes,
321   - app_cv_fvisibility_ok=no,
322   - app_cv_fvisibility_ok=no)
323   -CC="$ac_save_cc"])
324   -AC_MSG_RESULT($app_cv_fvisibility_ok)
325   -if test $app_cv_fvisibility_ok = yes; then
326   - CFLAGS="$CFLAGS -fvisibility=hidden"
327   - CXXFLAGS="$CXXFLAGS -fvisibility=hidden"
328   -fi
  160 +
  161 +PKG_CHECK_MODULES( [GTK], [gtk+-3.0 glib-2.0 gmodule-2.0], AC_DEFINE(HAVE_GTK), AC_MSG_ERROR([GTK not present.]))
  162 +
  163 +AC_SUBST(GTK_LIBS)
  164 +AC_SUBST(GTK_CFLAGS)
  165 +AC_SUBST(GTK_MODVERSION,`$PKG_CONFIG --modversion gtk+-3.0`)
329 166  
330 167 dnl ---------------------------------------------------------------------------
331 168 dnl Check for pic
... ... @@ -335,138 +172,15 @@ AC_ARG_ENABLE([pic],
335 172 [
336 173 app_cv_pic="$enableval"
337 174 ],[
338   -
339   - case "$host_cpu" in
340   - x86_64)
341   - app_cv_pic="yes"
342   - ;;
343   -
344   - aarch64)
345   - app_cv_pic="yes"
346   - ;;
347   -
348   - *)
349   - app_cv_pic="no"
350   - esac
351   -
352   -dnl case "$host" in
353   -dnl *-mingw32|*-pc-msys)
354   -dnl app_cv_pic="no"
355   -dnl ;;
356   -dnl
357   -dnl *)
358   -dnl if test "$host_cpu" = "x86_64"; then
359   -dnl app_cv_pic="yes"
360   -dnl else
361   -dnl app_cv_pic="no"
362   -dnl fi
363   -dnl esac
  175 + app_cv_pic="yes"
364 176 ])
365 177  
366 178 if test "$app_cv_pic" == "yes"; then
367 179 CFLAGS="$CFLAGS -fPIC"
368   - CXXFLAGS="$CXXFLAGS -fPIC"
369   -fi
370   -
371   -dnl ---------------------------------------------------------------------------
372   -dnl Check for D-Bus
373   -dnl ---------------------------------------------------------------------------
374   -
375   -PKG_CHECK_MODULES( [DBUS], [dbus-1], app_cv_libdbus=yes, AC_MSG_NOTICE([ No DBUS support.]) )
376   -AC_SUBST(DBUS_LIBS)
377   -AC_SUBST(DBUS_CFLAGS)
378   -
379   -PKG_CHECK_MODULES( [GDBUS], [dbus-glib-1], app_cv_dbus=yes, AC_MSG_NOTICE([No GDBUS support.]) )
380   -AC_SUBST(GDBUS_LIBS)
381   -AC_SUBST(GDBUS_CFLAGS)
382   -
383   -if test "$app_cv_dbus" == "yes"; then
384   - AC_DEFINE(HAVE_DBUS)
  180 + LDFLAGS="$LDFLAGS -fPIC"
385 181 fi
386 182  
387 183 dnl ---------------------------------------------------------------------------
388   -dnl Lib3270 flags
389   -dnl ---------------------------------------------------------------------------
390   -
391   -PKG_CHECK_MODULES( [LIB3270], [lib3270], AC_DEFINE(HAVE_LIB3270), AC_MSG_ERROR([ No LIB3270 devel.]) )
392   -AC_SUBST(LIB3270_CFLAGS)
393   -AC_SUBST(LIB3270_LIBS)
394   -
395   -PKG_CHECK_MODULES( [LIBV3270], [libv3270], AC_DEFINE(HAVE_LIBV3270), AC_MSG_ERROR([ No V3270 devel.]) )
396   -AC_SUBST(LIBV3270_CFLAGS)
397   -AC_SUBST(LIBV3270_LIBS)
398   -
399   -AC_ARG_WITH([application-name], [AS_HELP_STRING([--with-application-name], [Set application name])], [ app_cv_appname="$withval" ],[ app_cv_appname=`pkg-config --variable=product_name lib3270` ])
400   -
401   -AC_DEFINE_UNQUOTED(APPLICATION_NAME,$app_cv_appname)
402   -AC_SUBST(APPLICATION_NAME,$app_cv_appname)
403   -
404   -AC_SUBST(PW3270_CFLAGS,-I$ac_pwd/src/include)
405   -AC_SUBST(PW3270_LIBS,-l$PACKAGE_TARNAME)
406   -
407   -dnl ---------------------------------------------------------------------------
408   -dnl Check for headers
409   -dnl ---------------------------------------------------------------------------
410   -
411   -AC_CHECK_HEADER(malloc.h, AC_DEFINE(HAVE_MALLOC_H,,[do we have malloc.h?]))
412   -
413   -AC_CHECK_FUNCS(getaddrinfo, AC_DEFINE(HAVE_GETADDRINFO) )
414   -AC_CHECK_FUNC(vasprintf, AC_DEFINE(HAVE_VASPRINTF) )
415   -AC_CHECK_FUNC(strtok_r, AC_DEFINE(HAVE_STRTOK_R) )
416   -
417   -AC_ARG_WITH([inet-ntop], [AS_HELP_STRING([--with-inet-ntop], [Assume that inet_nto() is available])], [ app_cv_inet_ntop="$withval" ],[ app_cv_inet_ntop="auto" ])
418   -
419   -if test "$app_cv_inet_ntop" == "auto"; then
420   -
421   - case "$host" in
422   - *-mingw32|*-pc-msys)
423   - app_cv_inet_ntop="yes"
424   - ;;
425   -
426   - *)
427   - AC_CHECK_FUNC(inet_ntop, app_cv_inet_ntop="yes" )
428   -
429   - esac
430   -
431   -fi
432   -
433   -if test "$app_cv_inet_ntop" == "yes"; then
434   - AC_DEFINE(HAVE_INET_NTOP)
435   -fi
436   -
437   -PKG_CHECK_EXISTS
438   -
439   -dnl ---------------------------------------------------------------------------
440   -dnl Check for GTK
441   -dnl ---------------------------------------------------------------------------
442   -
443   -PKG_CHECK_MODULES( [GTK], [gtk+-3.0 gmodule-2.0], [ GTK_VERSION="3.0" ], [ PKG_CHECK_MODULES( [GTK], [gtk+-2.0 >= 2.14 gthread-2.0 gmodule-2.0], [ GTK_VERSION="2.0" ] ) ], [ ] )
444   -
445   -AC_SUBST(GTK_LIBS)
446   -AC_SUBST(GTK_CFLAGS)
447   -AC_SUBST(GTK_VERSION)
448   -AC_SUBST(GTK_MODVERSION,`$PKG_CONFIG --modversion gtk+-$GTK_VERSION`)
449   -
450   -dnl ---------------------------------------------------------------------------
451   -dnl Check for GLIB
452   -dnl ---------------------------------------------------------------------------
453   -
454   -PKG_CHECK_MODULES( [GLIB], [glib-2.0], AC_DEFINE(HAVE_GLIB) )
455   -AC_SUBST(GLIB_LIBS)
456   -AC_SUBST(GLIB_CFLAGS)
457   -
458   -dnl ---------------------------------------------------------------------------
459   -dnl Check for Libraries
460   -dnl ---------------------------------------------------------------------------
461   -
462   -PKG_CHECK_MODULES( [LIBSSL], [libssl libcrypto], AC_DEFINE(HAVE_LIBSSL), AC_MSG_NOTICE([libssl not present.]) )
463   -
464   -AC_SUBST(LIBSSL_LIBS)
465   -AC_SUBST(LIBSSL_CFLAGS)
466   -
467   -AC_SEARCH_LIBS([dlopen], [dl], AC_DEFINE(HAVE_LIBDL), AC_MSG_NOTICE([libdl not present.]))
468   -
469   -dnl ---------------------------------------------------------------------------
470 184 dnl Directory config
471 185 dnl ---------------------------------------------------------------------------
472 186  
... ... @@ -474,30 +188,12 @@ AC_ARG_WITH([build-dir], [AS_HELP_STRING([--with-build-dir], [Setup build path])
474 188 AC_SUBST(BASEDIR,$app_cv_buildir)
475 189  
476 190 dnl ---------------------------------------------------------------------------
477   -dnl Output config
478   -dnl ---------------------------------------------------------------------------
479   -
480   -dnl ---------------------------------------------------------------------------
481 191 dnl Configure which files to generate.
482 192 dnl ---------------------------------------------------------------------------
483 193  
484   -AC_CONFIG_FILES(src/pw3270/Makefile)
485   -AC_CONFIG_FILES(src/pw3270/uiparser/Makefile)
486   -AC_CONFIG_FILES(src/pw3270/common/Makefile)
487   -
488   -AC_CONFIG_FILES(src/libpw3270cpp/Makefile)
489   -
490   -AC_CONFIG_FILES(ui/Makefile)
491   -AC_CONFIG_FILES(locale/Makefile)
492   -
493   -AC_CONFIG_FILES(branding/Makefile)
494   -AC_CONFIG_FILES(branding/launcher.desktop)
495   -
496   -AC_CONFIG_FILES(sdk/pw3270.pc)
497   -AC_CONFIG_FILES(sdk/Makefile)
  194 +AC_SUBST(INSTALL_PACKAGES)
498 195  
499 196 AC_CONFIG_FILES(Makefile)
500   -AC_CONFIG_FILES(versions)
501 197  
502 198 dnl ---------------------------------------------------------------------------
503 199 dnl Output the generated config.status script.
... ...
mac/Info.plist
... ... @@ -1,38 +0,0 @@
1   -<?xml version="1.0" encoding="UTF-8"?>
2   -<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3   -<plist version="1.0">
4   -<dict>
5   - <key>CFBundleDevelopmentRegion</key>
6   - <string>English</string>
7   - <key>CFBundleExecutable</key>
8   - <string>pw3270</string>
9   - <key>CFBundleGetInfoString</key>
10   - <string>pw3270 - 5.0-0</string>
11   - <key>CFBundleIconFile</key>
12   - <string>pw3270.icns</string>
13   - <key>CFBundleIdentifier</key>
14   - <string>pw3270</string>
15   - <key>CFBundleInfoDictionaryVersion</key>
16   - <string>6.0</string>
17   - <key>CFBundleLongVersionString</key>
18   - <string>pw3270-pw3270 © Banco do Brasil S.A.</string>
19   - <key>CFBundleName</key>
20   - <string>pw3270</string>
21   - <key>CFBundlePackageType</key>
22   - <string>APPL</string>
23   - <key>CFBundleShortVersionString</key>
24   - <string>5.0</string>
25   - <key>CFBundleSignature</key>
26   - <string>????</string>
27   - <key>CFBundleVersion</key>
28   - <string>5.0</string>
29   - <key>CSResourcesFileMapped</key>
30   - <true/>
31   - <key>LSRequiresCarbon</key>
32   - <true/>
33   - <key>NSHumanReadableCopyright</key>
34   - <string>Copyright (C) 2008 Banco do Brasil S.A., GNU General Public License.</string>
35   - <key>LSMinimumSystemVersion</key>
36   - <string>10.6</string>
37   -</dict>
38   -</plist>
mac/launcher.sh
... ... @@ -1,168 +0,0 @@
1   -#!/bin/sh
2   -
3   -if test "x$IGE_DEBUG_LAUNCHER" != x; then
4   - set -x
5   -fi
6   -
7   -if test "x$IGE_DEBUG_GDB" != x; then
8   - EXEC="gdb --args"
9   -else
10   - EXEC=exec
11   -fi
12   -
13   -name="`basename $0`"
14   -tmp="`pwd`/$0"
15   -tmp=`dirname "$tmp"`
16   -tmp=`dirname "$tmp"`
17   -bundle=`dirname "$tmp"`
18   -bundle_contents="$bundle"/Contents
19   -bundle_res="$bundle_contents"/Resources
20   -bundle_lib="$bundle_res"/lib
21   -bundle_bin="$bundle_res"/bin
22   -bundle_data="$bundle_res"/share
23   -bundle_etc="$bundle_res"/etc
24   -
25   -export DYLD_LIBRARY_PATH="$bundle_lib"
26   -export XDG_CONFIG_DIRS="$bundle_etc"/xdg
27   -export XDG_DATA_DIRS="$bundle_data"
28   -export GTK_DATA_PREFIX="$bundle_res"
29   -export GTK_EXE_PREFIX="$bundle_res"
30   -export GTK_PATH="$bundle_res"
31   -
32   -export GTK2_RC_FILES="$bundle_etc/gtk-2.0/gtkrc"
33   -export GTK_IM_MODULE_FILE="$bundle_etc/gtk-2.0/gtk.immodules"
34   -export GDK_PIXBUF_MODULE_FILE="$bundle_etc/gtk-2.0/gdk-pixbuf.loaders"
35   -export PANGO_RC_FILE="$bundle_etc/pango/pangorc"
36   -
37   -APP=name
38   -I18NDIR="$bundle_data/locale"
39   -# Set the locale-related variables appropriately:
40   -unset LANG LC_MESSAGES LC_MONETARY LC_COLLATE
41   -
42   -# Has a language ordering been set?
43   -# If so, set LC_MESSAGES and LANG accordingly; otherwise skip it.
44   -# First step uses sed to clean off the quotes and commas, to change - to _, and change the names for the chinese scripts from "Hans" to CN and "Hant" to TW.
45   -APPLELANGUAGES=`defaults read .GlobalPreferences AppleLanguages | sed -En -e 's/\-/_/' -e 's/Hant/TW/' -e 's/Hans/CN/' -e 's/[[:space:]]*\"?([[:alnum:]_]+)\"?,?/\1/p' `
46   -if test "$APPLELANGUAGES"; then
47   - # A language ordering exists.
48   - # Test, item per item, to see whether there is an corresponding locale.
49   - for L in $APPLELANGUAGES; do
50   - #test for exact matches:
51   - if test -f "$I18NDIR/${L}/LC_MESSAGES/$APP.mo"; then
52   - export LANG=$L
53   - break
54   - fi
55   - #This is a special case, because often the original strings are in US
56   - #English and there is no translation file.
57   - if test "x$L" == "xen_US"; then
58   - export LANG=$L
59   - break
60   - fi
61   - #OK, now test for just the first two letters:
62   - if test -f "$I18NDIR/${L:0:2}/LC_MESSAGES/$APP.mo"; then
63   - export LANG=${L:0:2}
64   - break
65   - fi
66   - #Same thing, but checking for any english variant.
67   - if test "x${L:0:2}" == "xen"; then
68   - export LANG=$L
69   - break
70   - fi;
71   - done
72   -fi
73   -unset APPLELANGUAGES L
74   -
75   -# If we didn't get a language from the language list, try the Collation preference, in case it's the only setting that exists.
76   -APPLECOLLATION=`defaults read .GlobalPreferences AppleCollationOrder`
77   -if test -z ${LANG} -a -n $APPLECOLLATION; then
78   - if test -f "$I18NDIR/${APPLECOLLATION:0:2}/LC_MESSAGES/$APP.mo"; then
79   - export LANG=${APPLECOLLATION:0:2}
80   - fi
81   -fi
82   -if test ! -z $APPLECOLLATION; then
83   - export LC_COLLATE=$APPLECOLLATION
84   -fi
85   -unset APPLECOLLATION
86   -
87   -# Continue by attempting to find the Locale preference.
88   -APPLELOCALE=`defaults read .GlobalPreferences AppleLocale`
89   -
90   -if test -f "$I18NDIR/${APPLELOCALE:0:5}/LC_MESSAGES/$APP.mo"; then
91   - if test -z $LANG; then
92   - export LANG="${APPLELOCALE:0:5}"
93   - fi
94   -
95   -elif test -z $LANG -a -f "$I18NDIR/${APPLELOCALE:0:2}/LC_MESSAGES/$APP.mo"; then
96   - export LANG="${APPLELOCALE:0:2}"
97   -fi
98   -
99   -#Next we need to set LC_MESSAGES. If at all possilbe, we want a full
100   -#5-character locale to avoid the "Locale not supported by C library"
101   -#warning from Gtk -- even though Gtk will translate with a
102   -#two-character code.
103   -if test -n $LANG; then
104   -#If the language code matches the applelocale, then that's the message
105   -#locale; otherwise, if it's longer than two characters, then it's
106   -#probably a good message locale and we'll go with it.
107   - if test $LANG == ${APPLELOCALE:0:5} -o $LANG != ${LANG:0:2}; then
108   - export LC_MESSAGES=$LANG
109   -#Next try if the Applelocale is longer than 2 chars and the language
110   -#bit matches $LANG
111   - elif test $LANG == ${APPLELOCALE:0:2} -a $APPLELOCALE > ${APPLELOCALE:0:2}; then
112   - export LC_MESSAGES=${APPLELOCALE:0:5}
113   -#Fail. Get a list of the locales in $PREFIX/share/locale that match
114   -#our two letter language code and pick the first one, special casing
115   -#english to set en_US
116   - elif test $LANG == "en"; then
117   - export LC_MESSAGES="en_US"
118   - else
119   - LOC=`find $PREFIX/share/locale -name $LANG???`
120   - for L in $LOC; do
121   - export LC_MESSAGES=$L
122   - done
123   - fi
124   -else
125   -#All efforts have failed, so default to US english
126   - export LANG="en_US"
127   - export LC_MESSAGES="en_US"
128   -fi
129   -CURRENCY=`echo $APPLELOCALE | sed -En 's/.*currency=([[:alpha:]]+).*/\1/p'`
130   -if test "x$CURRENCY" != "x"; then
131   -#The user has set a special currency. Gtk doesn't install LC_MONETARY files, but Apple does in /usr/share/locale, so we're going to look there for a locale to set LC_CURRENCY to.
132   - if test -f /usr/local/share/$LC_MESSAGES/LC_MONETARY; then
133   - if test -a `cat /usr/local/share/$LC_MESSAGES/LC_MONETARY` == $CURRENCY; then
134   - export LC_MONETARY=$LC_MESSAGES
135   - fi
136   - fi
137   - if test -z "$LC_MONETARY"; then
138   - FILES=`find /usr/share/locale -name LC_MONETARY -exec grep -H $CURRENCY {} \;`
139   - if test -n "$FILES"; then
140   - export LC_MONETARY=`echo $FILES | sed -En 's%/usr/share/locale/([[:alpha:]_]+)/LC_MONETARY.*%\1%p'`
141   - fi
142   - fi
143   -fi
144   -#No currency value means that the AppleLocale governs:
145   -if test -z "$LC_MONETARY"; then
146   - LC_MONETARY=${APPLELOCALE:0:5}
147   -fi
148   -#For Gtk, which only looks at LC_ALL:
149   -export LC_ALL=$LC_MESSAGES
150   -
151   -unset APPLELOCALE FILES LOC
152   -
153   -if test -f "$bundle_lib/charset.alias"; then
154   - export CHARSETALIASDIR="$bundle_lib"
155   -fi
156   -
157   -# Extra arguments can be added in environment.sh.
158   -EXTRA_ARGS=
159   -if test -f "$bundle_res/environment.sh"; then
160   - source "$bundle_res/environment.sh"
161   -fi
162   -
163   -# Strip out the argument added by the OS.
164   -if [ x`echo "x$1" | sed -e "s/^x-psn_.*//"` == x ]; then
165   - shift 1
166   -fi
167   -
168   -$EXEC "$bundle_contents/MacOS/$name-bin" $* $EXTRA_ARGS
mac/pw3270.bundle.in
... ... @@ -1,159 +0,0 @@
1   -<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
2   -<app-bundle>
3   -
4   - <meta>
5   - <!-- Where to pick up the GTK+ installation, icon themes,
6   - etc. Note that "${env:JHBUILD_PREFIX}" is evaluated to the
7   - value of the environment variable JHBUILD_PREFIX. You can
8   - define additional prefixes and refer to them in paths
9   - throughout this file on the form "${prefix:name}". This is
10   - useful for installing certain libraries or even the
11   - application itself separately. Note that JHBUILD_PREFIX is
12   - defined by jhbuild, so it you are not using jhbuild you can
13   - either define your own or just hardcode the path here.
14   - -->
15   - <prefix name="default">${env:JHBUILD_PREFIX}</prefix>
16   - <prefix name="bin">${project}/../.bin/Release</prefix>
17   -
18   - <!-- The project directory is the default location of the created
19   - app. If you leave out the path, the current directory is
20   - used. Note the usage of an environment variable here again.
21   - -->
22   - <destination overwrite="yes">${env:HOME}/Desktop</destination>
23   -
24   - <image>
25   - <!-- Not implemented yet (DMG image). -->
26   - </image>
27   -
28   - <!-- Comment this out to keep the install names in binaries -->
29   - <run-install-name-tool/>
30   -
31   - <!-- Optionally specify a launcher script to use. If the
32   - application sets up everything needed itself, like
33   - environment variable, linker paths, etc, a launcher script is
34   - not needed. If the source path is left out, the default
35   - script will be used.
36   - -->
37   - <launcher-script>${project}/launcher.sh</launcher-script >
38   -
39   - <!-- Not implemented: Optional runtime, could be python or mono
40   - for example.
41   - -->
42   - <!-- runtime copy="yes">/usr/bin/python</runtime -->
43   - <!-- Indicate the active gtk version to use. This is needed only
44   - for gtk+-3.0 projects. -->
45   - <gtk>gtk+-3.0</gtk>
46   - </meta>
47   -
48   - <!-- The special macro "${project}" refers to the directory where
49   - this bundle file is located. The application name and bundle
50   - identifier are taken from the plist file.
51   - -->
52   - <plist>${project}/Info.plist</plist>
53   -
54   - <main-binary>${prefix:bin}/pw3270</main-binary>
55   - <binary>
56   - ${prefix:bin}/lib/*.so.@VERSION@
57   - </binary>
58   -
59   - <!-- Copy in the input methods. Dunno if they actually work with
60   - OSX. Note the ${gtkdir} macro, which expands to the correct
61   - library subdirectory for the specified gtk version. -->
62   - <binary>
63   - ${prefix}/lib/${gtkdir}/${pkg:${gtk}:gtk_binary_version}/immodules/*.so
64   - </binary>
65   -
66   - <!-- And the print backends -->
67   - <binary>
68   - ${prefix}/lib/${gtkdir}/${pkg:${gtk}:gtk_binary_version}/printbackends/*.so
69   - </binary>
70   -
71   - <!-- Starting with 2.24, gdk-pixbuf installs into its own directory. -->
72   - <binary>
73   - ${prefix}/lib/gdk-pixbuf-2.0/${pkg:gdk-pixbuf-2.0:gdk_pixbuf_binary_version}/loaders/*.so
74   - </binary>
75   -
76   - <binary>
77   - ${prefix}/lib/pango/${pkg:pango:pango_module_version}/modules/
78   - </binary>
79   -
80   - <data>
81   - ${prefix}/etc/pango/
82   - </data>
83   -
84   - <!-- Translation filenames, one for each program or library that you
85   - want to copy in to the bundle. The "dest" attribute is
86   - optional, as usual. Bundler will find all translations of that
87   - library/program under the indicated directory and copy them.-->
88   - <translations name="gtk30">
89   - ${prefix}/share/locale
90   - </translations>
91   -
92   - <data dest="${bundle}/Contents/Resources/share/locale/pt_BR/LC_MESSAGES/pw3270.mo">
93   - ${project}/../.bin/Release/usr/local/share/locale/pt_BR/LC_MESSAGES/pw3270.mo
94   - </data>
95   -
96   - <!-- Data to copy in, usually Glade/UI files, images, sounds files
97   - etc. The destination inside the bundle can be specified if the
98   - files should end up at a different location, by using the
99   - "dest" property. The destination must then start with the macro
100   - "${bundle}", which refers to the bundle root directory.
101   - -->
102   - <!-- data>
103   - </data -->
104   - <data dest="${bundle}/Contents/Resources/share/ui/00default.xml">
105   - ${project}/../ui/00default.xml
106   - </data>
107   -
108   - <data dest="${bundle}/Contents/Resources/share/colors.conf">
109   - ${project}/../colors.conf
110   - </data>
111   -
112   - <data dest="${bundle}/Contents/LICENCA">
113   - ${project}/../LICENCA
114   - </data>
115   -
116   - <data dest="${bundle}/Contents/LICENSE">
117   - ${project}/../LICENSE
118   - </data>
119   -
120   - <data dest="${bundle}/Contents/AUTHORS">
121   - ${project}/../AUTHORS
122   - </data>
123   -
124   - <!-- Copy in the themes data. You may want to trim this to save space
125   - in your bundle. -->
126   - <data>
127   - ${prefix}/share/themes
128   - </data>
129   -
130   - <!-- Copy icons. Note that the .icns file is an Apple format which
131   - contains up to 4 sizes of icon. You can use
132   - /Developer/Applications/Utilities/Icon Composer.app to import
133   - artwork and create the file. -->
134   - <data dest="${bundle}/Contents/Resources">
135   - ${project}/pw3270.icns
136   - </data>
137   -
138   - <!-- This is where theme commands go. You can copy them in from your
139   - theme of choice if they provide and example, or you can just
140   - change the source path. -->
141   -
142   - <!--- data dest="${bundle}/Contents/Resources/etc/${gtk}/gtkrc">
143   - ${project}/gtkrc
144   - </data -->
145   -
146   - <!-- Icon themes to copy. The "icons" property can be either of
147   - "auto", "all", or "none". All or none should be
148   - self-explanatory, while auto means that the script will try to
149   - figure out which icons are needed. This is done by getting all
150   - the strings from all copied binaries, and matching them against
151   - icon names. To be safe, you should use "all". "none" is useful
152   - if you want just the index.theme file but no icons, mostly
153   - needed for the "hicolor" base theme.
154   - -->
155   - <icon-theme icons="all">
156   - Tango
157   - </icon-theme>
158   -
159   -</app-bundle>
mac/pw3270.icns
No preview for this file type
pw3270.cbp
... ... @@ -42,212 +42,54 @@
42 42 <Add option="`pkg-config gtk+-3.0 lib3270 --libs`" />
43 43 </Linker>
44 44 <Unit filename="Makefile.in" />
45   - <Unit filename="android/Makefile" />
46   - <Unit filename="android/jni/Android.mk" />
47   - <Unit filename="android/jni/globals.h" />
48   - <Unit filename="autogen.sh" />
49 45 <Unit filename="configure.ac" />
50   - <Unit filename="man/man1/pw3270.1" />
51   - <Unit filename="src/classlib/Makefile.in" />
52   - <Unit filename="src/classlib/class.mak.in" />
53   - <Unit filename="src/include/config.h.in" />
54   - <Unit filename="src/include/plugin.mak.in" />
55   - <Unit filename="src/include/pw3270.h" />
56   - <Unit filename="src/include/pw3270/hllapi.h" />
57   - <Unit filename="src/include/pw3270/ipcpackets.h" />
58   - <Unit filename="src/include/pw3270/plugin.h" />
59   - <Unit filename="src/include/pw3270cpp.h" />
60   - <Unit filename="src/include/rules.mak.in" />
61   - <Unit filename="src/java/Makefile.in" />
62   - <Unit filename="src/lib3270/Makefile.in" />
63   - <Unit filename="src/lib3270/sources.mak" />
64   - <Unit filename="src/libpw3270cpp/exception.cc" />
65   - <Unit filename="src/libpw3270cpp/local.cc" />
66   - <Unit filename="src/libpw3270cpp/module.cc" />
67   - <Unit filename="src/libpw3270cpp/private.h" />
68   - <Unit filename="src/libpw3270cpp/remote.cc" />
69   - <Unit filename="src/libpw3270cpp/service.cc" />
70   - <Unit filename="src/libpw3270cpp/session.cc" />
71   - <Unit filename="src/libpw3270cpp/testprogram.cc" />
72   - <Unit filename="src/loffice/Makefile.in" />
73   - <Unit filename="src/loffice/description.txt" />
74   - <Unit filename="src/loffice/description.xml" />
75   - <Unit filename="src/loffice/description.xml.in" />
76   - <Unit filename="src/loffice/manifest.xml" />
77   - <Unit filename="src/loffice/manifest.xml.in" />
78   - <Unit filename="src/loffice/pw3270.idl" />
79   - <Unit filename="src/oxt/Makefile.in" />
80   - <Unit filename="src/oxt/description.txt" />
81   - <Unit filename="src/oxt/description.xml.in" />
82   - <Unit filename="src/oxt/manifest.xml.in" />
83   - <Unit filename="src/oxt/pw3270.idl" />
84   - <Unit filename="src/php/Makefile.in" />
85   - <Unit filename="src/php/php.ini" />
86   - <Unit filename="src/php/sample.php" />
87   - <Unit filename="src/plugins/dbus3270/Makefile.in" />
88   - <Unit filename="src/plugins/dbus3270/daemon.c">
  46 + <Unit filename="src/include/pw3270/actions.h" />
  47 + <Unit filename="src/include/pw3270/application.h" />
  48 + <Unit filename="src/include/pw3270/toolbar.h" />
  49 + <Unit filename="src/include/pw3270/window.h" />
  50 + <Unit filename="src/main/main.c">
89 51 <Option compilerVar="CC" />
90 52 </Unit>
91   - <Unit filename="src/plugins/dbus3270/gobject.c">
  53 + <Unit filename="src/main/private.h" />
  54 + <Unit filename="src/objects/actions/abstract.c">
92 55 <Option compilerVar="CC" />
93 56 </Unit>
94   - <Unit filename="src/plugins/dbus3270/iocallback.c">
  57 + <Unit filename="src/objects/actions/lib3270/action.c">
95 58 <Option compilerVar="CC" />
96 59 </Unit>
97   - <Unit filename="src/plugins/dbus3270/main.c">
  60 + <Unit filename="src/objects/actions/lib3270/pakey.c">
98 61 <Option compilerVar="CC" />
99 62 </Unit>
100   - <Unit filename="src/plugins/dbus3270/misc.c">
  63 + <Unit filename="src/objects/actions/lib3270/pfkey.c">
101 64 <Option compilerVar="CC" />
102 65 </Unit>
103   - <Unit filename="src/plugins/dbus3270/pw3270dbus.xml" />
104   - <Unit filename="src/plugins/dbus3270/test.sh" />
105   - <Unit filename="src/plugins/hllapi/Makefile.in" />
106   - <Unit filename="src/plugins/hllapi/calls.cc" />
107   - <Unit filename="src/plugins/hllapi/hllapi.c">
  66 + <Unit filename="src/objects/actions/lib3270/toggle.c">
108 67 <Option compilerVar="CC" />
109 68 </Unit>
110   - <Unit filename="src/plugins/hllapi/pluginmain.c">
  69 + <Unit filename="src/objects/actions/private.h" />
  70 + <Unit filename="src/objects/actions/window.c">
111 71 <Option compilerVar="CC" />
112 72 </Unit>
113   - <Unit filename="src/plugins/hllapi/testprogram.c">
  73 + <Unit filename="src/objects/toolbar/core.c">
114 74 <Option compilerVar="CC" />
115 75 </Unit>
116   - <Unit filename="src/plugins/rx3270/Makefile.in" />
117   - <Unit filename="src/plugins/rx3270/pluginmain.cc" />
118   - <Unit filename="src/plugins/rx3270/rexx_methods.cc" />
119   - <Unit filename="src/plugins/rx3270/rx3270.cc" />
120   - <Unit filename="src/plugins/rx3270/rx3270.cls" />
121   - <Unit filename="src/plugins/rx3270/rxapimain.cc" />
122   - <Unit filename="src/plugins/rx3270/sample/charset.rex" />
123   - <Unit filename="src/plugins/rx3270/sample/clipboard.rex" />
124   - <Unit filename="src/plugins/rx3270/sample/object.rex" />
125   - <Unit filename="src/plugins/rx3270/sample/remote.rex" />
126   - <Unit filename="src/plugins/rx3270/typed_routines.cc" />
127   - <Unit filename="src/pw3270/Makefile.in" />
128   - <Unit filename="src/pw3270/actions.c">
  76 + <Unit filename="src/objects/toolbar/private.h" />
  77 + <Unit filename="src/objects/window/actions.c">
129 78 <Option compilerVar="CC" />
130 79 </Unit>
131   - <Unit filename="src/pw3270/charset.c">
  80 + <Unit filename="src/objects/window/application.c">
132 81 <Option compilerVar="CC" />
133 82 </Unit>
134   - <Unit filename="src/pw3270/colors.c">
  83 + <Unit filename="src/objects/window/private.h" />
  84 + <Unit filename="src/objects/window/terminal.c">
135 85 <Option compilerVar="CC" />
136 86 </Unit>
137   - <Unit filename="src/pw3270/common/common.h" />
138   - <Unit filename="src/pw3270/common/config.c">
  87 + <Unit filename="src/objects/window/tools.c">
139 88 <Option compilerVar="CC" />
140 89 </Unit>
141   - <Unit filename="src/pw3270/common/sources.mak" />
142   - <Unit filename="src/pw3270/dialog.c">
  90 + <Unit filename="src/objects/window/window.c">
143 91 <Option compilerVar="CC" />
144 92 </Unit>
145   - <Unit filename="src/pw3270/filetransfer.h" />
146   - <Unit filename="src/pw3270/fonts.c">
147   - <Option compilerVar="CC" />
148   - </Unit>
149   - <Unit filename="src/pw3270/ft/private.h" />
150   - <Unit filename="src/pw3270/ft/v3270ft.h" />
151   - <Unit filename="src/pw3270/hostdialog.c">
152   - <Option compilerVar="CC" />
153   - </Unit>
154   - <Unit filename="src/pw3270/include/v3270.h" />
155   - <Unit filename="src/pw3270/include/v3270ft.h" />
156   - <Unit filename="src/pw3270/linux/print.c">
157   - <Option compilerVar="CC" />
158   - </Unit>
159   - <Unit filename="src/pw3270/main.c">
160   - <Option compilerVar="CC" />
161   - </Unit>
162   - <Unit filename="src/pw3270/plugin.c">
163   - <Option compilerVar="CC" />
164   - </Unit>
165   - <Unit filename="src/pw3270/print.c">
166   - <Option compilerVar="CC" />
167   - </Unit>
168   - <Unit filename="src/pw3270/private.h" />
169   - <Unit filename="src/pw3270/resources.rc">
170   - <Option compilerVar="WINDRES" />
171   - </Unit>
172   - <Unit filename="src/pw3270/tools.c">
173   - <Option compilerVar="CC" />
174   - </Unit>
175   - <Unit filename="src/pw3270/uiparser/Makefile.in" />
176   - <Unit filename="src/pw3270/uiparser/accelerator.c">
177   - <Option compilerVar="CC" />
178   - </Unit>
179   - <Unit filename="src/pw3270/uiparser/action.c">
180   - <Option compilerVar="CC" />
181   - </Unit>
182   - <Unit filename="src/pw3270/uiparser/button.c">
183   - <Option compilerVar="CC" />
184   - </Unit>
185   - <Unit filename="src/pw3270/uiparser/keypad.c">
186   - <Option compilerVar="CC" />
187   - </Unit>
188   - <Unit filename="src/pw3270/uiparser/keypad.h" />
189   - <Unit filename="src/pw3270/uiparser/menu.c">
190   - <Option compilerVar="CC" />
191   - </Unit>
192   - <Unit filename="src/pw3270/uiparser/menubar.c">
193   - <Option compilerVar="CC" />
194   - </Unit>
195   - <Unit filename="src/pw3270/uiparser/menuitem.c">
196   - <Option compilerVar="CC" />
197   - </Unit>
198   - <Unit filename="src/pw3270/uiparser/parsefile.c">
199   - <Option compilerVar="CC" />
200   - </Unit>
201   - <Unit filename="src/pw3270/uiparser/parser.c">
202   - <Option compilerVar="CC" />
203   - </Unit>
204   - <Unit filename="src/pw3270/uiparser/parser.h" />
205   - <Unit filename="src/pw3270/uiparser/popup.c">
206   - <Option compilerVar="CC" />
207   - </Unit>
208   - <Unit filename="src/pw3270/uiparser/private.h" />
209   - <Unit filename="src/pw3270/uiparser/script.c">
210   - <Option compilerVar="CC" />
211   - </Unit>
212   - <Unit filename="src/pw3270/uiparser/scroll.c">
213   - <Option compilerVar="CC" />
214   - </Unit>
215   - <Unit filename="src/pw3270/uiparser/separator.c">
216   - <Option compilerVar="CC" />
217   - </Unit>
218   - <Unit filename="src/pw3270/uiparser/sources.mak" />
219   - <Unit filename="src/pw3270/uiparser/testprogram.c">
220   - <Option compilerVar="CC" />
221   - </Unit>
222   - <Unit filename="src/pw3270/uiparser/toolbar.c">
223   - <Option compilerVar="CC" />
224   - </Unit>
225   - <Unit filename="src/pw3270/uiparser/toolitem.c">
226   - <Option compilerVar="CC" />
227   - </Unit>
228   - <Unit filename="src/pw3270/v3270/genmarshal" />
229   - <Unit filename="src/pw3270/v3270/sources.mak" />
230   - <Unit filename="src/pw3270/v3270ft/Makefile.in" />
231   - <Unit filename="src/pw3270/v3270ft/genmarshal" />
232   - <Unit filename="src/pw3270/window.c">
233   - <Option compilerVar="CC" />
234   - </Unit>
235   - <Unit filename="src/pw3270/windows/print.c">
236   - <Option compilerVar="CC" />
237   - </Unit>
238   - <Unit filename="src/pw3270/windows/resources.rc.in" />
239   - <Unit filename="src/sample/Makefile.in" />
240   - <Unit filename="src/sample/connect.c">
241   - <Option compilerVar="CC" />
242   - </Unit>
243   - <Unit filename="src/tools/Makefile.in" />
244   - <Unit filename="ui/00default.xml" />
245   - <Unit filename="ui/10functions.xml" />
246   - <Unit filename="ui/10keypad.xml" />
247   - <Unit filename="ui/80rexx.xml" />
248   - <Unit filename="ui/98trace.xml" />
249   - <Unit filename="ui/99debug.xml" />
250   - <Unit filename="updateChangeLog.sh" />
251 93 <Extensions>
252 94 <code_completion />
253 95 <debugger />
... ...
src/include/config.h.in
... ... @@ -24,40 +24,17 @@
24 24 *
25 25 * perry.werneck@gmail.com (Alexandre Perry de Souza Werneck)
26 26 * erico.mendonca@gmail.com (Erico Mascarenhas de Mendonça)
27   - * licinio@bb.com.br (Licínio Luis Branco)
28   - * kraucer@bb.com.br (Kraucer Fernandes Mazuco)
29 27 *
30 28 */
31 29  
32   -#ifndef PW3270_CONFIG_INCLUDED
  30 +#ifndef PW3270_CONFIG_H_INCLUDED
33 31  
34   - #define PW3270_CONFIG_INCLUDED 1
  32 + #define PW3270_CONFIG_H_INCLUDED 1
35 33  
36 34 #undef PACKAGE_NAME
37 35 #undef PACKAGE_VERSION
38 36 #undef PACKAGE_RELEASE
39 37 #undef PRODUCT_NAME
40   - #undef PACKAGE_DESCRIPTION
41 38  
42   - #undef DEFAULT_SESSION_NAME
43   - #undef APPLICATION_NAME
44   -
45   - #undef HAVE_GNUC_VISIBILITY
46   - #undef HAVE_LIBM
47   - #undef HAVE_LIBINTL
48   - #undef HAVE_GETADDRINFO
49   - #undef HAVE_SYSLOG
50   - #undef HAVE_DBUS
51   - #undef HAVE_VASPRINTF
52   - #undef HAVE_INET_NTOP
53   -
54   - #undef HAVE_ICONV
55   - #undef ICONV_CONST
56   -
57   - #undef ENABLE_WINDOWS_REGISTRY
58   -
59   - #undef HAVE_GNOME
60   - #undef HAVE_GTKMAC
61   -
62   -#endif /* PW3270_CONFIG_INCLUDED */
  39 +#endif /* PW3270_CONFIG_H_INCLUDED */
63 40  
... ...
src/main/windows/resources.rc.in 0 → 100644
... ... @@ -0,0 +1,31 @@
  1 +#include <windows.h>
  2 +
  3 +1 ICON @PACKAGE_TARNAME@.ico
  4 +
  5 +VS_VERSION_INFO VERSIONINFO
  6 +FILEVERSION @WIN32_FILE_VERSION@
  7 +PRODUCTVERSION @PACKAGE_MAJOR_VERSION@,@PACKAGE_MINOR_VERSION@,@PACKAGE_MAJOR_RELEASE@,@PACKAGE_MINOR_RELEASE@
  8 +
  9 +BEGIN
  10 +
  11 + BLOCK "StringFileInfo"
  12 + BEGIN
  13 + BLOCK "080904E4"
  14 + BEGIN
  15 + VALUE "FileDescription", "@PACKAGE_DESCRIPTION@\0"
  16 + VALUE "CompanyName", "Banco do Brasil S/A.\0"
  17 + VALUE "FileVersion", "@WIN32_VERSION@\0"
  18 + VALUE "LegalCopyright", "(C) 2017 Banco do Brasil S/A. All Rights Reserved\0"
  19 + VALUE "OriginalFilename", "@APPLICATION_NAME@.exe\0"
  20 + VALUE "ProductName", "@PRODUCT_NAME@\0"
  21 + VALUE "ProductVersion", "@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@.@PACKAGE_MAJOR_RELEASE@.@PACKAGE_MINOR_RELEASE@\0"
  22 + END
  23 + END
  24 +
  25 + BLOCK "VarFileInfo"
  26 + BEGIN
  27 + VALUE "Translation", 0x809, 0x04E4
  28 + END
  29 +
  30 +END
  31 +
... ...
src/objects/actions/window.c
... ... @@ -38,39 +38,15 @@
38 38  
39 39 void pw3270_window_add_actions(GtkWidget * appwindow) {
40 40  
41   - GActionMap * map = G_ACTION_MAP(appwindow);
42   - GtkWidget * terminal = pw3270_window_get_terminal_widget(appwindow);
  41 + GActionMap * map = G_ACTION_MAP(appwindow);
43 42 size_t ix;
44 43  
45   - /*
46   - GAction *action = pw3270_action_new_from_lib3270(lib3270_action_get_by_name("testpattern"));
47   - pw3270_action_set_terminal_widget(action,terminal);
48   -
49   - debug("--> \"%s\"",pw3270_action_get_name(action));
50   -
51   - g_action_map_add_action(map,action);
52   -
53   - debug("--> \"%s\"",pw3270_action_get_name(action));
54   - */
55   -
56   - /*
57   - GAction *action = pw3270_toggle_action_new_from_lib3270(lib3270_get_toggles() + LIB3270_TOGGLE_INSERT);
58   - pw3270_action_set_terminal_widget(action,terminal);
59   -
60   - debug("--> \"%s\"",pw3270_action_get_name(action));
61   -
62   - g_action_map_add_action(map,action);
63   -
64   - debug("--> \"%s\"",pw3270_action_get_name(action));
65   - */
66   -
67 44 // Map lib3270 actions
68 45 {
69 46 const LIB3270_ACTION * actions = lib3270_get_actions();
70 47 for(ix = 0; actions[ix].name; ix++) {
71 48  
72 49 GAction *action = pw3270_action_new_from_lib3270(&actions[ix]);
73   - pw3270_action_set_terminal_widget(action,terminal);
74 50 g_action_map_add_action(map,action);
75 51  
76 52 }
... ... @@ -82,7 +58,6 @@
82 58 for(ix = 0; toggles[ix].name; ix++) {
83 59  
84 60 GAction *action = pw3270_toggle_action_new_from_lib3270(&toggles[ix]);
85   - pw3270_action_set_terminal_widget(action,terminal);
86 61 g_action_map_add_action(map,action);
87 62  
88 63 }
... ... @@ -96,7 +71,6 @@
96 71 };
97 72  
98 73 for(ix = 0; ix < G_N_ELEMENTS(actions); ix++) {
99   - pw3270_action_set_terminal_widget(actions[ix],terminal);
100 74 g_action_map_add_action(map,actions[ix]);
101 75 }
102 76 }
... ...
src/pw3270/windows/resources.rc.in
... ... @@ -1,31 +0,0 @@
1   -#include <windows.h>
2   -
3   -1 ICON @PACKAGE_TARNAME@.ico
4   -
5   -VS_VERSION_INFO VERSIONINFO
6   -FILEVERSION @WIN32_FILE_VERSION@
7   -PRODUCTVERSION @PACKAGE_MAJOR_VERSION@,@PACKAGE_MINOR_VERSION@,@PACKAGE_MAJOR_RELEASE@,@PACKAGE_MINOR_RELEASE@
8   -
9   -BEGIN
10   -
11   - BLOCK "StringFileInfo"
12   - BEGIN
13   - BLOCK "080904E4"
14   - BEGIN
15   - VALUE "FileDescription", "@PACKAGE_DESCRIPTION@\0"
16   - VALUE "CompanyName", "Banco do Brasil S/A.\0"
17   - VALUE "FileVersion", "@WIN32_VERSION@\0"
18   - VALUE "LegalCopyright", "(C) 2017 Banco do Brasil S/A. All Rights Reserved\0"
19   - VALUE "OriginalFilename", "@APPLICATION_NAME@.exe\0"
20   - VALUE "ProductName", "@PRODUCT_NAME@\0"
21   - VALUE "ProductVersion", "@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@.@PACKAGE_MAJOR_RELEASE@.@PACKAGE_MINOR_RELEASE@\0"
22   - END
23   - END
24   -
25   - BLOCK "VarFileInfo"
26   - BEGIN
27   - VALUE "Translation", 0x809, 0x04E4
28   - END
29   -
30   -END
31   -
ui/00default.xml
... ... @@ -1,267 +0,0 @@
1   -<!-----------------------------------------------------------------------------
2   -
3   - Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270
4   - (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a
5   - aplicativos mainframe. Registro no INPI sob 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   -
23   - Contatos:
24   -
25   - perry.werneck@gmail.com (Alexandre Perry de Souza Werneck)
26   - erico.mendonca@gmail.com (Erico Mascarenhas Mendonça)
27   -
28   ------------------------------------------------------------------------------->
29   -
30   -<ui>
31   - <menubar name='topmenu' topmenu='yes'>
32   -
33   - <menu name='FileMenu' label='_File' >
34   -
35   - <!---
36   - Extended attributes for 'save' actions:
37   -
38   - * overwrite='yes' to always overwrite file
39   - * filename='PATH' to save to a predefined file whithout user interaction
40   -
41   - --->
42   - <menuitem action='save' src='all' group='online' label='Save screen' />
43   - <menuitem action='save' src='selected' group='selection' label='Save selected' />
44   - <menuitem action='save' src='copy' group='clipboard' label='Save copy' />
45   -
46   - <separator/>
47   - <menuitem action='print' src='all' group='online' key='Print' icon='print' label='Print' />
48   - <menuitem action='print' src='selected' group='selection' label='Print selected' />
49   - <menuitem action='print' src='copy' group='clipboard' label='Print copy' />
50   - <separator/>
51   -
52   - <menuitem action='transfer' key='<alt>t' label='Send/Receive' />
53   - <menuitem action='Quit' key='<ctrl>q' label='Quit' icon="quit" sysmenu="quit"/>
54   -
55   - </menu>
56   -
57   - <menu name='EditMenu' label='_Edit' >
58   - <menuitem action='copy' append='no' format='text' key='<ctrl>c' icon='copy' group='selection' label='Copy' />
59   - <menuitem action='copy' append='no' format='table' key='<ctrl><alt>c' group='selection' label='Copy as table' />
60   - <!-- menuitem action='copy' mode='image' group='selection' label='Copy as image' /-->
61   - <menuitem action='copy' append='yes' key='<shift><ctrl>c' group='selection' label='Add to copy' />
62   - <menuitem action='cut' append='no' format='text' key='<ctrl>x' icon='cut' group='selection' label='Cut' />
63   - <menuitem action='paste' src='clipboard' key='<ctrl>v' icon='paste' group='paste' label='Paste' />
64   - <menuitem action='paste' src='next' key='<shift><ctrl>v' label='Paste next' />
65   -
66   - <!-- If you want to paste a predefined file use the attribute filename='FULL_PATH' -->
67   - <menuitem action='paste' src='file' group='online' label='Paste text file' />
68   -
69   - <separator/>
70   - <menuitem action='select' target='all' key='<ctrl>a' icon='select-all' group='online' label='Select all' />
71   - <menuitem action='select' target='field' key='<Ctrl>f' group='online' label='Select Field' />
72   - <menuitem action='select' target='none' group='selection' label='Remove selection' />
73   - <menuitem action='select' target='last' key='<Ctrl>r' group='online' label='Reselect' />
74   -
75   - <separator/>
76   - <menuitem action='erase' target='all' group='online' key='Pause' label='Clear' />
77   - <menuitem action='erase' target='input' icon='clear' group='online' label='Erase input' />
78   - <menuitem action='erase' target='field' key='<Ctrl>u' group='online' label='Delete field' />
79   - <menuitem action='erase' target='eof' group='online' key='End' label='Erase to end of field' />
80   - <menuitem action='erase' target='eol' group='online' label='Erase to end of line' />
81   - </menu>
82   -
83   - <!--- Special action - View menu will be populated with labeled toolbars, menubars and keypads --->
84   - <menu name='View' label='_View' />
85   -
86   - <menu name='ScriptsMenu' label='Scripts' visible='no' />
87   -
88   - <menu name='NetworkMenu' label='_Network' >
89   - <menuitem action='hostname' icon='home' group='offline' label='Configure host' />
90   -
91   - <!--
92   - If you want to connect to specific host use host='uri' to set it
93   -
94   - Examples:
95   -
96   - <menuitem name='IBMlink' action='connect' icon='connect' group='offline' label='IBMlink' host='ibmlink.advantis.com' />
97   - <menuitem name='fandezhi' action='connect' icon='connect' group='offline' label='Fan DeZhi Mainframe System' host='fandezhi.efglobe.com:23' />
98   - -->
99   - <menuitem action='connect' icon='connect' group='offline' label='_Connect' />
100   - <menuitem action='disconnect' icon='disconnect' group='online' label='_Disconnect' />
101   - </menu>
102   -
103   - <menu name='SettingsMenu' label='Settings'>
104   - <menuitem action='editcolors' icon='select-color' label='Colors' />
105   - <menuitem action='printsettings' platform='windows' label='Print settings' />
106   -
107   - <!--- Special action - The fontselect menu will be populated with all available monospaced fonts --->
108   - <menuitem name='fontselect' icon='select-font' label='Select font' />
109   -
110   - <!--- Special action - The Scrensizes menu will be populate with the available screen sizes --->
111   - <menuitem name='ScreenSizes' group='offline' label='Screen size' />
112   -
113   - <menu name='OptionsMenu' label='_Options' >
114   - <menuitem action='toggle' id='AutoConnect' label='Connect on startup' />
115   - <menuitem action='toggle' id='CursorBlink' label='Blinking Cursor' />
116   - <menuitem action='toggle' id='Monocase' label='Monocase' />
117   - <menuitem action='toggle' id='CursorPos' label='Track Cursor' />
118   - <menuitem action='toggle' id='FullScreen' key='<alt>Home' label='Full Screen' />
119   - <menuitem action='toggle' id='AltScreen' label='Resize on alternate screen' />
120   - <menuitem action='toggle' id='MarginedPaste' label='Paste with left margin' />
121   - <menuitem action='toggle' id='CrossHair' key='<alt>x' label='Cross hair cursor' />
122   - <menuitem action='toggle' id='BlankFill' label='Blank Fill' />
123   - <menuitem action='toggle' id='RectSelect' label='Select by rectangles' />
124   - <menuitem action='toggle' id='AutoReconnect' label='Auto-Reconnect' />
125   - <menuitem action='toggle' id='Bold' label='Bold' />
126   - <menuitem action='toggle' id='Underline' label='Show Underline' />
127   - <menuitem action='toggle' id='KeepSelected' label='Keep selected' />
128   - <menuitem action='toggle' id='SmartPaste' label='Smart paste' />
129   - <menuitem action='toggle' id='Beep' label='Alert sound' />
130   - <menuitem action='toggle' id='KPAlternative' label='Use +/- for field navigation' />
131   - <menuitem action='toggle' id='keepalive' label='Network keep alive' />
132   - </menu>
133   -
134   - <!--- Special action - InputMethod menu will be populated with Gtk input_method menu items --->
135   - <menuitem name='InputMethod' label='Input method' />
136   -
137   - </menu>
138   -
139   - <menu name='HelpMenu' label='Help' >
140   - <menuitem action='about' icon='about' sysmenu='about' />
141   - </menu>
142   -
143   - </menubar>
144   -
145   - <toolbar name='toolbar.default' label='Toolbar' key='<alt>t' >
146   - <toolitem action='selectall' tooltip='Select all'/>
147   - <toolitem action='copy' append='no' format='text' tooltip='Copy selected area to clipboard' />
148   - <toolitem action='paste' src='clipboard' tooltip='Paste from clipboard'/>
149   - <toolitem action='erase' target='input' tooltip='Erase screen contents' />
150   -
151   - <separator/>
152   - <toolitem action='connect' tooltip='Connect to host'/>
153   - <toolitem action='disconnect' tooltip='Disconnect from host'/>
154   -
155   - <separator/>
156   - <toolitem action='set' toggle='fullscreen' icon='fullscreen' label='Full Screen' tooltip='Go to fullscreen mode'/>
157   - <toolitem action='reset' toggle='fullscreen' icon='leave-fullscreen' label='Window' tooltip='Go back to window mode'/>
158   - <toolitem action='editcolors' tooltip='Select terminal colors'/>
159   - <toolitem action='transfer' icon='harddisk' tooltip='Send/Receive files'/>
160   - <toolitem action='print' src='all' tooltip='Print screen contents'/>
161   - <toolitem action='Quit' tooltip='Quit pw3270'/>
162   - </toolbar>
163   -
164   - <popup name='selectionpopup' type='selection'>
165   - <menuitem action='copy' append='no' format='text' />
166   - <menuitem action='copy' append='yes' />
167   - <menuitem action='select' target='none'/>
168   - <menuitem action='select' target='all'/>
169   -
170   - <separator />
171   - <menuitem action='print' src='all'/>
172   - <menuitem action='print' src='selected'/>
173   - <menuitem action='print' src='copy'/>
174   -
175   - <separator />
176   - <menuitem action='Quit'/>
177   - </popup>
178   -
179   - <popup name='defaultpopup' type='default'>
180   - <menuitem action='paste' src='clipboard'/>
181   - <menuitem action='paste' src='next'/>
182   - <menuitem action='select' target='all'/>
183   - <menuitem action='print' src='all'/>
184   - <menuitem action='print' src='copy'/>
185   -
186   - <separator />
187   - <menuitem action='previousfield' label='Previous field' />
188   - <menuitem action='nextfield' label='Next field'/>
189   - <menuitem name="return" action='activate' label='Return' />
190   -
191   - <separator />
192   - <menuitem action='Quit'/>
193   -
194   - </popup>
195   -
196   - <popup name='connectpopup' type='offline'>
197   -
198   - <menuitem action='connect' />
199   - <menuitem action='Quit'/>
200   -
201   - </popup>
202   -
203   - <accelerator action='toggle' id='insert' key='Insert' group='online' />
204   -
205   - <accelerator action='firstfield' key='Home' group='online' />
206   - <accelerator action='kybdreset' key='Escape' group='online' />
207   - <!-- accelerator name="return" action='activate' key='Enter' --->
208   - <accelerator name="KP_enter" action='activate' key='KP_Enter' />
209   - <accelerator action='Attn' key='<shift>Escape' group='online' />
210   -
211   - <accelerator action='DeleteWord' key='<Ctrl>w' group='online' />
212   - <accelerator action='Delete' key='Delete' group='online' />
213   - <accelerator action='erase' target='char' key='BackSpace' group='online' />
214   -
215   - <accelerator action='SysREQ' key='Sys_Req' group='online' />
216   - <accelerator action='SysREQ' key='<shift>Print' group='online' />
217   -
218   - <accelerator action='move' target='cursor' direction='right' selecting='yes' key='<Shift>Right' group='online' />
219   - <accelerator action='move' target='cursor' direction='left' selecting='yes' key='<Shift>Left' group='online' />
220   - <accelerator action='move' target='cursor' direction='up' selecting='yes' key='<Shift>Up' group='online' />
221   - <accelerator action='move' target='cursor' direction='down' selecting='yes' key='<Shift>Down' group='online' />
222   -
223   - <accelerator action='move' target='selection' direction='right' key='<alt>Right' />
224   - <accelerator action='move' target='selection' direction='left' key='<alt>Left' />
225   - <accelerator action='move' target='selection' direction='up' key='<alt>Up' />
226   - <accelerator action='move' target='selection' direction='down' key='<alt>Down' />
227   -
228   - <accelerator action='move' target='cursor' direction='right' key='Right' group='online' />
229   - <accelerator action='move' target='cursor' direction='left' key='Left' group='online' />
230   - <accelerator action='move' target='cursor' direction='up' key='Up' group='online' />
231   - <accelerator action='move' target='cursor' direction='down' key='Down' group='online' />
232   - <accelerator action='move' target='cursor' direction='end' key='<ctrl>End' group='online' />
233   -
234   - <accelerator action='previousfield' key='ISO_Left_Tab' group='online' label='Previous field' />
235   - <accelerator action='nextfield' key='Tab' group='online' label='Next field'/>
236   -
237   - <accelerator action='dup' key='<Shift>KP_Multiply' group='online' />
238   -
239   - <accelerator action='zoom' mode='in' key='<ctrl>KP_Add' group='online' />
240   - <accelerator action='zoom' mode='out' key='<ctrl>KP_Subtract' group='online' />
241   - <accelerator action='zoom' mode='fit' key='<ctrl>0' group='online' />
242   -
243   - <!-- accelerator action='fieldend' key='End' group='online' / -->
244   - <!-- accelerator name="newline" action='newline' key='Control_R' group='online' / -->
245   -
246   - <!--- Mouse actions --->
247   - <scroll direction='up' action='pfkey' id='7' />
248   - <scroll direction='down' action='pfkey' id='8' />
249   -
250   - <!---
251   - <scroll direction='left' />
252   - <scroll direction='right' />
253   - --->
254   -
255   - <accelerator name='PageDown' action='pfkey' id='8' group='online' key='Page_Down' />
256   - <accelerator name='ShiftPageDown' action='pfkey' id='24' group='online' key='<Shift>Page_Down' />
257   -
258   - <accelerator name='PageUP' action='pfkey' id='7' group='online' key='Page_Up' />
259   - <accelerator name='ShiftPageUP' action='pfkey' id='23' group='online' key='<Shift>Page_Up' />
260   -
261   - <accelerator name='SKP-' action='PreviousField' key='<shift>KP_Subtract' group='online' />
262   - <accelerator name='SKP+' action='NextField' key='<shift>KP_Add' group='online' />
263   -
264   - <accelerator name='KPsubtract' action='kpsubtract' key='KP_Subtract' group='online' />
265   - <accelerator name='KPadd' action='kpadd' key='KP_Add' group='online' />
266   -
267   -</ui>
ui/10functions.xml
... ... @@ -1,66 +0,0 @@
1   -<!-----------------------------------------------------------------------------
2   -
3   - Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270
4   - (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a
5   - aplicativos mainframe. Registro no INPI sob 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   -
23   - Contatos:
24   -
25   - perry.werneck@gmail.com (Alexandre Perry de Souza Werneck)
26   - erico.mendonca@gmail.com (Erico Mascarenhas Mendonça)
27   - licinio@bb.com.br (Licínio Luis Branco)
28   - kraucer@bb.com.br (Kraucer Fernandes Mazuco)
29   -
30   ------------------------------------------------------------------------------->
31   -
32   -<ui>
33   -
34   - <keypad name="FunctionBar" label="Function bar" position="bottom" relief='half' >
35   - <row>
36   - <button action='pfkey' id='1' label='PF1' />
37   - <button action='pfkey' id='2' label='PF2' />
38   - <button action='pfkey' id='3' label='PF3' />
39   - <button action='pfkey' id='4' label='PF4' />
40   - <button action='pfkey' id='5' label='PF5' />
41   - <button action='pfkey' id='6' label='PF6' />
42   - <button action='pfkey' id='7' label='PF7' />
43   - <button action='pfkey' id='8' label='PF8' />
44   - <button action='pfkey' id='9' label='PF9' />
45   - <button action='pfkey' id='10' label='PF10' />
46   - <button action='pfkey' id='11' label='PF11' />
47   - <button action='pfkey' id='12' label='PF12' />
48   - </row>
49   - <row>
50   - <button action='pfkey' id='13' label='PF13' />
51   - <button action='pfkey' id='14' label='PF14' />
52   - <button action='pfkey' id='15' label='PF15' />
53   - <button action='pfkey' id='16' label='PF16' />
54   - <button action='pfkey' id='17' label='PF17' />
55   - <button action='pfkey' id='18' label='PF18' />
56   - <button action='pfkey' id='19' label='PF19' />
57   - <button action='pfkey' id='20' label='PF20' />
58   - <button action='pfkey' id='21' label='PF21' />
59   - <button action='pfkey' id='22' label='PF22' />
60   - <button action='pfkey' id='23' label='PF23' />
61   - <button action='pfkey' id='24' label='PF24' />
62   - </row>
63   -
64   - </keypad>
65   -
66   -</ui>
ui/10keypad.xml
... ... @@ -1,94 +0,0 @@
1   -<!-----------------------------------------------------------------------------
2   -
3   - Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270
4   - (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a
5   - aplicativos mainframe. Registro no INPI sob 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   -
23   - Contatos:
24   -
25   - perry.werneck@gmail.com (Alexandre Perry de Souza Werneck)
26   - erico.mendonca@gmail.com (Erico Mascarenhas Mendonça)
27   - licinio@bb.com.br (Licínio Luis Branco)
28   - kraucer@bb.com.br (Kraucer Fernandes Mazuco)
29   -
30   ------------------------------------------------------------------------------->
31   -
32   -<ui>
33   -
34   - <keypad name="keypad.right" label="Lateral keypad" position="right" key='<alt>k' relief='half' >
35   -
36   - <row>
37   - <button action='pfkey' id='1' label='PF1' width='2'/>
38   - <button action='pfkey' id='2' label='PF2' width='2' />
39   - <button action='pfkey' id='3' label='PF3' width='2' />
40   - </row>
41   - <row>
42   - <button action='pfkey' id='4' label='PF4' width='2' />
43   - <button action='pfkey' id='5' label='PF5' width='2' />
44   - <button action='pfkey' id='6' label='PF6' width='2' />
45   - </row>
46   - <row>
47   - <button action='pfkey' id='7' label='PF7' width='2' />
48   - <button action='pfkey' id='8' label='PF8' width='2' />
49   - <button action='pfkey' id='9' label='PF9' width='2' />
50   - </row>
51   - <row>
52   - <button action='pfkey' id='10' label='PF10' width='2' />
53   - <button action='pfkey' id='11' label='PF11' width='2' />
54   - <button action='pfkey' id='12' label='PF12' width='2' />
55   - </row>
56   - <row>
57   - <button action='move' target='cursor' direction='up' icon="go-up" column='2' width='2' />
58   - </row>
59   - <row>
60   - <button action='move' target='cursor' direction='left' icon="go-back" width='2' />
61   - <button action="firstfield" icon="goto-top" width='2' />
62   - <button action='move' target='cursor' direction='right' icon="go-forward" width='2' />
63   - </row>
64   - <row>
65   - <button action='move' target='cursor' direction='down' icon="go-down" column='2' width='2'/>
66   - </row>
67   - <row>
68   - <button action='pakey' id='1' label='PA1' width='2' />
69   - <button action='pakey' id='2' label='PA2' width='2' />
70   - <button action='pakey' id='3' label='PA3' width='2' />
71   - </row>
72   - <row>
73   - <button action='PreviousField' icon="goto-first" width='3' />
74   - <button action='NextField' icon="goto-last" width='3' />
75   - </row>
76   - <row>
77   - <button action='erase' target='all' label="Clear" width='3' />
78   - <button action='kybdreset' label="Reset" width='3' />
79   - </row>
80   - <row>
81   - <button action='EraseEOF' label="Erase\nEOF" width='3' />
82   - <button action='EraseInput' label="Erase\nInput" width='3'/>
83   - </row>
84   - <row>
85   - <button action='Attn' label="Attn" width='3' />
86   - <button action='Break' label="Break" width='3' />
87   - </row>
88   - <row>
89   - <button action='Enter' icon="ok" width='6'/>
90   - </row>
91   -
92   - </keypad>
93   -
94   -</ui>
ui/98trace.xml
... ... @@ -1,47 +0,0 @@
1   -<!-----------------------------------------------------------------------------
2   -
3   - "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270
4   - (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a
5   - aplicativos mainframe. Registro no INPI sob 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   - Contatos:
23   -
24   - perry.werneck@gmail.com (Alexandre Perry de Souza Werneck)
25   - erico.mendonca@gmail.com (Erico Mascarenhas Mendonça)
26   - licinio@bb.com.br (Licínio Luis Branco)
27   - kraucer@bb.com.br (Kraucer Fernandes Mazuco)
28   -
29   ------------------------------------------------------------------------------->
30   -
31   -<ui>
32   - <menubar name='topmenu'>
33   -
34   - <menu name='View' >
35   - <menu name='TraceOptions' label='Trace' >
36   - <menuitem action='toggle' id='dstrace' label='Trace Data Stream' />
37   - <menuitem action='toggle' id='screentrace' label='Trace screen contents' />
38   - <menuitem action='toggle' id='nettrace' label='Trace network data flow' />
39   - <menuitem action='toggle' id='eventtrace' label='Trace user interface events' />
40   - <menuitem action='toggle' id='ssltrace' label='Trace SSL negotiation' />
41   - </menu>
42   - <menuitem action='toggle' id='fieldattr' label='Field Delimiters' />
43   - </menu>
44   -
45   - </menubar>
46   -
47   -</ui>
ui/99debug.xml
... ... @@ -1,49 +0,0 @@
1   -<!-----------------------------------------------------------------------------
2   -
3   - "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270
4   - (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a
5   - aplicativos mainframe. Registro no INPI sob 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   - Contatos:
23   -
24   - perry.werneck@gmail.com (Alexandre Perry de Souza Werneck)
25   - erico.mendonca@gmail.com (Erico Mascarenhas Mendonça)
26   - licinio@bb.com.br (Licínio Luis Branco)
27   - kraucer@bb.com.br (Kraucer Fernandes Mazuco)
28   -
29   ------------------------------------------------------------------------------->
30   -
31   -<ui>
32   - <menubar name='topmenu'>
33   -
34   - <menu name='EditMenu' label='_Edit' >
35   - <menuitem action='copyashtml' label='Copy as HTML' />
36   - </menu>
37   -
38   - <menu name='debugmenu' label='Debug' >
39   - <menuitem action='testpattern' group='offline' label='Show test pattern' />
40   - <menuitem action='charsettable' group='offline' label='Display current charset' />
41   - <menuitem action='reload' label='Reload buffer contents' />
42   - <menuitem action='toggle' id='gdkdebug' label='Debug window updates' />
43   - </menu>
44   -
45   - </menubar>
46   -
47   - <!-- accelerator name='ctrl' action='Enter' key='Control_R' / -->
48   -
49   -</ui>
ui/Makefile.in
... ... @@ -1,159 +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.
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   -MODULE_NAME=xml2pot
28   -SOURCES=xml2pot.c
29   -
30   -#---[ Configuration values ]-------------------------------------------------------------
31   -
32   -prefix=@prefix@
33   -exec_prefix=@exec_prefix@
34   -datarootdir=@datarootdir@
35   -
36   -PACKAGE_NAME=@PACKAGE_NAME@
37   -PACKAGE_VERSION=@PACKAGE_VERSION@
38   -PACKAGE_TARNAME=@PACKAGE_TARNAME@
39   -PRODUCT_NAME=@PRODUCT_NAME@
40   -
41   -BASEDIR=@BASEDIR@
42   -POTDIR=$(BASEDIR)/.pot/ui
43   -SRCDIR=$(BASEDIR)/.src/$(PACKAGE_TARNAME)-$(PACKAGE_VERSION)/ui
44   -
45   -OBJDIR=.obj
46   -OBJDBG=$(OBJDIR)/Debug
47   -OBJRLS=$(OBJDIR)/Release
48   -
49   -BINDIR=$(BASEDIR)/.bin
50   -BINDBG=$(BINDIR)/Debug
51   -BINRLS=$(BINDIR)/Release
52   -
53   -MKDIR=@MKDIR_P@
54   -CC=@HOST_CC@
55   -LD=@HOST_CC@
56   -MSGCAT=@MSGCAT@
57   -INSTALL=@INSTALL@
58   -INSTALL_DATA=@INSTALL_DATA@
59   -
60   -CFLAGS=@CFLAGS@ -Wno-deprecated-declarations `pkg-config --cflags gtk+-3.0`
61   -LIBS=`pkg-config --libs gtk+-3.0`
62   -
63   -#---[ Rules ]----------------------------------------------------------------------------
64   -
65   -$(OBJDBG)/%.o: \
66   - %.c \
67   - Makefile
68   -
69   - @echo $< ...
70   - @$(MKDIR) `dirname $@`
71   - @$(CC) $(CFLAGS) \
72   - @DBG_CFLAGS@ \
73   - -DBUILD_DATE=`date +"0x%Y%m%d"`\
74   - -o $@ -c $<
75   -
76   -$(OBJRLS)/%.o: \
77   - %.c \
78   - Makefile
79   -
80   - @echo $< ...
81   - @$(MKDIR) `dirname $@`
82   - @$(CC) $(CFLAGS) \
83   - @RLS_CFLAGS@ \
84   - -DBUILD_DATE=`date +"0x%Y%m%d"` \
85   - -o $@ -c $<
86   -
87   -$(POTDIR)/%.pot: \
88   - %.xml \
89   - $(BINRLS)/$(MODULE_NAME)
90   -
91   - @echo $(notdir $@) ...
92   - @$(MKDIR) `dirname $@`
93   - @$(BINRLS)/$(MODULE_NAME) $< > $@
94   - @touch $@
95   -
96   -
97   -#---[ Targets ]----------------------------------------------------------------
98   -
99   -all: \
100   - $(BINRLS)/$(MODULE_NAME)$(EXEEXT)
101   -
102   -Release: \
103   - $(BINRLS)/$(MODULE_NAME)$(EXEEXT)
104   -
105   -install:
106   -
107   - @$(MKDIR) $(DESTDIR)$(datarootdir)/$(PRODUCT_NAME)/ui
108   - @$(INSTALL_DATA) *.xml $(DESTDIR)$(datarootdir)/$(PRODUCT_NAME)/ui
109   -
110   -$(SRCDIR): \
111   - clean
112   -
113   - @$(MKDIR) $@
114   - @$(INSTALL_DATA) *.xml *.in *.c $@
115   -
116   -pot: \
117   - $(BASEDIR)/.pot/ui.pot
118   -
119   -$(BASEDIR)/.pot/ui.pot: \
120   - $(foreach SRC, $(basename $(wildcard *.xml)), $(POTDIR)/$(SRC).pot)
121   -
122   - @rm -f $@
123   - @mkdir -p `dirname $@`
124   - @$(MSGCAT) --sort-output $^ > $@
125   -
126   -$(BINRLS)/$(MODULE_NAME)$(EXEEXT): \
127   - $(foreach SRC, $(basename $(SOURCES)), $(OBJRLS)/$(SRC).o)
128   -
129   - @echo $< ...
130   - @$(MKDIR) `dirname $@`
131   - @$(LD) -o $@ $^ $(LIBS)
132   -
133   -Debug: \
134   - $(BINDBG)/$(MODULE_NAME)$(EXEEXT)
135   -
136   -$(BINDBG)/$(MODULE_NAME)$(EXEEXT): \
137   - $(foreach SRC, $(basename $(SOURCES)), $(OBJDBG)/$(SRC).o)
138   -
139   - echo $@
140   -
141   - @echo $< ...
142   - @$(MKDIR) `dirname $@`
143   - @$(LD) -o $@ $^ $(LIBS)
144   -
145   -
146   -cleanDebug:
147   -
148   - @rm -fr $(OBJDBG) \
149   - $(BINDBG)/$(MODULE_NAME)$(EXEEXT)
150   -
151   -cleanRelease:
152   -
153   - @rm -fr $(OBJRLS) \
154   - $(BINRLS)/$(MODULE_NAME)$(EXEEXT)
155   -
156   -clean: \
157   - cleanDebug \
158   - cleanRelease
159   -
ui/application.xml 0 → 100644
... ... @@ -0,0 +1,78 @@
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<interface>
  3 + <requires lib="gtk+" version="3.0"/>
  4 + <menu id="app-menu">
  5 + <section>
  6 + <item>
  7 + <attribute name="label" translatable="yes">About PW3270</attribute>
  8 + <attribute name="action">app.about</attribute>
  9 + </item>
  10 + <item>
  11 + <attribute name="label" translatable="yes">New Window</attribute>
  12 + <attribute name="action">app.new.window</attribute>
  13 + </item>
  14 + <item>
  15 + <attribute name="label" translatable="yes">Quit</attribute>
  16 + <attribute name="action">app.quit</attribute>
  17 + </item>
  18 + </section>
  19 + </menu>
  20 +
  21 + <menu id='menubar'>
  22 + <submenu>
  23 + <attribute name='label' translatable='yes'>_Session</attribute>
  24 +
  25 + <item>
  26 + <attribute name="label" translatable="yes">Open</attribute>
  27 + <attribute name="action">win.open</attribute>
  28 + </item>
  29 +
  30 + <item>
  31 + <attribute name="label" translatable="yes">Close</attribute>
  32 + <attribute name="action">win.close</attribute>
  33 + </item>
  34 +
  35 + <item>
  36 + <attribute name="label" translatable="yes">Open in new window</attribute>
  37 + <attribute name="action">app.open.window</attribute>
  38 + </item>
  39 +
  40 + <item>
  41 + <attribute name="label" translatable="yes">Open in new tab</attribute>
  42 + <attribute name="action">app.open.tab</attribute>
  43 + </item>
  44 +
  45 + </submenu>
  46 +
  47 + <submenu>
  48 + <attribute name='label' translatable='yes'>_Edit</attribute>
  49 + <section>
  50 + <item>
  51 + <attribute name='label' translatable='yes'>_Copy</attribute>
  52 + <attribute name='action'>app.default</attribute>
  53 + </item>
  54 + <item>
  55 + <attribute name='label' translatable='yes'>_Paste</attribute>
  56 + <attribute name='action'>app.default</attribute>
  57 + </item>
  58 + </section>
  59 + <section>
  60 + <item>
  61 + <attribute name='label' translatable='yes'>Plugins</attribute>
  62 + <attribute name='action'>app.default</attribute>
  63 + </item>
  64 + </section>
  65 + </submenu>
  66 +
  67 + <submenu>
  68 + <attribute name='label' translatable='yes'>_View</attribute>
  69 + <section>
  70 + <item>
  71 + <attribute name='label' translatable='yes'>_Fullscreen</attribute>
  72 + <attribute name='action'>app.quit</attribute>
  73 + </item>
  74 + </section>
  75 + </submenu>
  76 +
  77 + </menu>
  78 +</interface>
... ...
ui/window.xml 0 → 100644
... ... @@ -0,0 +1,44 @@
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<interface>
  3 + <requires lib="gtk+" version="3.0"/>
  4 + <menu id="gear-menu">
  5 + <section>
  6 +
  7 + <submenu>
  8 + <attribute name="label" translatable="yes">New</attribute>
  9 + <item>
  10 + <attribute name="label" translatable="yes">Tab</attribute>
  11 + <attribute name="action">app.new.tab</attribute>
  12 + </item>
  13 + <item>
  14 + <attribute name="label" translatable="yes">Application Window</attribute>
  15 + <attribute name="action">app.new.window</attribute>
  16 + </item>
  17 + </submenu>
  18 +
  19 + <submenu>
  20 + <attribute name="label" translatable="yes">Open</attribute>
  21 + <item>
  22 + <attribute name="label" translatable="yes">File</attribute>
  23 + <attribute name="action">app.open</attribute>
  24 + </item>
  25 + <item>
  26 + <attribute name="label" translatable="yes">New tab</attribute>
  27 + <attribute name="action">app.new.tab</attribute>
  28 + </item>
  29 + <item>
  30 + <attribute name="label" translatable="yes">New window</attribute>
  31 + <attribute name="action">app.new.window</attribute>
  32 + </item>
  33 + </submenu>
  34 +
  35 + </section>
  36 +
  37 + <section>
  38 + <item>
  39 + <attribute name="label" translatable="yes">Preferences</attribute>
  40 + <attribute name="action">win.preferences</attribute>
  41 + </item>
  42 + </section>
  43 + </menu>
  44 +</interface>
... ...
ui/xml2pot.c
... ... @@ -1,184 +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.
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   - * Este programa está nomeado como xml2pot.c 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 Mendonça)
27   - * licinio@bb.com.br (Licínio Luis Branco)
28   - * kraucer@bb.com.br (Kraucer Fernandes Mazuco)
29   - * macmiranda@bb.com.br (Marco Aurélio Caldas Miranda)
30   - *
31   - */
32   -
33   -#include <stdlib.h>
34   -#include <stdio.h>
35   -#include <glib.h>
36   -#include <string.h>
37   -
38   - static const gchar *filename = NULL;
39   - static FILE *out;
40   - static GHashTable *hash = NULL;
41   -
42   - struct record
43   - {
44   - const gchar *filename;
45   - const gchar *label;
46   - gint line_number;
47   - gint char_number;
48   -
49   - gchar text[1];
50   - };
51   -
52   -/*---[ Implement ]----------------------------------------------------------------------------------------*/
53   -
54   - static void element_start(GMarkupParseContext *context,const gchar *element_name,const gchar **names,const gchar **values, gpointer user_data, GError **error)
55   - {
56   - int f;
57   -
58   - for(f=0;names[f];f++)
59   - {
60   - if(!strcmp(names[f],"label") && values[f])
61   - {
62   - struct record *rec = g_hash_table_lookup(hash,values[f]);
63   -
64   - if(!rec)
65   - {
66   - struct record *rec = g_malloc0(sizeof(struct record)+strlen(values[f])+strlen(filename)+3);
67   - char *ptr = rec->text;
68   -
69   - g_markup_parse_context_get_position(context,&rec->line_number,&rec->char_number);
70   -
71   - strcpy(ptr,filename);
72   - rec->filename = ptr;
73   - ptr += (strlen(ptr)+1);
74   -
75   - strcpy(ptr,values[f]);
76   - rec->label = ptr;
77   -
78   - g_hash_table_insert(hash,(gpointer) rec->label, rec);
79   - }
80   - }
81   - }
82   -
83   - }
84   -
85   - static void element_end(GMarkupParseContext *context, const gchar *element_name, gpointer user_data, GError **error)
86   - {
87   - }
88   -
89   - static void element_text(GMarkupParseContext *context,const gchar *text,gsize text_len, gpointer user_data, GError **error)
90   - {
91   - }
92   -
93   - static void element_passthrough(GMarkupParseContext *context,const gchar *passthrough_text, gsize text_len, gpointer user_data,GError **error)
94   - {
95   - }
96   -
97   - static void element_error(GMarkupParseContext *context,GError *error,gpointer user_data)
98   - {
99   - }
100   -
101   - static const GMarkupParser parser =
102   - {
103   - element_start,
104   - element_end,
105   - element_text,
106   - element_passthrough,
107   - element_error,
108   - };
109   -
110   - static int parsefile(GMarkupParseContext *context)
111   - {
112   - GError *error = NULL;
113   - gchar *contents = NULL;
114   -
115   - if(!g_file_get_contents(filename,&contents,NULL,&error))
116   - {
117   - fprintf(stderr,"%s\n",error->message);
118   - g_error_free(error);
119   - return -1;
120   - }
121   -
122   - if(!g_markup_parse_context_parse(context,contents,strlen(contents),&error))
123   - {
124   - fprintf(stderr,"%s\n",error->message);
125   - g_error_free(error);
126   - g_free(contents);
127   - return -1;
128   - }
129   -
130   - g_free(contents);
131   - return 0;
132   - }
133   -
134   - static void write_file(gpointer key,struct record *rec, FILE *out)
135   - {
136   - fprintf(out,"#: %s:%d\n",rec->filename,(int) rec->line_number);
137   - fprintf(out,"msgid \"%s\"\n",rec->label);
138   - fprintf(out,"msgstr \"\"\n\n");
139   - }
140   -
141   - int main (int argc, char *argv[])
142   - {
143   - static const char * header= "# SOME DESCRIPTIVE TITLE.\n"
144   - "# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER\n"
145   - "# This file is distributed under the same license as the PACKAGE package.\n"
146   - "# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.\n"
147   - "#\n"
148   - "#, fuzzy\n"
149   - "msgid \"\"\n"
150   - "msgstr \"\"\n"
151   - "\"Project-Id-Version: PACKAGE VERSION\\n\"\n"
152   - "\"Report-Msgid-Bugs-To: \\n\"\n"
153   - "\"POT-Creation-Date: 2010-01-18 17:12-0200\\n\"\n"
154   - "\"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\\n\"\n"
155   - "\"Last-Translator: FULL NAME <EMAIL@ADDRESS>\\n\"\n"
156   - "\"Language-Team: LANGUAGE <LL@li.org>\\n\"\n"
157   - "\"Language: \\n\"\n"
158   - "\"MIME-Version: 1.0\\n\"\n"
159   - "\"Content-Type: text/plain; charset=CHARSET\\n\"\n"
160   - "\"Content-Transfer-Encoding: 8bit\\n\"\n\n";
161   -
162   - int rc = 0;
163   - int f;
164   -
165   - GMarkupParseContext *context = g_markup_parse_context_new(&parser,G_MARKUP_TREAT_CDATA_AS_TEXT,NULL,NULL);
166   -
167   - out = stdout;
168   -
169   - fprintf(out,"%s",header);
170   -
171   - hash = g_hash_table_new(g_str_hash, g_str_equal);
172   -
173   - for(f=1;f<argc;f++)
174   - {
175   - filename = argv[f];
176   - rc = parsefile(context);
177   - }
178   -
179   - g_hash_table_foreach(hash,(GHFunc) write_file, out);
180   -
181   -
182   - return rc;
183   - }
184   -