1config BR2_PACKAGE_POCO_ARCH_SUPPORTS
2	bool
3	default y
4	depends on !BR2_arc
5	depends on !BR2_microblaze
6	depends on !BR2_mipsel
7	depends on !BR2_or1k
8	depends on !BR2_RISCV_32
9	depends on !BR2_xtensa
10
11config BR2_PACKAGE_POCO
12	bool "poco"
13	depends on BR2_INSTALL_LIBSTDCPP
14	depends on BR2_USE_WCHAR
15	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_8 # C++17
16	# pthread_condattr_setclock
17	depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
18	depends on !BR2_STATIC_LIBS # dlopen()
19	depends on BR2_PACKAGE_POCO_ARCH_SUPPORTS
20	select BR2_PACKAGE_PCRE2
21	select BR2_PACKAGE_ZLIB
22	help
23	  The C++ Portable Components Libraries
24
25	  http://pocoproject.org
26
27if BR2_PACKAGE_POCO
28
29comment "poco components"
30
31config BR2_PACKAGE_POCO_ACTIVERECORD
32	bool "ActiveRecord"
33	select BR2_PACKAGE_POCO_XML
34
35config BR2_PACKAGE_POCO_CPP_PARSER
36	bool "CppParser"
37
38config BR2_PACKAGE_POCO_CRYPTO
39	bool "Crypto"
40	select BR2_PACKAGE_LIBOPENSSL_ENABLE_DES if BR2_PACKAGE_LIBOPENSSL
41	select BR2_PACKAGE_OPENSSL
42
43config BR2_PACKAGE_POCO_DATA
44	bool
45
46config BR2_PACKAGE_POCO_DATA_MYSQL
47	bool "Data/MySQL"
48	depends on BR2_USE_MMU # mysql
49	select BR2_PACKAGE_MARIADB
50	select BR2_PACKAGE_POCO_DATA
51
52config BR2_PACKAGE_POCO_DATA_PGSQL
53	bool "Data/PostgreSQL"
54	depends on BR2_USE_MMU # postgresql
55	depends on !BR2_OPTIMIZE_FAST # postgresql
56	select BR2_PACKAGE_POCO_DATA
57	select BR2_PACKAGE_POSTGRESQL
58
59comment "Data/PostgreSQL can't be built with Optimize for fast"
60	depends on BR2_OPTIMIZE_FAST
61
62config BR2_PACKAGE_POCO_DATA_SQLITE
63	bool "Data/SQLite"
64	select BR2_PACKAGE_POCO_DATA
65	select BR2_PACKAGE_SQLITE
66
67config BR2_PACKAGE_POCO_JSON
68	bool "JSON"
69
70config BR2_PACKAGE_POCO_JWT
71	bool "JWT"
72	select BR2_PACKAGE_POCO_CRYPTO
73	select BR2_PACKAGE_POCO_JSON
74
75config BR2_PACKAGE_POCO_MONGODB
76	bool "MongoDB"
77	select BR2_PACKAGE_POCO_NET
78
79config BR2_PACKAGE_POCO_NET
80	bool "Net"
81
82config BR2_PACKAGE_POCO_NETSSL_OPENSSL
83	bool "NetSSL_OpenSSL"
84	select BR2_PACKAGE_OPENSSL
85	select BR2_PACKAGE_POCO_CRYPTO
86	select BR2_PACKAGE_POCO_NET
87	select BR2_PACKAGE_POCO_UTIL
88
89config BR2_PACKAGE_POCO_PDF
90	bool "PDF"
91	select BR2_PACKAGE_POCO_JSON
92	select BR2_PACKAGE_POCO_UTIL
93	select BR2_PACKAGE_POCO_XML
94
95config BR2_PACKAGE_POCO_PROMETHEUS
96	bool "Prometheus"
97	select BR2_PACKAGE_POCO_NET
98
99config BR2_PACKAGE_POCO_REDIS
100	bool "Redis"
101	select BR2_PACKAGE_POCO_NET
102
103config BR2_PACKAGE_POCO_UTIL
104	bool "Util"
105	select BR2_PACKAGE_POCO_XML
106
107config BR2_PACKAGE_POCO_XML
108	bool "XML"
109	select BR2_PACKAGE_EXPAT
110
111config BR2_PACKAGE_POCO_ZIP
112	bool "Zip"
113	select BR2_PACKAGE_POCO_NET
114	select BR2_PACKAGE_POCO_UTIL
115	select BR2_PACKAGE_POCO_XML
116
117endif # BR2_PACKAGE_POCO
118
119comment "poco needs a toolchain w/ wchar, NPTL, C++, dynamic library, gcc >= 8"
120	depends on !BR2_USE_WCHAR || !BR2_INSTALL_LIBSTDCPP \
121		|| !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS \
122		|| !BR2_TOOLCHAIN_GCC_AT_LEAST_8
123	depends on BR2_PACKAGE_POCO_ARCH_SUPPORTS
124