|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Minios-devel] [UNIKRAFT/ZLIB, v2, 1/1] Initial port of zlib to Unikraft
Hi Costin,
On 13.08.19, 16:41, "Costin Lupu" <costin.lup@xxxxxxxxx> wrote:
Hi Felipe,
Please see inline just one comment.
On 8/13/19 4:19 PM, Felipe Huici wrote:
> This is a port of zlib to Unikraft as an external library. It requires
> libc, so in your application Makefile the library dependency list
> should read:
>
> LIBS := ...:$(UK_LIBS)/newlib:$(UK_LIBS)/zlib:...
>
> Signed-off-by: Felipe Huici <felipe.huici@xxxxxxxxx>
> ---
> CODING_STYLE.md | 4 +++
> CONTRIBUTING.md | 4 +++
> COPYING.md | 39 ++++++++++++++++++++++++++
> Config.uk | 7 +++++
> MAINTAINERS.md | 10 +++++++
> Makefile.uk | 77 +++++++++++++++++++++++++++++++++++++++++++++++++++
> README.md | 9 ++++++
> exportsyms.uk | 85
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> 8 files changed, 235 insertions(+)
> create mode 100644 CODING_STYLE.md
> create mode 100644 CONTRIBUTING.md
> create mode 100644 COPYING.md
> create mode 100644 Config.uk
> create mode 100644 MAINTAINERS.md
> create mode 100644 Makefile.uk
> create mode 100644 README.md
> create mode 100644 exportsyms.uk
>
> diff --git a/CODING_STYLE.md b/CODING_STYLE.md
> new file mode 100644
> index 0000000..5730041
> --- /dev/null
> +++ b/CODING_STYLE.md
> @@ -0,0 +1,4 @@
> +Coding Style
> +============
> +
> +Please refer to the `CODING_STYLE.md` file in the main Unikraft
repository.
> diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
> new file mode 100644
> index 0000000..5f55eca
> --- /dev/null
> +++ b/CONTRIBUTING.md
> @@ -0,0 +1,4 @@
> +Contributing to Unikraft
> +=======================
> +
> +Please refer to the `CONTRIBUTING.md` file in the main Unikraft
repository.
> diff --git a/COPYING.md b/COPYING.md
> new file mode 100644
> index 0000000..973051a
> --- /dev/null
> +++ b/COPYING.md
> @@ -0,0 +1,39 @@
> +License
> +=======
> +
> +Unikraft zlib wrappers
> +------------------------
> +
> +This repository contains wrapper code to build zlib with Unikraft.
> +Each C code file in this repository should declare who is the
> +copyright owner and under which terms and conditions the code is
> +licensed. If such a licence note is missing, the following copyright
> +notice will apply:
> +
> + Copyright (c) 2019, NEC Europe Ltd., NEC Corporation. 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.
> +
> diff --git a/Config.uk b/Config.uk
> new file mode 100644
> index 0000000..3734adb
> --- /dev/null
> +++ b/Config.uk
> @@ -0,0 +1,7 @@
> +config LIBZLIB
> + bool "zlib - a compression library"
> + default y
> + depends on HAVE_LIBC
> + select LIBVFSCORE
> + select LIBRAMFS
> + select LIBDEVFS
> \ No newline at end of file
> diff --git a/MAINTAINERS.md b/MAINTAINERS.md
> new file mode 100644
> index 0000000..5a4abc4
> --- /dev/null
> +++ b/MAINTAINERS.md
> @@ -0,0 +1,10 @@
> +Maintainers List
> +================
> +
> +For notes on how to read this information, please refer to
`MAINTAINERS.md` in
> +the main Unikraft repository.
> +
> + LIBUUID-UNIKRAFT
> + M: Felipe Huici <felipe.huici@xxxxxxxxx>
> + L: minios-devel@xxxxxxxxxxxxx
> + F: *
> diff --git a/Makefile.uk b/Makefile.uk
> new file mode 100644
> index 0000000..d3b0d3e
> --- /dev/null
> +++ b/Makefile.uk
> @@ -0,0 +1,77 @@
> +# libzlib Makefile.uk
> +#
> +# Authors: Felipe Huici <felipe.huici@xxxxxxxxx>
> +#
> +#
> +# Copyright (c) 2019, NEC Europe Ltd., NEC Corporation. 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,libzlib,$(CONFIG_LIBZLIB)))
> +
>
+################################################################################
> +# Sources
>
+################################################################################
> +LIBZLIB_VERSION=1.2.11
> +LIBZLIB_URL=http://www.zlib.net/zlib-$(LIBZLIB_VERSION).tar.gz
> +LIBZLIB_DIR=zlib-$(LIBZLIB_VERSION)
> +
> +$(eval $(call fetch,libzlib,$(LIBZLIB_URL),$(LIBZLIB_VERSION).tar.gz))
> +
>
+################################################################################
> +# Helpers
>
+################################################################################
> +LIBZLIB=$(LIBZLIB_ORIGIN)/$(LIBZLIB_DIR)
> +
>
+################################################################################
> +# Library includes
>
+################################################################################
> +CINCLUDES-$(CONFIG_LIBZLIB) += -I$(LIBZLIB)
The zlib API may be used by C++ code as well. So because of that, please
also add:
CXXINCLUDES-$(CONFIG_LIBZLIB) += -I$(LIBZLIB)
> Ok, I'll add this.
Thanks,
-- Felipe
> +
>
+################################################################################
> +# Sources
>
+################################################################################
> +LIBZLIB_SRCS-y += $(LIBZLIB)/inflate.c
> +LIBZLIB_SRCS-y += $(LIBZLIB)/gzclose.c
> +LIBZLIB_SRCS-y += $(LIBZLIB)/zutil.c
> +LIBZLIB_SRCS-y += $(LIBZLIB)/crc32.c
> +LIBZLIB_SRCS-y += $(LIBZLIB)/uncompr.c
> +LIBZLIB_SRCS-y += $(LIBZLIB)/gzread.c
> +LIBZLIB_SRCS-y += $(LIBZLIB)/trees.c
> +LIBZLIB_SRCS-y += $(LIBZLIB)/gzlib.c
> +LIBZLIB_SRCS-y += $(LIBZLIB)/infback.c
> +LIBZLIB_SRCS-y += $(LIBZLIB)/gzwrite.c
> +LIBZLIB_SRCS-y += $(LIBZLIB)/compress.c
> +LIBZLIB_SRCS-y += $(LIBZLIB)/inftrees.c
> +LIBZLIB_SRCS-y += $(LIBZLIB)/deflate.c
> +LIBZLIB_SRCS-y += $(LIBZLIB)/adler32.c
> +LIBZLIB_SRCS-y += $(LIBZLIB)/inffast.c
> diff --git a/README.md b/README.md
> new file mode 100644
> index 0000000..d1160cd
> --- /dev/null
> +++ b/README.md
> @@ -0,0 +1,9 @@
> +libzlib for Unikraft
> +===================
> +This is a port of zlib to Unikraft. It requires newlib, so in your
> +application Makefile the library dependency list should read:
> +
> + LIBS := ...:$(UK_LIBS)/newlib:$(UK_LIBS)/zlib:...
> +
> +Please refer to the `README.md` as well as the documentation in the
`doc/`
> +subdirectory of the main unikraft repository for further information.
> diff --git a/exportsyms.uk b/exportsyms.uk
> new file mode 100644
> index 0000000..2f5aaef
> --- /dev/null
> +++ b/exportsyms.uk
> @@ -0,0 +1,85 @@
> +adler32
> +adler32_combine
> +adler32_combine64
> +adler32_z
> +compress
> +compress2
> +compressBound
> +crc32
> +crc32_combine
> +crc32_combine64
> +crc32_z
> +deflate
> +deflateBound
> +deflateCopy
> +deflateEnd
> +deflateGetDictionary
> +deflateInit
> +deflateInit2
> +deflateParams
> +deflatePending
> +deflatePrime
> +deflateReset
> +deflateResetKeep
> +deflateSetDictionary
> +deflateSetHeader
> +deflateTune
> +get_crc_table
> +gzbuffer
> +gzclearerr
> +gzclose
> +gzclose_r
> +gzclose_w
> +gzdirect
> +gzdopen
> +gzeof
> +gzerror
> +gzflush
> +gzfread
> +gzfwrite
> +gzgetc
> +gzgets
> +gzoffset
> +gzoffset64
> +gzopen
> +gzopen64
> +gzopen_w
> +gzprintf
> +gzputc
> +gzputs
> +gzread
> +gzrewind
> +gzseek
> +gzseek64
> +gzsetparams
> +gztell
> +gztell64
> +gzungetc
> +gzvprintf
> +gzwrite
> +inflate
> +inflateBack
> +inflateBackEnd
> +inflateBackInit
> +inflateCodesUsed
> +inflateCopy
> +inflateEnd
> +inflateGetDictionary
> +inflateGetHeader
> +inflateInit
> +inflateInit2
> +inflateMark
> +inflatePrime
> +inflateReset
> +inflateReset2
> +inflateResetKeep
> +inflateSetDictionary
> +inflateSync
> +inflateSyncPoint
> +inflateUndermine
> +inflateValidate
> +uncompress
> +uncompress2
> +zError
> +zlibCompileFlags
> +zlibVersion
>
_______________________________________________
Minios-devel mailing list
Minios-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/minios-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |