From 53cc0664ec28066e73711fbc81f8f8171aec63d2 Mon Sep 17 00:00:00 2001 From: Perry Werneck Date: Thu, 5 Sep 2019 09:29:45 -0300 Subject: [PATCH] Adding methods to build data & config file names based in the product name instead of library name. --- Makefile.in | 5 +++-- configure.ac | 8 -------- src/core/Makefile.in | 431 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- src/core/linux/util.c | 7 ++++++- src/core/windows/util.c | 6 ++++++ src/include/config.h.in | 1 + src/include/lib3270.h | 4 +++- 7 files changed, 19 insertions(+), 443 deletions(-) delete mode 100644 src/core/Makefile.in diff --git a/Makefile.in b/Makefile.in index 1d5f62f..bbc7748 100644 --- a/Makefile.in +++ b/Makefile.in @@ -105,8 +105,9 @@ DEPENDS= \ CFLAGS= \ @CFLAGS@ \ -g \ - -I$(BASEDIR)/src/include - -DBUILD_DATE=`date +%Y%m%d` \ + -I$(BASEDIR)/src/include \ + -DDATADIR=$(datarootdir)/@PRODUCT_NAME@ \ + -DCONFDIR=$(sysconfdir)/@PRODUCT_NAME@ \ @LIBSSL_CFLAGS@ \ @LDAP_CFLAGS@ \ @LIBCURL_CFLAGS@ diff --git a/configure.ac b/configure.ac index 002542a..112e47d 100644 --- a/configure.ac +++ b/configure.ac @@ -103,8 +103,6 @@ case "$host" in s390x-*) CFLAGS="$CFLAGS -pthread" LDFLAGS="$LDFLAGS -pthread" - app_cv_datadir="/usr/share/pw3270" - app_cv_confdir="/etc" app_cv_osname="linux" LOGDIR="/var/log" @@ -115,8 +113,6 @@ case "$host" in *) CFLAGS="$CFLAGS -pthread" LDFLAGS="$LDFLAGS -pthread" - app_cv_datadir="/usr/share/pw3270" - app_cv_confdir="/etc" app_cv_osname="linux" LOGDIR="/var/log" DLLEXT=".so" @@ -125,10 +121,6 @@ case "$host" in esac -AC_DEFINE_UNQUOTED(LIB3270_DATADIR,$app_cv_datadir) -AC_SUBST(LIB3270_DATADIR,$app_cv_datadir) - -AC_SUBST(CONFDIR,$app_cv_confdir) AC_SUBST(OSNAME,$app_cv_osname) AC_SUBST(LIBS) AC_SUBST(LOGDIR) diff --git a/src/core/Makefile.in b/src/core/Makefile.in deleted file mode 100644 index 0086f1c..0000000 --- a/src/core/Makefile.in +++ /dev/null @@ -1,431 +0,0 @@ -# -# "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270 -# (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a -# aplicativos mainframe. Registro no INPI sob o nome G3270. -# -# Copyright (C) <2008> -# -# Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob -# os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela -# Free Software Foundation. -# -# Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER -# GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO -# A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para -# obter mais detalhes. -# -# Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este -# programa; se não, escreva para a Free Software Foundation, Inc., 59 Temple -# Place, Suite 330, Boston, MA, 02111-1307, USA -# -# Contatos: -# -# perry.werneck@gmail.com (Alexandre Perry de Souza Werneck) -# erico.mendonca@gmail.com (Erico Mascarenhas de Mendonça) -# - -#---[ Library configuration ]------------------------------------------------------------ - -LIBNAME=lib@LIB3270_NAME@ - -SOURCES= \ - $(wildcard *.c) \ - $(wildcard selection/*.c) \ - $(wildcard @OSNAME@/*.c) \ - $(wildcard ssl/*.c) \ - $(wildcard ssl/@OSNAME@/*.c) \ - $(wildcard @OSNAME@/*.rc) \ - $(BASEDIR)/.tmp/$(LIBNAME)/fallbacks.c - -TEST_SOURCES= \ - $(wildcard testprogram/*.c) - -#---[ Tools ]---------------------------------------------------------------------------- - -CC=@CC@ -HOST_CC=@HOST_CC@ -LD=@CC@ -LN_S=@LN_S@ -MKDIR=@MKDIR_P@ -INSTALL=@INSTALL@ -INSTALL_DATA=@INSTALL_DATA@ -INSTALL_PROGRAM=@INSTALL_PROGRAM@ -XGETTEXT=@XGETTEXT@ -MSGCAT=@MSGCAT@ -WINDRES=@WINDRES@ -AR=@AR@ -VALGRIND=@VALGRIND@ - -#---[ Paths ]---------------------------------------------------------------------------- - -prefix=@prefix@ -exec_prefix=@exec_prefix@ -bindir=@bindir@ -sbindir=@sbindir@ -libdir=@libdir@ -includedir=@includedir@ -datarootdir=@datarootdir@ -localedir=@localedir@ -docdir=@docdir@ -sysconfdir=@sysconfdir@ - -BASEDIR=@BASEDIR@ - -POTDIR=$(BASEDIR)/.pot - -OBJDIR=$(BASEDIR)/.obj/$(LIBNAME) -OBJDBG=$(OBJDIR)/Debug -OBJRLS=$(OBJDIR)/Release - -BINDIR=$(BASEDIR)/.bin -BINDBG=$(BINDIR)/Debug -BINRLS=$(BINDIR)/Release - -#---[ Rules ]---------------------------------------------------------------------------- - -DEPENDS= \ - Makefile \ - ../include/*.h \ - ../include/lib3270/*.h \ - ../lib3270/*.h \ - $(BASEDIR)/src/include/lib3270/actions.h - -CFLAGS= \ - @CFLAGS@ \ - -g \ - -I../include - -DBUILD_DATE=`date +%Y%m%d` \ - @LIBSSL_CFLAGS@ \ - @LDAP_CFLAGS@ \ - @LIBCURL_CFLAGS@ - -LIBS= \ - @LIBS@ \ - @LIBSSL_LIBS@ \ - @LIBICONV@ \ - @INTL_LIBS@ \ - @LDAP_LIBS@ \ - @LIBCURL_LIBS@ - -#---[ Debug Rules ]---------------------------------------------------------------------- - -$(OBJDBG)/%.o: \ - %.c \ - $(DEPENDS) - - @echo $< ... - @$(MKDIR) `dirname $@` - @$(CC) \ - $(CFLAGS) \ - -Wall -Wextra -fstack-check \ - -DDEBUG=1 \ - -o $@ -c $< - -$(OBJDBG)/%.o: \ - %.rc - - @echo $< ... - @$(MKDIR) `dirname $@` - @$(WINDRES) $< -O coff -o $@ - -#---[ Release Rules ]-------------------------------------------------------------------- - -$(OBJRLS)/%.o: \ - %.c \ - $(DEPENDS) - - @echo $< ... - @$(MKDIR) `dirname $@` - @$(CC) \ - $(CFLAGS) \ - -DNDEBUG=1 \ - -o $@ -c $< - -$(OBJRLS)/%.o: \ - %.rc - - @echo $< ... - @$(MKDIR) `dirname $@` - @$(WINDRES) $< -O coff -o $@ - -#---[ Misc Rules ]----------------------------------------------------------------------- - -$(POTDIR)/$(LIBNAME)/%.pot: \ - %.c - - @echo $(notdir $@) ... - @$(MKDIR) `dirname $@` - @$(XGETTEXT) \ - --language=C \ - --keyword=_ \ - --keyword=N_ \ - --keyword=MSG_:2 \ - --output=$@ \ - $< - @touch $@ - -$(POTDIR)/$(LIBNAME)/%.pot: \ - %.rc - - @echo $< ... - @$(MKDIR) `dirname $@` - @touch $@ - -#---[ Release Targets ]------------------------------------------------------------------ - -all: \ - $(BINRLS)/$(LIBNAME)@DLLEXT@ \ - $(BINRLS)/static/$(LIBNAME).a \ - $(POTDIR)/$(LIBNAME).pot - - -Release: \ - $(BINRLS)/$(LIBNAME)@DLLEXT@ \ - $(BINRLS)/static/$(LIBNAME).a - -$(BINRLS)/$(LIBNAME)@DLLEXT@: \ - $(BINRLS)/$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@ - - @echo $< ... - @rm -f $@ - @$(LN_S) \ - $^ \ - $@ - -$(BINRLS)/$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@: \ - $(BINRLS)/$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@ - - @rm -f $@ - @$(LN_S) \ - $^ \ - $@ - -$(BINRLS)/$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@: \ - $(foreach SRC, $(basename $(SOURCES)), $(OBJRLS)/$(SRC).o) - - @$(MKDIR) $(@D) - @echo $< ... - @$(LD) \ - @DLL_LDFLAGS@ \ - -o $@ \ - $(LDFLAGS) \ - $(foreach SRC, $(basename $(SOURCES)), $(OBJRLS)/$(SRC).o) \ - $(LIBS) - -$(BINRLS)/static/$(LIBNAME).a: \ - $(foreach SRC, $(basename $(SOURCES)), $(OBJRLS)/$(SRC).o) - - @echo $@ ... - @$(MKDIR) `dirname $@` - @$(AR) rcs $@ $^ - - -#---[ Install Targets ]------------------------------------------------------------------ - -install: \ - install-shared \ - install-static \ - install-dev - -install-shared: \ - $(BINRLS)/$(LIBNAME)@DLLEXT@ \ - - # Install library - @mkdir -p $(DESTDIR)$(libdir) - - $(INSTALL_PROGRAM) \ - $(BINRLS)/$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@ \ - $(DESTDIR)/$(libdir) - - $(LN_S) \ - $(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@ \ - $(DESTDIR)/$(libdir)/$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@ \ - - $(LN_S) \ - $(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@ \ - $(DESTDIR)/$(libdir)/$(LIBNAME)@DLLEXT@ - -install-static: \ - $(BINRLS)/static/$(LIBNAME).a - - # Install static library - mkdir -p $(DESTDIR)$(libdir) - $(INSTALL_DATA) \ - $(BINRLS)/static/$(LIBNAME).a \ - $(DESTDIR)$(libdir)/$(LIBNAME)-static.a - - # Install static PKG-CONFIG files - @mkdir -p $(DESTDIR)$(libdir)/pkgconfig - @$(INSTALL_DATA) \ - lib3270-static.pc \ - $(DESTDIR)$(libdir)/pkgconfig/lib3270-static.pc - -install-dev: - - # Install SDK - @mkdir -p $(DESTDIR)$(includedir)/lib3270 - - @$(INSTALL_DATA) \ - ../include/lib3270/*.h \ - $(DESTDIR)$(includedir)/lib3270 - - @$(INSTALL_DATA) \ - ../include/lib3270.h \ - $(DESTDIR)$(includedir)/lib3270.h - - # Install PKG-CONFIG files - @mkdir -p $(DESTDIR)$(libdir)/pkgconfig - @$(INSTALL_DATA) \ - lib3270.pc \ - $(DESTDIR)$(libdir)/pkgconfig/lib3270.pc - - -#---[ Misc Targets ]--------------------------------------------------------------------- - -$(BASEDIR)/.tmp/$(LIBNAME)/fallbacks.c: \ - X3270.xad \ - $(wildcard mkfb/*.c) - - @$(MKDIR) `dirname $@` - @$(MKDIR) $(BINDIR) - @echo $< ... - @$(HOST_CC) -g -o $(BINDIR)/mkfb@EXEEXT@ $(wildcard mkfb/*.c) - @$(BINDIR)/mkfb@EXEEXT@ -c X3270.xad $@ - -$(BASEDIR)/src/include/lib3270/actions.h: \ - ../include/lib3270/action_table.h \ - $(wildcard mkactions/*.c) - - @$(MKDIR) `dirname $@` - @$(MKDIR) $(BINDIR) - @echo $< ... - @$(HOST_CC) \ - -g \ - -I../include \ - -DBUILD_DATE=`date +%Y%m%d` \ - -o $(BINDIR)/mkactions@EXEEXT@ \ - $(wildcard mkactions/*.c) - @$(BINDIR)/mkactions@EXEEXT@ -o $@ - -$(POTDIR)/$(LIBNAME).pot: \ - $(foreach SRC, $(basename $(SOURCES)), $(POTDIR)/$(LIBNAME)/$(SRC).pot) - - @rm -f $@ - @mkdir -p `dirname $@` - @$(MSGCAT) --sort-output $^ > $@ - -locale: \ - $(POTDIR)/$(LIBNAME).pot - - -#---[ Debug Targets ]-------------------------------------------------------------------- - -Debug: \ - $(BINDBG)/$(LIBNAME)@EXEEXT@ - -$(BINDBG)/$(LIBNAME)@EXEEXT@: \ - $(foreach SRC, $(basename $(TEST_SOURCES)), $(OBJDBG)/$(SRC).o) \ - $(BINDBG)/$(LIBNAME)@DLLEXT@ - - @$(MKDIR) `dirname $@` - @echo $< ... - @$(LD) \ - -Wl,--rpath,$(BINDBG) \ - -o $@ \ - $(foreach SRC, $(basename $(TEST_SOURCES)), $(OBJDBG)/$(SRC).o) \ - $(LDFLAGS) \ - $(LIBS) \ - -L$(BINDBG) \ - -l@LIB3270_NAME@ - -run: \ - $(BINDBG)/$(LIBNAME)@EXEEXT@ - -ifeq ($(VALGRIND),no) - - @LD_LIBRARY_PATH=$(BINDBG) \ - $(BINDBG)/$(LIBNAME)@EXEEXT@ - -else - @touch valgrind.suppression - - @LD_LIBRARY_PATH=$(BINDBG) \ - $(VALGRIND) --leak-check=full --track-origins=yes --gen-suppressions=all --suppressions=valgrind.suppression \ - $(BINDBG)/$(LIBNAME)@EXEEXT@ -endif - -publish-debug: \ - $(BINDBG)/$(LIBNAME)@EXEEXT@ - - @rm -f ~/public-html/debug-$(LIBNAME)-@host_cpu@.zip - @zip \ - -9 -D \ - ~/public_html/debug-$(LIBNAME)-@host_cpu@.zip \ - $(BINDBG)/* - -publish-release: \ - $(BINRLS)/$(LIBNAME)@DLLEXT@ - - @rm -f ~/public-html/release-$(LIBNAME)-@host_cpu@.zip - @zip \ - -9 -D \ - ~/public_html/release-$(LIBNAME)-@host_cpu@.zip \ - $(BINRLS)/*@DLLEXT@ - -$(BINDBG)/$(LIBNAME)@DLLEXT@: \ - $(BINDBG)/$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@ - - @echo $< ... - @rm -f $@ - @$(LN_S) \ - $^ \ - $@ - -$(BINDBG)/$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@: \ - $(BINDBG)/$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@ - - @rm -f $@ - @$(LN_S) \ - $^ \ - $@ - -$(BINDBG)/$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@: \ - $(foreach SRC, $(basename $(SOURCES)), $(OBJDBG)/$(SRC).o) - - @$(MKDIR) `dirname $@` - @echo $< ... - @$(LD) \ - -shared -Wl,-soname,$(@F) \ - -o $@ \ - $(LDFLAGS) \ - $(foreach SRC, $(basename $(SOURCES)), $(OBJDBG)/$(SRC).o) \ - $(LIBS) - -#---[ Clean Targets ]-------------------------------------------------------------------- - -clean: \ - cleanDebug \ - cleanRelease - - @rm -fr $(BASEDIR)/.tmp/$(LIBNAME) - @rm -fr $(POTDIR)/$(LIBNAME) - -cleanDebug: - - @rm -fr $(OBJDBG) - @rm -fr $(BINDBG) - @rm -fr $(BASEDIR)/src/include/lib3270/actions.h - -cleanRelease: - - @rm -fr $(OBJRLS) - @rm -fr $(BINRLS) - @rm -fr $(POTDIR) - @rm -f lib$(LIBNAME).pot - @rm -fr $(BASEDIR)/src/include/lib3270/actions.h - -clean: \ - cleanDebug \ - cleanRelease - - diff --git a/src/core/linux/util.c b/src/core/linux/util.c index b2d7c60..e6509fd 100644 --- a/src/core/linux/util.c +++ b/src/core/linux/util.c @@ -38,5 +38,10 @@ char * lib3270_build_data_filename(const char *name) { - return lib3270_strdup_printf("%s/%s",LIB3270_STRINGIZE_VALUE_OF(LIB3270_DATADIR),name); + return lib3270_strdup_printf(LIB3270_STRINGIZE_VALUE_OF(DATADIR) "/%s",name); +} + +char * lib3270_build_config_filename(const char *name) +{ + return lib3270_strdup_printf(LIB3270_STRINGIZE_VALUE_OF(CONFDIR) "/%s",name); } diff --git a/src/core/windows/util.c b/src/core/windows/util.c index 8151877..b09074b 100644 --- a/src/core/windows/util.c +++ b/src/core/windows/util.c @@ -269,6 +269,12 @@ LIB3270_EXPORT char * lib3270_build_data_filename(const char *name) } +char * lib3270_build_config_filename(const char *name) +{ + // On windows the data and config path are the same. + return lib3270_build_data_filename(name); +} + LIB3270_EXPORT char * lib3270_get_installation_path() { char lpFilename[4096]; diff --git a/src/include/config.h.in b/src/include/config.h.in index 6989bbc..3d49135 100644 --- a/src/include/config.h.in +++ b/src/include/config.h.in @@ -33,6 +33,7 @@ /* Version info */ #undef PACKAGE_NAME + #undef PRODUCT_NAME #undef PACKAGE_VERSION #undef PACKAGE_RELEASE #undef LIB3270_NAME diff --git a/src/include/lib3270.h b/src/include/lib3270.h index e8adb8e..06c8721 100644 --- a/src/include/lib3270.h +++ b/src/include/lib3270.h @@ -1475,13 +1475,15 @@ #endif // WIn32 /** - * @brief Build filename on "LIB3270_DATADIR". + * @brief Build filename on "DATADIR". * * @return Full path for the file (release it with lib3270_free). * */ LIB3270_EXPORT char * lib3270_build_data_filename(const char *name); + LIB3270_EXPORT char * lib3270_build_config_filename(const char *name); + LIB3270_EXPORT void lib3270_set_session_id(H3270 *hSession, char id); LIB3270_EXPORT char lib3270_get_session_id(H3270 *hSession); -- libgit2 0.21.2