mailarchive of the ptxdist mailing list
 help / color / mirror / Atom feed
From: Michael Olbrich <m.olbrich@pengutronix.de>
To: ptxdist@pengutronix.de
Subject: Re: [ptxdist] [PATCH v2] poco: version bump 1.6.1 -> 1.9.0
Date: Mon, 4 Feb 2019 16:05:28 +0100	[thread overview]
Message-ID: <20190204150528.izbzm3zk434jivv3@pengutronix.de> (raw)
In-Reply-To: <20190204132443.27359-1-florian.baeuerle@allegion.com>

On Mon, Feb 04, 2019 at 01:24:56PM +0000, Baeuerle, Florian wrote:
> And make poco more configurable.
> 
> Signed-off-by: Florian Bäuerle <florian.baeuerle@allegion.com>
> ---
>  patches/poco-1.6.1/0001-libpcre-bug.patch     | 12 ---
>  .../0002-fix-parallel-building.patch          | 57 -----------
>  ...nclude-pcre.h-for-an-unbundled-build.patch | 38 --------
>  patches/poco-1.6.1/series                     |  3 -
>  rules/poco.in                                 | 93 ++++++++++++++++--
>  rules/poco.make                               | 97 +++++++++++++++++--
>  6 files changed, 177 insertions(+), 123 deletions(-)
>  delete mode 100644 patches/poco-1.6.1/0001-libpcre-bug.patch
>  delete mode 100644 patches/poco-1.6.1/0002-fix-parallel-building.patch
>  delete mode 100644 patches/poco-1.6.1/0003-Include-pcre.h-for-an-unbundled-build.patch
>  delete mode 100644 patches/poco-1.6.1/series
> 
> diff --git a/patches/poco-1.6.1/0001-libpcre-bug.patch b/patches/poco-1.6.1/0001-libpcre-bug.patch
> deleted file mode 100644
> index 97d5d05d2..000000000
> --- a/patches/poco-1.6.1/0001-libpcre-bug.patch
> +++ /dev/null
> @@ -1,12 +0,0 @@
> -diff --git a/Foundation/Makefile b/Foundation/Makefile
> -index 45ade1c..895b575 100644
> ---- a/Foundation/Makefile
> -+++ b/Foundation/Makefile
> -@@ -46,6 +46,7 @@ pcre_utf8_objects = pcre_ucd pcre_tables
> - 
> - ifdef POCO_UNBUNDLED
> - 	SYSLIBS += -lpcre -lz
> -+	objects += $(pcre_utf8_objects) # unicode.cpp uses internal pcre tables
> - else
> - 	objects += $(zlib_objects) $(pcre_objects) $(pcre_utf8_objects)
> - endif
> diff --git a/patches/poco-1.6.1/0002-fix-parallel-building.patch b/patches/poco-1.6.1/0002-fix-parallel-building.patch
> deleted file mode 100644
> index a961e5acb..000000000
> --- a/patches/poco-1.6.1/0002-fix-parallel-building.patch
> +++ /dev/null
> @@ -1,57 +0,0 @@
> -From: Michael Olbrich <m.olbrich@pengutronix.de>
> -Date: Tue, 23 Oct 2012 07:32:47 +0200
> -Subject: [PATCH] fix parallel building
> -
> -Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
> ----
> - build/rules/compile | 16 ++++++++--------
> - 1 file changed, 8 insertions(+), 8 deletions(-)
> -
> -diff --git a/build/rules/compile b/build/rules/compile
> -index 1945e3c..59fca71 100644
> ---- a/build/rules/compile
> -+++ b/build/rules/compile
> -@@ -33,35 +33,35 @@ $(OBJPATH_RELEASE_STATIC) $(OBJPATH_DEBUG_STATIC) $(OBJPATH_RELEASE_SHARED) $(OB
> - #
> - # Rules for compiling
> - #	
> --$(OBJPATH_DEBUG_STATIC)/%.o: $(SRCDIR)/%.cpp $(DEPPATH)/%.d
> -+$(OBJPATH_DEBUG_STATIC)/%.o: $(SRCDIR)/%.cpp $(DEPPATH)/%.d objdirs
> - 	@echo "** Compiling" $< "(debug, static)"
> - 	$(CXX) $(INCLUDE) $(CXXFLAGS) $(DEBUGOPT_CXX) $(STATICOPT_CXX) -c $< -o $@
> - 
> --$(OBJPATH_RELEASE_STATIC)/%.o: $(SRCDIR)/%.cpp $(DEPPATH)/%.d
> -+$(OBJPATH_RELEASE_STATIC)/%.o: $(SRCDIR)/%.cpp $(DEPPATH)/%.d objdirs
> - 	@echo "** Compiling" $< "(release, static)"
> - 	$(CXX) $(INCLUDE) $(CXXFLAGS) $(RELEASEOPT_CXX) $(STATICOPT_CXX) -c $< -o $@
> - 
> --$(OBJPATH_DEBUG_STATIC)/%.o: $(SRCDIR)/%.c $(DEPPATH)/%.d
> -+$(OBJPATH_DEBUG_STATIC)/%.o: $(SRCDIR)/%.c $(DEPPATH)/%.d objdirs
> - 	@echo "** Compiling" $< "(debug, static)"
> - 	$(CC) $(INCLUDE) $(CFLAGS) $(DEBUGOPT_CC) $(STATICOPT_CC) -c $< -o $@
> - 
> --$(OBJPATH_RELEASE_STATIC)/%.o: $(SRCDIR)/%.c $(DEPPATH)/%.d
> -+$(OBJPATH_RELEASE_STATIC)/%.o: $(SRCDIR)/%.c $(DEPPATH)/%.d objdirs
> - 	@echo "** Compiling" $< "(release, static)"
> - 	$(CC) $(INCLUDE) $(CFLAGS) $(RELEASEOPT_CC) $(STATICOPT_CC) -c $< -o $@
> - 
> --$(OBJPATH_DEBUG_SHARED)/%.o: $(SRCDIR)/%.cpp $(DEPPATH)/%.d
> -+$(OBJPATH_DEBUG_SHARED)/%.o: $(SRCDIR)/%.cpp $(DEPPATH)/%.d objdirs
> - 	@echo "** Compiling" $< "(debug, shared)"
> - 	$(CXX) $(INCLUDE) $(CXXFLAGS) $(DEBUGOPT_CXX) $(SHAREDOPT_CXX) -c $< -o $@
> - 
> --$(OBJPATH_RELEASE_SHARED)/%.o: $(SRCDIR)/%.cpp $(DEPPATH)/%.d
> -+$(OBJPATH_RELEASE_SHARED)/%.o: $(SRCDIR)/%.cpp $(DEPPATH)/%.d objdirs
> - 	@echo "** Compiling" $< "(release, shared)"
> - 	$(CXX) $(INCLUDE) $(CXXFLAGS) $(RELEASEOPT_CXX) $(SHAREDOPT_CXX) -c $< -o $@
> - 
> --$(OBJPATH_DEBUG_SHARED)/%.o: $(SRCDIR)/%.c $(DEPPATH)/%.d
> -+$(OBJPATH_DEBUG_SHARED)/%.o: $(SRCDIR)/%.c $(DEPPATH)/%.d objdirs
> - 	@echo "** Compiling" $< "(debug, shared)"
> - 	$(CC) $(INCLUDE) $(CFLAGS) $(DEBUGOPT_CC) $(SHAREDOPT_CC) -c $< -o $@
> - 
> --$(OBJPATH_RELEASE_SHARED)/%.o: $(SRCDIR)/%.c $(DEPPATH)/%.d
> -+$(OBJPATH_RELEASE_SHARED)/%.o: $(SRCDIR)/%.c $(DEPPATH)/%.d objdirs
> - 	@echo "** Compiling" $< "(release, shared)"
> - 	$(CC) $(INCLUDE) $(CFLAGS) $(RELEASEOPT_CC) $(SHAREDOPT_CC) -c $< -o $@
> - 
> diff --git a/patches/poco-1.6.1/0003-Include-pcre.h-for-an-unbundled-build.patch b/patches/poco-1.6.1/0003-Include-pcre.h-for-an-unbundled-build.patch
> deleted file mode 100644
> index b5d6b35df..000000000
> --- a/patches/poco-1.6.1/0003-Include-pcre.h-for-an-unbundled-build.patch
> +++ /dev/null
> @@ -1,38 +0,0 @@
> -From 94bb16fdeea5cd804c586b282cdbdd1c45360718 Mon Sep 17 00:00:00 2001
> -From: zosrothko <zosrothko@orange.fr>
> -Date: Tue, 17 Nov 2015 18:45:44 +0100
> -Subject: [PATCH] Include <pcre.h> for an unbundled build.
> -
> ----
> - Foundation/include/Poco/RegularExpression.h | 6 ++++--
> - 1 file changed, 4 insertions(+), 2 deletions(-)
> -
> -diff --git a/Foundation/include/Poco/RegularExpression.h b/Foundation/include/Poco/RegularExpression.h
> -index 9181d29..e2b3446 100644
> ---- a/Foundation/include/Poco/RegularExpression.h
> -+++ b/Foundation/include/Poco/RegularExpression.h
> -@@ -28,17 +28,19 @@
> - #include <map>
> - 
> - 
> -+#ifdef POCO_UNBUNDLED
> -+#include <pcre.h>
> -+#else
> - //
> - // Copy these definitions from pcre.h
> - // to avoid pulling in the entire header file
> - //
> - extern "C"
> - {
> --	struct real_pcre8_or_16;                 /* declaration; the definition is private  */
> - 	typedef struct real_pcre8_or_16 pcre;
> - 	struct pcre_extra;
> - }
> --
> -+#endif
> - 
> - namespace Poco {
> - 
> --- 
> -2.1.4
> -
> diff --git a/patches/poco-1.6.1/series b/patches/poco-1.6.1/series
> deleted file mode 100644
> index ff8ef985a..000000000
> --- a/patches/poco-1.6.1/series
> +++ /dev/null
> @@ -1,3 +0,0 @@
> -0001-libpcre-bug.patch
> -0002-fix-parallel-building.patch
> -0003-Include-pcre.h-for-an-unbundled-build.patch
> diff --git a/rules/poco.in b/rules/poco.in
> index 9f947f4f6..8e917b03f 100644
> --- a/rules/poco.in
> +++ b/rules/poco.in
> @@ -1,18 +1,99 @@
>  ## SECTION=system_libraries
>  
> -config POCO
> +menuconfig POCO
>  	tristate
>  	select GCCLIBS_CXX
>  	select GCCLIBS_GCC_S
> -	select LIBC_M
> -	select LIBC_DL
> -	select LIBC_RT
> -	select LIBC_PTHREAD
>  	select ZLIB
>  	select LIBPCRE
> -	select EXPAT
> +	select EXPAT if POCO_XML
> +	select SQLITE if POCO_DATA_SQLITE
> +	select MYSQLDB if POCO_DATA_MYSQL
> +	select OPENSSL if POCO_CRYPTO

align with tabs before the 'if'

>  	prompt "poco"
>  	help
>  	  The POCO C++ Libraries (POrtable COmponents) are open source C++ class
>  	  libraries that simplify and accelerate the development of
>  	  network-centric, portable applications in C++.
> +
> +
> +if POCO
> +
> +config POCO_ENCODINGS
> +	bool
> +	default n

'default n' is the default, so remove this everywhere.

> +	prompt "double-byte encodings library"
> +
> +config POCO_XML
> +	bool
> +	default n
> +	prompt "XML library"
> +
> +config POCO_JSON
> +	bool
> +	default n
> +	prompt "JSON library"
> +
> +config POCO_UTIL
> +	bool
> +	default n
> +	prompt "Util library"
> +
> +config POCO_NET
> +	bool
> +	default n
> +	prompt "Networking library"
> +
> +if POCO_NET && POCO_CRYPTO && POCO_UTIL
> +
> +config POCO_NETSSL_OPENSSL
> +	bool
> +	default n
> +	prompt "TLS using OpenSSL"
> +
> +endif
> +
> +config POCO_CRYPTO
> +	bool
> +	default n
> +	prompt "Crypto library"
> +
> +config POCO_DATA
> +	bool
> +	default n
> +	prompt "Database abstraction library"
> +
> +if POCO_DATA
> +
> +config POCO_DATA_SQLITE
> +	bool
> +	default n
> +	prompt "SQLite backend"
> +
> +config POCO_DATA_MYSQL
> +	bool
> +	default n
> +	prompt "MySQL backend"
> +
> +endif
> +
> +config POCO_ZIP
> +	bool
> +	default n
> +	prompt "Zip library"
> +
> +if POCO_NET
> +
> +config POCO_MONGODB
> +	bool
> +	default n
> +	prompt "MongoDB support"
> +
> +config POCO_REDIS
> +	bool
> +	default n
> +	prompt "Redis support"
> +
> +endif
> +
> +endif
> diff --git a/rules/poco.make b/rules/poco.make
> index e294e4b85..486a505f7 100644
> --- a/rules/poco.make
> +++ b/rules/poco.make
> @@ -16,11 +16,11 @@ PACKAGES-$(PTXCONF_POCO) += poco
>  #
>  # Paths and names
>  #
> -POCO_VERSION	:= 1.6.1
> -POCO_MD5	:= 8bc6b7dc22a8cbd97257028c02ac2707
> +POCO_VERSION	:= 1.9.0
> +POCO_MD5	:= 9047586e0ba393bfeced96e3b7ae6286
>  POCO		:= poco-$(POCO_VERSION)
>  POCO_SUFFIX	:= tar.gz
> -POCO_URL	:= http://pocoproject.org/releases/$(POCO)/$(POCO).$(POCO_SUFFIX)
> +POCO_URL	:= http://pocoproject.org/releases/$(POCO)/$(POCO)-all.$(POCO_SUFFIX)
>  POCO_SOURCE	:= $(SRCDIR)/$(POCO).$(POCO_SUFFIX)
>  POCO_DIR	:= $(shell readlink -f "$(BUILDDIR)/$(POCO)")
>  POCO_LICENSE	:= BSL-1.0
> @@ -29,13 +29,63 @@ POCO_LICENSE	:= BSL-1.0
>  # Prepare
>  # ----------------------------------------------------------------------------
>  
> +POCO_CONF_OPT_OMIT = CppUnit Data/ODBC PageCompiler PageCompiler/File2Page CppUnit/WinTestRunner

POCO_CONF_OPT_OMIT-				:= CppUnit
POCO_CONF_OPT_OMIT-				+= Data/ODBC
[...]


> +
> +ifndef PTXCONF_POCO_ENCODINGS
> +POCO_CONF_OPT_OMIT += Encodings
> +endif

POCO_CONF_OPT_OMIT-$(PTXCONF_POCO_ENCODINGS)	+= Encodings

Or something like this.

> +
> +ifndef PTXCONF_POCO_XML
> +POCO_CONF_OPT_OMIT += XML
> +endif
> +
> +ifndef PTXCONF_POCO_JSON
> +POCO_CONF_OPT_OMIT += JSON
> +endif
> +
> +ifndef PTXCONF_POCO_UTIL
> +POCO_CONF_OPT_OMIT += Util
> +endif
> +
> +ifndef PTXCONF_POCO_NET
> +POCO_CONF_OPT_OMIT += Net
> +endif
> +
> +ifndef PTXCONF_POCO_NETSSL_OPENSSL
> +POCO_CONF_OPT_OMIT += NetSSL_OpenSSL
> +endif
> +
> +ifndef PTXCONF_POCO_DATA
> +POCO_CONF_OPT_OMIT += Data
> +endif
> +
> +ifndef PTXCONF_POCO_DATA_SQLITE
> +POCO_CONF_OPT_OMIT += Data/SQLite
> +endif
> +
> +ifndef PTXCONF_POCO_DATA_MYSQL
> +POCO_CONF_OPT_OMIT += Data/MySQL
> +endif
> +
> +ifndef PTXCONF_POCO_ZIP
> +POCO_CONF_OPT_OMIT += Zip
> +endif
> +
> +ifndef PTXCONF_POCO_MONGODB
> +POCO_CONF_OPT_OMIT += MongoDB
> +endif
> +
> +ifndef PTXCONF_POCO_REDIS
> +POCO_CONF_OPT_OMIT += Redis
> +endif
> +
>  POCO_CONF_TOOL	:= autoconf
>  POCO_CONF_OPT	:= \
>  	--config=Linux \
>  	--prefix=/usr \
>  	--no-tests \
>  	--no-samples \
> -	--omit=Data/MySQL,Data/ODBC,Zip \
> +	--omit=$(subst $(ptx/def/space),$(ptx/def/comma),$(POCO_CONF_OPT_OMIT)) \
>  	--poquito \
>  	--unbundled \
>  	--shared
> @@ -59,11 +109,44 @@ $(STATEDIR)/poco.targetinstall:
>  	@$(call install_fixup, poco,AUTHOR,"Robert Schwebel <r.schwebel@pengutronix.de>")
>  	@$(call install_fixup, poco,DESCRIPTION,missing)
>  
> -	@$(call install_lib, poco, 0, 0, 0644, libPocoUtil)
> -	@$(call install_lib, poco, 0, 0, 0644, libPocoXML)
> -	@$(call install_lib, poco, 0, 0, 0644, libPocoNet)
>  	@$(call install_lib, poco, 0, 0, 0644, libPocoFoundation)
> +

If you create the list above correctly, then maybe you use the XXX- for
--omit above and XXX-y in a loop here to install the libs.

Michael

> +ifdef PTXCONF_POCO_ENCODINGS
> +	@$(call install_lib, poco, 0, 0, 0644, libPocoEncodings)
> +endif
> +ifdef PTXCONF_POCO_XML
> +	@$(call install_lib, poco, 0, 0, 0644, libPocoXML)
> +endif
> +ifdef PTXCONF_POCO_JSON
>  	@$(call install_lib, poco, 0, 0, 0644, libPocoJSON)
> +endif
> +ifdef PTXCONF_POCO_UTIL
> +	@$(call install_lib, poco, 0, 0, 0644, libPocoUtil)
> +endif
> +ifdef PTXCONF_POCO_NET
> +	@$(call install_lib, poco, 0, 0, 0644, libPocoNet)
> +endif
> +ifdef PTXCONF_POCO_NETSSL_OPENSSL
> +	@$(call install_lib, poco, 0, 0, 0644, libPocoNetSSL)
> +endif
> +ifdef PTXCONF_POCO_DATA
> +	@$(call install_lib, poco, 0, 0, 0644, libPocoData)
> +endif
> +ifdef PTXCONF_POCO_DATA_SQLITE
> +	@$(call install_lib, poco, 0, 0, 0644, libPocoDataSQLite)
> +endif
> +ifdef PTXCONF_POCO_DATA_MYSQL
> +	@$(call install_lib, poco, 0, 0, 0644, libPocoDataMySQL)
> +endif
> +ifdef PTXCONF_POCO_ZIP
> +	@$(call install_lib, poco, 0, 0, 0644, libPocoZip)
> +endif
> +ifdef PTXCONF_POCO_MONGODB
> +	@$(call install_lib, poco, 0, 0, 0644, libPocoMongoDB)
> +endif
> +ifdef PTXCONF_POCO_REDIS
> +	@$(call install_lib, poco, 0, 0, 0644, libPocoRedis)
> +endif
>  
>  	@$(call install_finish, poco)
>  
> -- 
> 2.20.1
> 
> _______________________________________________
> ptxdist mailing list
> ptxdist@pengutronix.de

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de

  reply	other threads:[~2019-02-04 15:05 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-02-04 13:24 Baeuerle, Florian
2019-02-04 15:05 ` Michael Olbrich [this message]
2019-02-04 16:03   ` [ptxdist] [PATCH v3] " Baeuerle, Florian

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190204150528.izbzm3zk434jivv3@pengutronix.de \
    --to=m.olbrich@pengutronix.de \
    --cc=ptxdist@pengutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox