[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Minios-devel] [UNIKRAFT/ZLIB, v2, 1/1] Initial port of zlib to Unikraft
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) + +################################################################################ +# 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 -- 2.11.0 _______________________________________________ Minios-devel mailing list Minios-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/minios-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |