[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Minios-devel] [UNIKRAFT NGINX 2/5] Add Makefile.uk
On 10/13/19 10:27 PM, Costin Lupu wrote: > Hi Mihai, > > Please see inline. > > On 10/9/19 1:42 AM, Mihai Pogonaru wrote: >> Signed-off-by: Mihai Pogonaru <pogonarumihai@xxxxxxxxx> >> --- >> Makefile.uk | 214 >> ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ >> 1 file changed, 214 insertions(+) >> create mode 100644 Makefile.uk >> >> diff --git a/Makefile.uk b/Makefile.uk >> new file mode 100644 >> index 0000000..983343b >> --- /dev/null >> +++ b/Makefile.uk >> @@ -0,0 +1,214 @@ >> +# SPDX-License-Identifier: BSD-3-Clause >> +# >> +# Nginx Makefile.uk >> +# >> +# Authors: Mihai Pogonaru <pogonarumihai@xxxxxxxxx> >> +# Costin Lupu <costin.lupu@xxxxxxxxx> > > I don't remember adding any line in this Makefile, so you can remove me > from the authors. > >> +# >> +# Copyright (c) 2019, University Politehnica of Bucharest. All rights >> reserved. >> +# >> +# Redistribution and use in source and binary forms, with or without >> +# modification, are permitted provided that the following conditions >> +# are met: >> +# >> +# 1. Redistributions of source code must retain the above copyright >> +# notice, this list of conditions and the following disclaimer. >> +# 2. Redistributions in binary form must reproduce the above copyright >> +# notice, this list of conditions and the following disclaimer in the >> +# documentation and/or other materials provided with the distribution. >> +# 3. Neither the name of the copyright holder nor the names of its >> +# contributors may be used to endorse or promote products derived from >> +# this software without specific prior written permission. >> +# >> +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS >> IS" >> +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE >> +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR >> PURPOSE >> +# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE >> +# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR >> +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF >> +# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS >> +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN >> +# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) >> +# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF >> THE >> +# POSSIBILITY OF SUCH DAMAGE. >> +# >> +# THIS HEADER MAY NOT BE EXTRACTED OR MODIFIED IN ANY WAY. >> +# >> + >> +################################################################################ >> +# Library registration >> +################################################################################ >> +$(eval $(call addlib_s,libnginx,$(CONFIG_LIBNGINX))) >> + >> +LIBNGINX_VERSION = 1.15.6 >> +LIBNGINX_URL = http://nginx.org/download/nginx-$(LIBNGINX_VERSION).tar.gz We can use $(LIBNGINX_SUBDIR) helper here. >> +LIBNGINX_PATCHDIR = $(LIBNGINX_BASE)/patches >> + >> +$(eval $(call fetch,libnginx,$(LIBNGINX_URL))) >> +$(eval $(call >> patch,libnginx,$(LIBNGINX_PATCHDIR),nginx-$(LIBNGINX_VERSION))) We can use $(LIBNGINX_SUBDIR) helper here. >> + >> +################################################################################ >> +# Sources >> +################################################################################ >> + >> +LIBNGINX_SRCS-y += $(LIBNGINX_BASE)/stubs.c >> + >> +################################################################################ >> +# Helpers >> +################################################################################ >> +LIBNGINX_SUBDIR = nginx-$(LIBNGINX_VERSION) The LIBNGINX_SUBDIR helper should be defined before LIBNGINX_URL. >> +LIBNGINX_SRC = $(LIBNGINX_ORIGIN)/$(LIBNGINX_SUBDIR)/src >> + >> +################################################################################ >> +# Library includes >> +################################################################################ >> +CINCLUDES-$(CONFIG_LIBNGINX) += -I$(LIBNGINX_BASE)/include >> + >> +CINCLUDES-$(CONFIG_LIBNGINX) += -I$(LIBNGINX_SRC)/core >> +CINCLUDES-$(CONFIG_LIBNGINX) += -I$(LIBNGINX_SRC)/event >> +CINCLUDES-$(CONFIG_LIBNGINX) += -I$(LIBNGINX_SRC)/event/modules >> +CINCLUDES-$(CONFIG_LIBNGINX) += -I$(LIBNGINX_SRC)/http >> +CINCLUDES-$(CONFIG_LIBNGINX) += -I$(LIBNGINX_SRC)/http/modules >> +CINCLUDES-$(CONFIG_LIBNGINX) += -I$(LIBNGINX_SRC)/http/modules/perl >> +CINCLUDES-$(CONFIG_LIBNGINX) += -I$(LIBNGINX_SRC)/http/v2 >> +CINCLUDES-$(CONFIG_LIBNGINX) += -I$(LIBNGINX_SRC)/mail >> +CINCLUDES-$(CONFIG_LIBNGINX) += -I$(LIBNGINX_SRC)/os/unix >> +CINCLUDES-$(CONFIG_LIBNGINX) += -I$(LIBNGINX_SRC)/stream > > Do we really need to export these include paths for all the other > Unikraft libraries? Or is it just for nginx? If the latter, then we > should namespace the includes (e.g. > 's/CINCLUDES-$(CONFIG_...)/LIBNGINX_CINCLUDES-$(CONFIG_...)'). > >> + >> +################################################################################ >> +# Global flags >> +################################################################################ >> +# Suppress some warnings to make the build process look neater >> +FLAGS = -W -Wall -Wpointer-arith -Werror > > Same here: 's/FLAGS/LIBNGINX_FLAGS' or 's/FLAGS/LIBNGINX_COMMON_FLAGS'. > >> + >> +FLAGS_SUPPRESS = -Wno-unused-parameter -Wno-unused-variable -Wno-nonnull >> \ >> +-Wno-unused-but-set-variable -Wno-unused-label -Wno-char-subscripts >> \ >> +-Wno-unused-function -Wno-missing-field-initializers -Wno-uninitialized >> \ >> +-Wno-array-bounds -Wno-maybe-uninitialized -Wno-pointer-sign >> -Wno-unused-value \ >> +-Wno-unused-macros -Wno-parentheses -Wno-implicit-function-declaration >> \ >> +-Wno-missing-braces -Wno-endif-labels -Wno-implicit-function-declaration >> \ >> +-Wno-type-limits -Wno-sign-compare > > Do we really need to suppress so many warnings? We do use in pcre port > the minimum suppression flags, as an example. > > And the same here, 's/FLAGS_SUPPRESS/LIBNGINX_SUPPRESS_FLAGS'. > >> + >> +LIBNGINX_CFLAGS-y += $(FLAGS) >> +LIBNGINX_CFLAGS-y += $(FLAGS_SUPPRESS) >> + >> +################################################################################ >> +# Library sources >> +################################################################################ >> +LIBNGINX_SRCS-y += $(LIBNGINX_BASE)/ngx_modules.c >> + >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/core/nginx.c >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/core/ngx_array.c >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/core/ngx_buf.c >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/core/ngx_conf_file.c >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/core/ngx_connection.c >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/core/ngx_cpuinfo.c >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/core/ngx_crc32.c >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/core/ngx_crypt.c >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/core/ngx_cycle.c >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/core/ngx_file.c >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/core/ngx_hash.c >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/core/ngx_inet.c >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/core/ngx_list.c >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/core/ngx_log.c >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/core/ngx_md5.c >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/core/ngx_module.c >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/core/ngx_murmurhash.c >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/core/ngx_open_file_cache.c >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/core/ngx_output_chain.c >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/core/ngx_palloc.c >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/core/ngx_parse.c >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/core/ngx_parse_time.c >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/core/ngx_proxy_protocol.c >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/core/ngx_queue.c >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/core/ngx_radix_tree.c >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/core/ngx_rbtree.c >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/core/ngx_resolver.c >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/core/ngx_rwlock.c >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/core/ngx_sha1.c >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/core/ngx_shmtx.c >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/core/ngx_slab.c >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/core/ngx_spinlock.c >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/core/ngx_string.c >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/core/ngx_syslog.c >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/core/ngx_times.c >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/event/modules/ngx_select_module.c >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/event/ngx_event_accept.c >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/event/ngx_event.c >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/event/ngx_event_connect.c >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/event/ngx_event_pipe.c >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/event/ngx_event_posted.c >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/event/ngx_event_timer.c >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/event/ngx_event_udp.c >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/http/modules/ngx_http_access_module.c >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/http/modules/ngx_http_autoindex_module.c >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/http/modules/ngx_http_browser_module.c >> +LIBNGINX_SRCS-y += >> $(LIBNGINX_SRC)/http/modules/ngx_http_charset_filter_module.c >> +LIBNGINX_SRCS-y += >> $(LIBNGINX_SRC)/http/modules/ngx_http_chunked_filter_module.c >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/http/modules/ngx_http_empty_gif_module.c >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/http/modules/ngx_http_fastcgi_module.c >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/http/modules/ngx_http_geo_module.c >> +LIBNGINX_SRCS-y += >> $(LIBNGINX_SRC)/http/modules/ngx_http_headers_filter_module.c >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/http/modules/ngx_http_index_module.c >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/http/modules/ngx_http_limit_conn_module.c >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/http/modules/ngx_http_limit_req_module.c >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/http/modules/ngx_http_log_module.c >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/http/modules/ngx_http_map_module.c >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/http/modules/ngx_http_memcached_module.c >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/http/modules/ngx_http_mirror_module.c >> +LIBNGINX_SRCS-y += >> $(LIBNGINX_SRC)/http/modules/ngx_http_not_modified_filter_module.c >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/http/modules/ngx_http_proxy_module.c >> +LIBNGINX_SRCS-y += >> $(LIBNGINX_SRC)/http/modules/ngx_http_range_filter_module.c >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/http/modules/ngx_http_referer_module.c >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/http/modules/ngx_http_scgi_module.c >> +LIBNGINX_SRCS-y += >> $(LIBNGINX_SRC)/http/modules/ngx_http_split_clients_module.c >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/http/modules/ngx_http_ssi_filter_module.c >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/http/modules/ngx_http_static_module.c >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/http/modules/ngx_http_sub_filter_module.c >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/http/modules/ngx_http_try_files_module.c >> +LIBNGINX_SRCS-y += >> $(LIBNGINX_SRC)/http/modules/ngx_http_upstream_hash_module.c >> +LIBNGINX_SRCS-y += >> $(LIBNGINX_SRC)/http/modules/ngx_http_upstream_ip_hash_module.c >> +LIBNGINX_SRCS-y += >> $(LIBNGINX_SRC)/http/modules/ngx_http_upstream_keepalive_module.c >> +LIBNGINX_SRCS-y += >> $(LIBNGINX_SRC)/http/modules/ngx_http_upstream_least_conn_module.c >> +LIBNGINX_SRCS-y += >> $(LIBNGINX_SRC)/http/modules/ngx_http_upstream_random_module.c >> +LIBNGINX_SRCS-y += >> $(LIBNGINX_SRC)/http/modules/ngx_http_upstream_zone_module.c >> +LIBNGINX_SRCS-y += >> $(LIBNGINX_SRC)/http/modules/ngx_http_userid_filter_module.c >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/http/modules/ngx_http_uwsgi_module.c > > I think it's safe to move all the modules (as a group of sources) at the > end, after all the other groups of sources (core, event, http, os). > >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/http/ngx_http.c >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/http/ngx_http_copy_filter_module.c >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/http/ngx_http_core_module.c >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/http/ngx_http_header_filter_module.c >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/http/ngx_http_parse.c >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/http/ngx_http_postpone_filter_module.c >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/http/ngx_http_request_body.c >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/http/ngx_http_request.c >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/http/ngx_http_script.c >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/http/ngx_http_special_response.c >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/http/ngx_http_upstream.c >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/http/ngx_http_upstream_round_robin.c >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/http/ngx_http_variables.c >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/http/ngx_http_write_filter_module.c >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/os/unix/ngx_alloc.c >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/os/unix/ngx_channel.c >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/os/unix/ngx_daemon.c >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/os/unix/ngx_dlopen.c >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/os/unix/ngx_errno.c >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/os/unix/ngx_files.c >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/os/unix/ngx_linux_init.c >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/os/unix/ngx_linux_sendfile_chain.c >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/os/unix/ngx_posix_init.c >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/os/unix/ngx_process.c >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/os/unix/ngx_process_cycle.c >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/os/unix/ngx_readv_chain.c >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/os/unix/ngx_recv.c >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/os/unix/ngx_send.c >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/os/unix/ngx_setaffinity.c >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/os/unix/ngx_setproctitle.c >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/os/unix/ngx_shmem.c >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/os/unix/ngx_socket.c >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/os/unix/ngx_time.c >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/os/unix/ngx_udp_recv.c >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/os/unix/ngx_udp_send.c >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/os/unix/ngx_udp_sendmsg_chain.c >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/os/unix/ngx_user.c >> +LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/os/unix/ngx_writev_chain.c >> _______________________________________________ Minios-devel mailing list Minios-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/minios-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |