xref: /third_party/nghttp2/src/Makefile.am (revision 2c593315)
12c593315Sopenharmony_ci# nghttp2 - HTTP/2 C Library
22c593315Sopenharmony_ci
32c593315Sopenharmony_ci# Copyright (c) 2012 Tatsuhiro Tsujikawa
42c593315Sopenharmony_ci
52c593315Sopenharmony_ci# Permission is hereby granted, free of charge, to any person obtaining
62c593315Sopenharmony_ci# a copy of this software and associated documentation files (the
72c593315Sopenharmony_ci# "Software"), to deal in the Software without restriction, including
82c593315Sopenharmony_ci# without limitation the rights to use, copy, modify, merge, publish,
92c593315Sopenharmony_ci# distribute, sublicense, and/or sell copies of the Software, and to
102c593315Sopenharmony_ci# permit persons to whom the Software is furnished to do so, subject to
112c593315Sopenharmony_ci# the following conditions:
122c593315Sopenharmony_ci
132c593315Sopenharmony_ci# The above copyright notice and this permission notice shall be
142c593315Sopenharmony_ci# included in all copies or substantial portions of the Software.
152c593315Sopenharmony_ci
162c593315Sopenharmony_ci# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
172c593315Sopenharmony_ci# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
182c593315Sopenharmony_ci# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
192c593315Sopenharmony_ci# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
202c593315Sopenharmony_ci# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
212c593315Sopenharmony_ci# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
222c593315Sopenharmony_ci# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
232c593315Sopenharmony_ciSUBDIRS = testdata
242c593315Sopenharmony_ci
252c593315Sopenharmony_ciEXTRA_DIST = \
262c593315Sopenharmony_ci	CMakeLists.txt \
272c593315Sopenharmony_ci	test.example.com.pem \
282c593315Sopenharmony_ci	test.nghttp2.org.pem
292c593315Sopenharmony_ci
302c593315Sopenharmony_cibin_PROGRAMS =
312c593315Sopenharmony_cicheck_PROGRAMS =
322c593315Sopenharmony_ciTESTS =
332c593315Sopenharmony_ci
342c593315Sopenharmony_ciAM_CFLAGS = $(WARNCFLAGS)
352c593315Sopenharmony_ciAM_CXXFLAGS = $(WARNCXXFLAGS) $(CXX1XCXXFLAGS)
362c593315Sopenharmony_ciAM_CPPFLAGS = \
372c593315Sopenharmony_ci	-DPKGDATADIR='"$(pkgdatadir)"' \
382c593315Sopenharmony_ci	-DPKGLIBDIR='"$(pkglibdir)"' \
392c593315Sopenharmony_ci	-I$(top_srcdir)/lib/includes \
402c593315Sopenharmony_ci	-I$(top_builddir)/lib/includes \
412c593315Sopenharmony_ci	-I$(top_srcdir)/lib \
422c593315Sopenharmony_ci	-I$(top_srcdir)/third-party \
432c593315Sopenharmony_ci	-I$(top_srcdir)/third-party/llhttp/include \
442c593315Sopenharmony_ci	@JEMALLOC_CFLAGS@ \
452c593315Sopenharmony_ci	@LIBXML2_CFLAGS@ \
462c593315Sopenharmony_ci	@LIBEV_CFLAGS@ \
472c593315Sopenharmony_ci	@LIBNGHTTP3_CFLAGS@ \
482c593315Sopenharmony_ci	@LIBNGTCP2_CRYPTO_QUICTLS_CFLAGS@ \
492c593315Sopenharmony_ci	@LIBNGTCP2_CRYPTO_BORINGSSL_CFLAGS@ \
502c593315Sopenharmony_ci	@LIBNGTCP2_CFLAGS@ \
512c593315Sopenharmony_ci	@OPENSSL_CFLAGS@ \
522c593315Sopenharmony_ci	@LIBCARES_CFLAGS@ \
532c593315Sopenharmony_ci	@JANSSON_CFLAGS@ \
542c593315Sopenharmony_ci	@LIBBPF_CFLAGS@ \
552c593315Sopenharmony_ci	@ZLIB_CFLAGS@ \
562c593315Sopenharmony_ci	@EXTRA_DEFS@ \
572c593315Sopenharmony_ci	@DEFS@
582c593315Sopenharmony_ciAM_LDFLAGS = @LIBTOOL_LDFLAGS@
592c593315Sopenharmony_ci
602c593315Sopenharmony_ciLDADD = $(top_builddir)/lib/libnghttp2.la \
612c593315Sopenharmony_ci	$(top_builddir)/third-party/liburl-parser.la \
622c593315Sopenharmony_ci	$(top_builddir)/third-party/libllhttp.la \
632c593315Sopenharmony_ci	@JEMALLOC_LIBS@ \
642c593315Sopenharmony_ci	@LIBXML2_LIBS@ \
652c593315Sopenharmony_ci	@LIBEV_LIBS@ \
662c593315Sopenharmony_ci	@LIBNGHTTP3_LIBS@ \
672c593315Sopenharmony_ci	@LIBNGTCP2_CRYPTO_QUICTLS_LIBS@ \
682c593315Sopenharmony_ci	@LIBNGTCP2_CRYPTO_BORINGSSL_LIBS@ \
692c593315Sopenharmony_ci	@LIBNGTCP2_LIBS@ \
702c593315Sopenharmony_ci	@OPENSSL_LIBS@ \
712c593315Sopenharmony_ci	@LIBCARES_LIBS@ \
722c593315Sopenharmony_ci	@SYSTEMD_LIBS@ \
732c593315Sopenharmony_ci	@JANSSON_LIBS@ \
742c593315Sopenharmony_ci	@LIBBPF_LIBS@ \
752c593315Sopenharmony_ci	@ZLIB_LIBS@ \
762c593315Sopenharmony_ci	@APPLDFLAGS@
772c593315Sopenharmony_ci
782c593315Sopenharmony_ciif ENABLE_APP
792c593315Sopenharmony_ci
802c593315Sopenharmony_cibin_PROGRAMS += nghttp nghttpd nghttpx
812c593315Sopenharmony_ci
822c593315Sopenharmony_ciHELPER_OBJECTS = util.cc \
832c593315Sopenharmony_ci	http2.cc timegm.c app_helper.cc nghttp2_gzip.c
842c593315Sopenharmony_ciHELPER_HFILES = util.h \
852c593315Sopenharmony_ci	http2.h timegm.h app_helper.h nghttp2_config.h \
862c593315Sopenharmony_ci	nghttp2_gzip.h network.h
872c593315Sopenharmony_ci
882c593315Sopenharmony_ciHTML_PARSER_OBJECTS =
892c593315Sopenharmony_ciHTML_PARSER_HFILES = HtmlParser.h
902c593315Sopenharmony_ci
912c593315Sopenharmony_ciif HAVE_LIBXML2
922c593315Sopenharmony_ciHTML_PARSER_OBJECTS += HtmlParser.cc
932c593315Sopenharmony_ciendif # HAVE_LIBXML2
942c593315Sopenharmony_ci
952c593315Sopenharmony_cinghttp_SOURCES = ${HELPER_OBJECTS} ${HELPER_HFILES} nghttp.cc nghttp.h \
962c593315Sopenharmony_ci	${HTML_PARSER_OBJECTS} ${HTML_PARSER_HFILES} \
972c593315Sopenharmony_ci	tls.cc tls.h ssl_compat.h
982c593315Sopenharmony_ci
992c593315Sopenharmony_cinghttpd_SOURCES = ${HELPER_OBJECTS} ${HELPER_HFILES} nghttpd.cc \
1002c593315Sopenharmony_ci	tls.cc tls.h ssl_compat.h \
1012c593315Sopenharmony_ci	HttpServer.cc HttpServer.h
1022c593315Sopenharmony_ci
1032c593315Sopenharmony_cibin_PROGRAMS += h2load
1042c593315Sopenharmony_ci
1052c593315Sopenharmony_cih2load_SOURCES = util.cc util.h \
1062c593315Sopenharmony_ci	http2.cc http2.h h2load.cc h2load.h \
1072c593315Sopenharmony_ci	timegm.c timegm.h \
1082c593315Sopenharmony_ci	tls.cc tls.h ssl_compat.h \
1092c593315Sopenharmony_ci	h2load_session.h \
1102c593315Sopenharmony_ci	h2load_http2_session.cc h2load_http2_session.h \
1112c593315Sopenharmony_ci	h2load_http1_session.cc h2load_http1_session.h
1122c593315Sopenharmony_ci
1132c593315Sopenharmony_ciif ENABLE_HTTP3
1142c593315Sopenharmony_cih2load_SOURCES += \
1152c593315Sopenharmony_ci	h2load_http3_session.cc h2load_http3_session.h \
1162c593315Sopenharmony_ci	h2load_quic.cc h2load_quic.h \
1172c593315Sopenharmony_ci	quic.cc quic.h
1182c593315Sopenharmony_ciendif # ENABLE_HTTP3
1192c593315Sopenharmony_ci
1202c593315Sopenharmony_ciNGHTTPX_SRCS = \
1212c593315Sopenharmony_ci	util.cc util.h http2.cc http2.h timegm.c timegm.h base64.h \
1222c593315Sopenharmony_ci	app_helper.cc app_helper.h \
1232c593315Sopenharmony_ci	tls.cc tls.h ssl_compat.h \
1242c593315Sopenharmony_ci	shrpx_config.cc shrpx_config.h \
1252c593315Sopenharmony_ci	shrpx_error.h \
1262c593315Sopenharmony_ci	shrpx_accept_handler.cc shrpx_accept_handler.h \
1272c593315Sopenharmony_ci	shrpx_connection_handler.cc shrpx_connection_handler.h \
1282c593315Sopenharmony_ci	shrpx_client_handler.cc shrpx_client_handler.h \
1292c593315Sopenharmony_ci	shrpx_upstream.h \
1302c593315Sopenharmony_ci	shrpx_http2_upstream.cc shrpx_http2_upstream.h \
1312c593315Sopenharmony_ci	shrpx_https_upstream.cc shrpx_https_upstream.h \
1322c593315Sopenharmony_ci	shrpx_downstream.cc shrpx_downstream.h \
1332c593315Sopenharmony_ci	shrpx_downstream_connection.cc shrpx_downstream_connection.h \
1342c593315Sopenharmony_ci	shrpx_http_downstream_connection.cc shrpx_http_downstream_connection.h \
1352c593315Sopenharmony_ci	shrpx_http2_downstream_connection.cc shrpx_http2_downstream_connection.h \
1362c593315Sopenharmony_ci	shrpx_http2_session.cc shrpx_http2_session.h \
1372c593315Sopenharmony_ci	shrpx_downstream_queue.cc shrpx_downstream_queue.h \
1382c593315Sopenharmony_ci	shrpx_log.cc shrpx_log.h \
1392c593315Sopenharmony_ci	shrpx_http.cc shrpx_http.h \
1402c593315Sopenharmony_ci	shrpx_io_control.cc shrpx_io_control.h \
1412c593315Sopenharmony_ci	shrpx_tls.cc shrpx_tls.h \
1422c593315Sopenharmony_ci	shrpx_worker.cc shrpx_worker.h \
1432c593315Sopenharmony_ci	shrpx_log_config.cc shrpx_log_config.h \
1442c593315Sopenharmony_ci	shrpx_connect_blocker.cc shrpx_connect_blocker.h \
1452c593315Sopenharmony_ci	shrpx_live_check.cc shrpx_live_check.h \
1462c593315Sopenharmony_ci	shrpx_downstream_connection_pool.cc shrpx_downstream_connection_pool.h \
1472c593315Sopenharmony_ci	shrpx_rate_limit.cc shrpx_rate_limit.h \
1482c593315Sopenharmony_ci	shrpx_connection.cc shrpx_connection.h \
1492c593315Sopenharmony_ci	shrpx_memcached_dispatcher.cc shrpx_memcached_dispatcher.h \
1502c593315Sopenharmony_ci	shrpx_memcached_connection.cc shrpx_memcached_connection.h \
1512c593315Sopenharmony_ci	shrpx_memcached_request.h \
1522c593315Sopenharmony_ci	shrpx_memcached_result.h \
1532c593315Sopenharmony_ci	shrpx_worker_process.cc shrpx_worker_process.h \
1542c593315Sopenharmony_ci	shrpx_process.h \
1552c593315Sopenharmony_ci	shrpx_signal.cc shrpx_signal.h \
1562c593315Sopenharmony_ci	shrpx_router.cc shrpx_router.h \
1572c593315Sopenharmony_ci	shrpx_api_downstream_connection.cc shrpx_api_downstream_connection.h \
1582c593315Sopenharmony_ci	shrpx_health_monitor_downstream_connection.cc \
1592c593315Sopenharmony_ci	shrpx_health_monitor_downstream_connection.h \
1602c593315Sopenharmony_ci	shrpx_null_downstream_connection.cc shrpx_null_downstream_connection.h \
1612c593315Sopenharmony_ci	shrpx_exec.cc shrpx_exec.h \
1622c593315Sopenharmony_ci	shrpx_dns_resolver.cc shrpx_dns_resolver.h \
1632c593315Sopenharmony_ci	shrpx_dual_dns_resolver.cc shrpx_dual_dns_resolver.h \
1642c593315Sopenharmony_ci	shrpx_dns_tracker.cc shrpx_dns_tracker.h \
1652c593315Sopenharmony_ci	buffer.h memchunk.h template.h allocator.h \
1662c593315Sopenharmony_ci	xsi_strerror.c xsi_strerror.h
1672c593315Sopenharmony_ci
1682c593315Sopenharmony_ciif HAVE_MRUBY
1692c593315Sopenharmony_ciNGHTTPX_SRCS += \
1702c593315Sopenharmony_ci	shrpx_mruby.cc shrpx_mruby.h \
1712c593315Sopenharmony_ci	shrpx_mruby_module.cc shrpx_mruby_module.h \
1722c593315Sopenharmony_ci	shrpx_mruby_module_env.cc shrpx_mruby_module_env.h \
1732c593315Sopenharmony_ci	shrpx_mruby_module_request.cc shrpx_mruby_module_request.h \
1742c593315Sopenharmony_ci	shrpx_mruby_module_response.cc shrpx_mruby_module_response.h
1752c593315Sopenharmony_ciendif # HAVE_MRUBY
1762c593315Sopenharmony_ci
1772c593315Sopenharmony_ciif ENABLE_HTTP3
1782c593315Sopenharmony_ciNGHTTPX_SRCS += \
1792c593315Sopenharmony_ci	shrpx_quic.cc shrpx_quic.h \
1802c593315Sopenharmony_ci	shrpx_quic_listener.cc shrpx_quic_listener.h \
1812c593315Sopenharmony_ci	shrpx_quic_connection_handler.cc shrpx_quic_connection_handler.h \
1822c593315Sopenharmony_ci	shrpx_http3_upstream.cc shrpx_http3_upstream.h \
1832c593315Sopenharmony_ci	http3.cc http3.h \
1842c593315Sopenharmony_ci	quic.cc quic.h
1852c593315Sopenharmony_ciendif # ENABLE_HTTP3
1862c593315Sopenharmony_ci
1872c593315Sopenharmony_cinoinst_LIBRARIES = libnghttpx.a
1882c593315Sopenharmony_cilibnghttpx_a_SOURCES = ${NGHTTPX_SRCS}
1892c593315Sopenharmony_cilibnghttpx_a_CPPFLAGS = ${AM_CPPFLAGS}
1902c593315Sopenharmony_ci
1912c593315Sopenharmony_cinghttpx_SOURCES = shrpx.cc shrpx.h
1922c593315Sopenharmony_cinghttpx_CPPFLAGS = ${libnghttpx_a_CPPFLAGS}
1932c593315Sopenharmony_cinghttpx_LDADD = libnghttpx.a ${LDADD}
1942c593315Sopenharmony_ci
1952c593315Sopenharmony_ciif HAVE_MRUBY
1962c593315Sopenharmony_cilibnghttpx_a_CPPFLAGS += \
1972c593315Sopenharmony_ci	-I${top_srcdir}/third-party/mruby/include @LIBMRUBY_CFLAGS@
1982c593315Sopenharmony_cinghttpx_LDADD += -L${top_builddir}/third-party/mruby/build/lib @LIBMRUBY_LIBS@
1992c593315Sopenharmony_ciendif # HAVE_MRUBY
2002c593315Sopenharmony_ci
2012c593315Sopenharmony_ciif HAVE_NEVERBLEED
2022c593315Sopenharmony_cilibnghttpx_a_CPPFLAGS += -I${top_srcdir}/third-party/neverbleed
2032c593315Sopenharmony_cinghttpx_LDADD += ${top_builddir}/third-party/libneverbleed.la
2042c593315Sopenharmony_ciendif # HAVE_NEVERBLEED
2052c593315Sopenharmony_ci
2062c593315Sopenharmony_ciif HAVE_CUNIT
2072c593315Sopenharmony_cicheck_PROGRAMS += nghttpx-unittest
2082c593315Sopenharmony_cinghttpx_unittest_SOURCES = shrpx-unittest.cc \
2092c593315Sopenharmony_ci	shrpx_tls_test.cc shrpx_tls_test.h \
2102c593315Sopenharmony_ci	shrpx_downstream_test.cc shrpx_downstream_test.h \
2112c593315Sopenharmony_ci	shrpx_config_test.cc shrpx_config_test.h \
2122c593315Sopenharmony_ci	shrpx_worker_test.cc shrpx_worker_test.h \
2132c593315Sopenharmony_ci	shrpx_http_test.cc shrpx_http_test.h \
2142c593315Sopenharmony_ci	shrpx_router_test.cc shrpx_router_test.h \
2152c593315Sopenharmony_ci	http2_test.cc http2_test.h \
2162c593315Sopenharmony_ci	util_test.cc util_test.h \
2172c593315Sopenharmony_ci	nghttp2_gzip_test.c nghttp2_gzip_test.h \
2182c593315Sopenharmony_ci	nghttp2_gzip.c nghttp2_gzip.h \
2192c593315Sopenharmony_ci	buffer_test.cc buffer_test.h \
2202c593315Sopenharmony_ci	memchunk_test.cc memchunk_test.h \
2212c593315Sopenharmony_ci	template_test.cc template_test.h \
2222c593315Sopenharmony_ci	base64_test.cc base64_test.h
2232c593315Sopenharmony_cinghttpx_unittest_CPPFLAGS = ${AM_CPPFLAGS} \
2242c593315Sopenharmony_ci	-DNGHTTP2_SRC_DIR=\"$(top_srcdir)/src\"
2252c593315Sopenharmony_cinghttpx_unittest_LDADD = libnghttpx.a ${LDADD} @CUNIT_LIBS@ @TESTLDADD@
2262c593315Sopenharmony_ci
2272c593315Sopenharmony_ciif HAVE_MRUBY
2282c593315Sopenharmony_cinghttpx_unittest_CPPFLAGS += \
2292c593315Sopenharmony_ci	-I${top_srcdir}/third-party/mruby/include @LIBMRUBY_CFLAGS@
2302c593315Sopenharmony_cinghttpx_unittest_LDADD += \
2312c593315Sopenharmony_ci	-L${top_builddir}/third-party/mruby/build/lib @LIBMRUBY_LIBS@
2322c593315Sopenharmony_ciendif # HAVE_MRUBY
2332c593315Sopenharmony_ci
2342c593315Sopenharmony_ciif HAVE_NEVERBLEED
2352c593315Sopenharmony_cinghttpx_unittest_CPPFLAGS += -I${top_srcdir}/third-party/neverbleed
2362c593315Sopenharmony_cinghttpx_unittest_LDADD += ${top_builddir}/third-party/libneverbleed.la
2372c593315Sopenharmony_ciendif # HAVE_NEVERBLEED
2382c593315Sopenharmony_ci
2392c593315Sopenharmony_ciTESTS += nghttpx-unittest
2402c593315Sopenharmony_ciendif # HAVE_CUNIT
2412c593315Sopenharmony_ci
2422c593315Sopenharmony_ciendif # ENABLE_APP
2432c593315Sopenharmony_ci
2442c593315Sopenharmony_ciif ENABLE_HPACK_TOOLS
2452c593315Sopenharmony_ci
2462c593315Sopenharmony_cibin_PROGRAMS += inflatehd deflatehd
2472c593315Sopenharmony_ci
2482c593315Sopenharmony_ciHPACK_TOOLS_COMMON_SRCS = \
2492c593315Sopenharmony_ci	comp_helper.c comp_helper.h \
2502c593315Sopenharmony_ci	util.cc util.h \
2512c593315Sopenharmony_ci	timegm.c timegm.h
2522c593315Sopenharmony_ci
2532c593315Sopenharmony_ciinflatehd_SOURCES = inflatehd.cc $(HPACK_TOOLS_COMMON_SRCS)
2542c593315Sopenharmony_ci
2552c593315Sopenharmony_cideflatehd_SOURCES = deflatehd.cc $(HPACK_TOOLS_COMMON_SRCS)
2562c593315Sopenharmony_ci
2572c593315Sopenharmony_ciendif # ENABLE_HPACK_TOOLS
258