[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:42 PM, Costin Lupu wrote: > > > 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 This line should be added when adding the stubs.c file, in another patch. >>> + >>> +################################################################################ >>> +# 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 |