Commit 53cc0664ec28066e73711fbc81f8f8171aec63d2

Authored by Perry Werneck
1 parent 90c2f06f

Adding methods to build data & config file names based in the product

name instead of library name.
Makefile.in
... ... @@ -105,8 +105,9 @@ DEPENDS= \
105 105 CFLAGS= \
106 106 @CFLAGS@ \
107 107 -g \
108   - -I$(BASEDIR)/src/include
109   - -DBUILD_DATE=`date +%Y%m%d` \
  108 + -I$(BASEDIR)/src/include \
  109 + -DDATADIR=$(datarootdir)/@PRODUCT_NAME@ \
  110 + -DCONFDIR=$(sysconfdir)/@PRODUCT_NAME@ \
110 111 @LIBSSL_CFLAGS@ \
111 112 @LDAP_CFLAGS@ \
112 113 @LIBCURL_CFLAGS@
... ...
configure.ac
... ... @@ -103,8 +103,6 @@ case "$host" in
103 103 s390x-*)
104 104 CFLAGS="$CFLAGS -pthread"
105 105 LDFLAGS="$LDFLAGS -pthread"
106   - app_cv_datadir="/usr/share/pw3270"
107   - app_cv_confdir="/etc"
108 106 app_cv_osname="linux"
109 107 LOGDIR="/var/log"
110 108  
... ... @@ -115,8 +113,6 @@ case "$host" in
115 113 *)
116 114 CFLAGS="$CFLAGS -pthread"
117 115 LDFLAGS="$LDFLAGS -pthread"
118   - app_cv_datadir="/usr/share/pw3270"
119   - app_cv_confdir="/etc"
120 116 app_cv_osname="linux"
121 117 LOGDIR="/var/log"
122 118 DLLEXT=".so"
... ... @@ -125,10 +121,6 @@ case "$host" in
125 121  
126 122 esac
127 123  
128   -AC_DEFINE_UNQUOTED(LIB3270_DATADIR,$app_cv_datadir)
129   -AC_SUBST(LIB3270_DATADIR,$app_cv_datadir)
130   -
131   -AC_SUBST(CONFDIR,$app_cv_confdir)
132 124 AC_SUBST(OSNAME,$app_cv_osname)
133 125 AC_SUBST(LIBS)
134 126 AC_SUBST(LOGDIR)
... ...
src/core/Makefile.in
... ... @@ -1,431 +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   -#---[ Library configuration ]------------------------------------------------------------
28   -
29   -LIBNAME=lib@LIB3270_NAME@
30   -
31   -SOURCES= \
32   - $(wildcard *.c) \
33   - $(wildcard selection/*.c) \
34   - $(wildcard @OSNAME@/*.c) \
35   - $(wildcard ssl/*.c) \
36   - $(wildcard ssl/@OSNAME@/*.c) \
37   - $(wildcard @OSNAME@/*.rc) \
38   - $(BASEDIR)/.tmp/$(LIBNAME)/fallbacks.c
39   -
40   -TEST_SOURCES= \
41   - $(wildcard testprogram/*.c)
42   -
43   -#---[ Tools ]----------------------------------------------------------------------------
44   -
45   -CC=@CC@
46   -HOST_CC=@HOST_CC@
47   -LD=@CC@
48   -LN_S=@LN_S@
49   -MKDIR=@MKDIR_P@
50   -INSTALL=@INSTALL@
51   -INSTALL_DATA=@INSTALL_DATA@
52   -INSTALL_PROGRAM=@INSTALL_PROGRAM@
53   -XGETTEXT=@XGETTEXT@
54   -MSGCAT=@MSGCAT@
55   -WINDRES=@WINDRES@
56   -AR=@AR@
57   -VALGRIND=@VALGRIND@
58   -
59   -#---[ Paths ]----------------------------------------------------------------------------
60   -
61   -prefix=@prefix@
62   -exec_prefix=@exec_prefix@
63   -bindir=@bindir@
64   -sbindir=@sbindir@
65   -libdir=@libdir@
66   -includedir=@includedir@
67   -datarootdir=@datarootdir@
68   -localedir=@localedir@
69   -docdir=@docdir@
70   -sysconfdir=@sysconfdir@
71   -
72   -BASEDIR=@BASEDIR@
73   -
74   -POTDIR=$(BASEDIR)/.pot
75   -
76   -OBJDIR=$(BASEDIR)/.obj/$(LIBNAME)
77   -OBJDBG=$(OBJDIR)/Debug
78   -OBJRLS=$(OBJDIR)/Release
79   -
80   -BINDIR=$(BASEDIR)/.bin
81   -BINDBG=$(BINDIR)/Debug
82   -BINRLS=$(BINDIR)/Release
83   -
84   -#---[ Rules ]----------------------------------------------------------------------------
85   -
86   -DEPENDS= \
87   - Makefile \
88   - ../include/*.h \
89   - ../include/lib3270/*.h \
90   - ../lib3270/*.h \
91   - $(BASEDIR)/src/include/lib3270/actions.h
92   -
93   -CFLAGS= \
94   - @CFLAGS@ \
95   - -g \
96   - -I../include
97   - -DBUILD_DATE=`date +%Y%m%d` \
98   - @LIBSSL_CFLAGS@ \
99   - @LDAP_CFLAGS@ \
100   - @LIBCURL_CFLAGS@
101   -
102   -LIBS= \
103   - @LIBS@ \
104   - @LIBSSL_LIBS@ \
105   - @LIBICONV@ \
106   - @INTL_LIBS@ \
107   - @LDAP_LIBS@ \
108   - @LIBCURL_LIBS@
109   -
110   -#---[ Debug Rules ]----------------------------------------------------------------------
111   -
112   -$(OBJDBG)/%.o: \
113   - %.c \
114   - $(DEPENDS)
115   -
116   - @echo $< ...
117   - @$(MKDIR) `dirname $@`
118   - @$(CC) \
119   - $(CFLAGS) \
120   - -Wall -Wextra -fstack-check \
121   - -DDEBUG=1 \
122   - -o $@ -c $<
123   -
124   -$(OBJDBG)/%.o: \
125   - %.rc
126   -
127   - @echo $< ...
128   - @$(MKDIR) `dirname $@`
129   - @$(WINDRES) $< -O coff -o $@
130   -
131   -#---[ Release Rules ]--------------------------------------------------------------------
132   -
133   -$(OBJRLS)/%.o: \
134   - %.c \
135   - $(DEPENDS)
136   -
137   - @echo $< ...
138   - @$(MKDIR) `dirname $@`
139   - @$(CC) \
140   - $(CFLAGS) \
141   - -DNDEBUG=1 \
142   - -o $@ -c $<
143   -
144   -$(OBJRLS)/%.o: \
145   - %.rc
146   -
147   - @echo $< ...
148   - @$(MKDIR) `dirname $@`
149   - @$(WINDRES) $< -O coff -o $@
150   -
151   -#---[ Misc Rules ]-----------------------------------------------------------------------
152   -
153   -$(POTDIR)/$(LIBNAME)/%.pot: \
154   - %.c
155   -
156   - @echo $(notdir $@) ...
157   - @$(MKDIR) `dirname $@`
158   - @$(XGETTEXT) \
159   - --language=C \
160   - --keyword=_ \
161   - --keyword=N_ \
162   - --keyword=MSG_:2 \
163   - --output=$@ \
164   - $<
165   - @touch $@
166   -
167   -$(POTDIR)/$(LIBNAME)/%.pot: \
168   - %.rc
169   -
170   - @echo $< ...
171   - @$(MKDIR) `dirname $@`
172   - @touch $@
173   -
174   -#---[ Release Targets ]------------------------------------------------------------------
175   -
176   -all: \
177   - $(BINRLS)/$(LIBNAME)@DLLEXT@ \
178   - $(BINRLS)/static/$(LIBNAME).a \
179   - $(POTDIR)/$(LIBNAME).pot
180   -
181   -
182   -Release: \
183   - $(BINRLS)/$(LIBNAME)@DLLEXT@ \
184   - $(BINRLS)/static/$(LIBNAME).a
185   -
186   -$(BINRLS)/$(LIBNAME)@DLLEXT@: \
187   - $(BINRLS)/$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@
188   -
189   - @echo $< ...
190   - @rm -f $@
191   - @$(LN_S) \
192   - $^ \
193   - $@
194   -
195   -$(BINRLS)/$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@: \
196   - $(BINRLS)/$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@
197   -
198   - @rm -f $@
199   - @$(LN_S) \
200   - $^ \
201   - $@
202   -
203   -$(BINRLS)/$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@: \
204   - $(foreach SRC, $(basename $(SOURCES)), $(OBJRLS)/$(SRC).o)
205   -
206   - @$(MKDIR) $(@D)
207   - @echo $< ...
208   - @$(LD) \
209   - @DLL_LDFLAGS@ \
210   - -o $@ \
211   - $(LDFLAGS) \
212   - $(foreach SRC, $(basename $(SOURCES)), $(OBJRLS)/$(SRC).o) \
213   - $(LIBS)
214   -
215   -$(BINRLS)/static/$(LIBNAME).a: \
216   - $(foreach SRC, $(basename $(SOURCES)), $(OBJRLS)/$(SRC).o)
217   -
218   - @echo $@ ...
219   - @$(MKDIR) `dirname $@`
220   - @$(AR) rcs $@ $^
221   -
222   -
223   -#---[ Install Targets ]------------------------------------------------------------------
224   -
225   -install: \
226   - install-shared \
227   - install-static \
228   - install-dev
229   -
230   -install-shared: \
231   - $(BINRLS)/$(LIBNAME)@DLLEXT@ \
232   -
233   - # Install library
234   - @mkdir -p $(DESTDIR)$(libdir)
235   -
236   - $(INSTALL_PROGRAM) \
237   - $(BINRLS)/$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@ \
238   - $(DESTDIR)/$(libdir)
239   -
240   - $(LN_S) \
241   - $(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@ \
242   - $(DESTDIR)/$(libdir)/$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@ \
243   -
244   - $(LN_S) \
245   - $(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@ \
246   - $(DESTDIR)/$(libdir)/$(LIBNAME)@DLLEXT@
247   -
248   -install-static: \
249   - $(BINRLS)/static/$(LIBNAME).a
250   -
251   - # Install static library
252   - mkdir -p $(DESTDIR)$(libdir)
253   - $(INSTALL_DATA) \
254   - $(BINRLS)/static/$(LIBNAME).a \
255   - $(DESTDIR)$(libdir)/$(LIBNAME)-static.a
256   -
257   - # Install static PKG-CONFIG files
258   - @mkdir -p $(DESTDIR)$(libdir)/pkgconfig
259   - @$(INSTALL_DATA) \
260   - lib3270-static.pc \
261   - $(DESTDIR)$(libdir)/pkgconfig/lib3270-static.pc
262   -
263   -install-dev:
264   -
265   - # Install SDK
266   - @mkdir -p $(DESTDIR)$(includedir)/lib3270
267   -
268   - @$(INSTALL_DATA) \
269   - ../include/lib3270/*.h \
270   - $(DESTDIR)$(includedir)/lib3270
271   -
272   - @$(INSTALL_DATA) \
273   - ../include/lib3270.h \
274   - $(DESTDIR)$(includedir)/lib3270.h
275   -
276   - # Install PKG-CONFIG files
277   - @mkdir -p $(DESTDIR)$(libdir)/pkgconfig
278   - @$(INSTALL_DATA) \
279   - lib3270.pc \
280   - $(DESTDIR)$(libdir)/pkgconfig/lib3270.pc
281   -
282   -
283   -#---[ Misc Targets ]---------------------------------------------------------------------
284   -
285   -$(BASEDIR)/.tmp/$(LIBNAME)/fallbacks.c: \
286   - X3270.xad \
287   - $(wildcard mkfb/*.c)
288   -
289   - @$(MKDIR) `dirname $@`
290   - @$(MKDIR) $(BINDIR)
291   - @echo $< ...
292   - @$(HOST_CC) -g -o $(BINDIR)/mkfb@EXEEXT@ $(wildcard mkfb/*.c)
293   - @$(BINDIR)/mkfb@EXEEXT@ -c X3270.xad $@
294   -
295   -$(BASEDIR)/src/include/lib3270/actions.h: \
296   - ../include/lib3270/action_table.h \
297   - $(wildcard mkactions/*.c)
298   -
299   - @$(MKDIR) `dirname $@`
300   - @$(MKDIR) $(BINDIR)
301   - @echo $< ...
302   - @$(HOST_CC) \
303   - -g \
304   - -I../include \
305   - -DBUILD_DATE=`date +%Y%m%d` \
306   - -o $(BINDIR)/mkactions@EXEEXT@ \
307   - $(wildcard mkactions/*.c)
308   - @$(BINDIR)/mkactions@EXEEXT@ -o $@
309   -
310   -$(POTDIR)/$(LIBNAME).pot: \
311   - $(foreach SRC, $(basename $(SOURCES)), $(POTDIR)/$(LIBNAME)/$(SRC).pot)
312   -
313   - @rm -f $@
314   - @mkdir -p `dirname $@`
315   - @$(MSGCAT) --sort-output $^ > $@
316   -
317   -locale: \
318   - $(POTDIR)/$(LIBNAME).pot
319   -
320   -
321   -#---[ Debug Targets ]--------------------------------------------------------------------
322   -
323   -Debug: \
324   - $(BINDBG)/$(LIBNAME)@EXEEXT@
325   -
326   -$(BINDBG)/$(LIBNAME)@EXEEXT@: \
327   - $(foreach SRC, $(basename $(TEST_SOURCES)), $(OBJDBG)/$(SRC).o) \
328   - $(BINDBG)/$(LIBNAME)@DLLEXT@
329   -
330   - @$(MKDIR) `dirname $@`
331   - @echo $< ...
332   - @$(LD) \
333   - -Wl,--rpath,$(BINDBG) \
334   - -o $@ \
335   - $(foreach SRC, $(basename $(TEST_SOURCES)), $(OBJDBG)/$(SRC).o) \
336   - $(LDFLAGS) \
337   - $(LIBS) \
338   - -L$(BINDBG) \
339   - -l@LIB3270_NAME@
340   -
341   -run: \
342   - $(BINDBG)/$(LIBNAME)@EXEEXT@
343   -
344   -ifeq ($(VALGRIND),no)
345   -
346   - @LD_LIBRARY_PATH=$(BINDBG) \
347   - $(BINDBG)/$(LIBNAME)@EXEEXT@
348   -
349   -else
350   - @touch valgrind.suppression
351   -
352   - @LD_LIBRARY_PATH=$(BINDBG) \
353   - $(VALGRIND) --leak-check=full --track-origins=yes --gen-suppressions=all --suppressions=valgrind.suppression \
354   - $(BINDBG)/$(LIBNAME)@EXEEXT@
355   -endif
356   -
357   -publish-debug: \
358   - $(BINDBG)/$(LIBNAME)@EXEEXT@
359   -
360   - @rm -f ~/public-html/debug-$(LIBNAME)-@host_cpu@.zip
361   - @zip \
362   - -9 -D \
363   - ~/public_html/debug-$(LIBNAME)-@host_cpu@.zip \
364   - $(BINDBG)/*
365   -
366   -publish-release: \
367   - $(BINRLS)/$(LIBNAME)@DLLEXT@
368   -
369   - @rm -f ~/public-html/release-$(LIBNAME)-@host_cpu@.zip
370   - @zip \
371   - -9 -D \
372   - ~/public_html/release-$(LIBNAME)-@host_cpu@.zip \
373   - $(BINRLS)/*@DLLEXT@
374   -
375   -$(BINDBG)/$(LIBNAME)@DLLEXT@: \
376   - $(BINDBG)/$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@
377   -
378   - @echo $< ...
379   - @rm -f $@
380   - @$(LN_S) \
381   - $^ \
382   - $@
383   -
384   -$(BINDBG)/$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@: \
385   - $(BINDBG)/$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@
386   -
387   - @rm -f $@
388   - @$(LN_S) \
389   - $^ \
390   - $@
391   -
392   -$(BINDBG)/$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@: \
393   - $(foreach SRC, $(basename $(SOURCES)), $(OBJDBG)/$(SRC).o)
394   -
395   - @$(MKDIR) `dirname $@`
396   - @echo $< ...
397   - @$(LD) \
398   - -shared -Wl,-soname,$(@F) \
399   - -o $@ \
400   - $(LDFLAGS) \
401   - $(foreach SRC, $(basename $(SOURCES)), $(OBJDBG)/$(SRC).o) \
402   - $(LIBS)
403   -
404   -#---[ Clean Targets ]--------------------------------------------------------------------
405   -
406   -clean: \
407   - cleanDebug \
408   - cleanRelease
409   -
410   - @rm -fr $(BASEDIR)/.tmp/$(LIBNAME)
411   - @rm -fr $(POTDIR)/$(LIBNAME)
412   -
413   -cleanDebug:
414   -
415   - @rm -fr $(OBJDBG)
416   - @rm -fr $(BINDBG)
417   - @rm -fr $(BASEDIR)/src/include/lib3270/actions.h
418   -
419   -cleanRelease:
420   -
421   - @rm -fr $(OBJRLS)
422   - @rm -fr $(BINRLS)
423   - @rm -fr $(POTDIR)
424   - @rm -f lib$(LIBNAME).pot
425   - @rm -fr $(BASEDIR)/src/include/lib3270/actions.h
426   -
427   -clean: \
428   - cleanDebug \
429   - cleanRelease
430   -
431   -
src/core/linux/util.c
... ... @@ -38,5 +38,10 @@
38 38  
39 39 char * lib3270_build_data_filename(const char *name)
40 40 {
41   - return lib3270_strdup_printf("%s/%s",LIB3270_STRINGIZE_VALUE_OF(LIB3270_DATADIR),name);
  41 + return lib3270_strdup_printf(LIB3270_STRINGIZE_VALUE_OF(DATADIR) "/%s",name);
  42 +}
  43 +
  44 +char * lib3270_build_config_filename(const char *name)
  45 +{
  46 + return lib3270_strdup_printf(LIB3270_STRINGIZE_VALUE_OF(CONFDIR) "/%s",name);
42 47 }
... ...
src/core/windows/util.c
... ... @@ -269,6 +269,12 @@ LIB3270_EXPORT char * lib3270_build_data_filename(const char *name)
269 269  
270 270 }
271 271  
  272 +char * lib3270_build_config_filename(const char *name)
  273 +{
  274 + // On windows the data and config path are the same.
  275 + return lib3270_build_data_filename(name);
  276 +}
  277 +
272 278 LIB3270_EXPORT char * lib3270_get_installation_path()
273 279 {
274 280 char lpFilename[4096];
... ...
src/include/config.h.in
... ... @@ -33,6 +33,7 @@
33 33  
34 34 /* Version info */
35 35 #undef PACKAGE_NAME
  36 + #undef PRODUCT_NAME
36 37 #undef PACKAGE_VERSION
37 38 #undef PACKAGE_RELEASE
38 39 #undef LIB3270_NAME
... ...
src/include/lib3270.h
... ... @@ -1475,13 +1475,15 @@
1475 1475 #endif // WIn32
1476 1476  
1477 1477 /**
1478   - * @brief Build filename on "LIB3270_DATADIR".
  1478 + * @brief Build filename on "DATADIR".
1479 1479 *
1480 1480 * @return Full path for the file (release it with lib3270_free).
1481 1481 *
1482 1482 */
1483 1483 LIB3270_EXPORT char * lib3270_build_data_filename(const char *name);
1484 1484  
  1485 + LIB3270_EXPORT char * lib3270_build_config_filename(const char *name);
  1486 +
1485 1487 LIB3270_EXPORT void lib3270_set_session_id(H3270 *hSession, char id);
1486 1488 LIB3270_EXPORT char lib3270_get_session_id(H3270 *hSession);
1487 1489  
... ...