[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Minios-devel] [LCMS PATCH 1/1] [LCMS PATCH] Add new library lcms 2.9 to Unikraft's project.


  • To: minios-devel@xxxxxxxxxxxxx
  • From: Esteban <esteban.martinez@xxxxxxxx>
  • Date: Mon, 2 Dec 2019 12:45:55 +0100
  • Cc: Esteban <esteban.martinez@xxxxxxxx>
  • Delivery-date: Mon, 02 Dec 2019 11:46:26 +0000
  • Domainkey-signature: s=csuc; d=csuc.cat; c=nofws; q=dns; h=Received:From:To:Cc:Subject:Date:Message-Id:X-Mailer: In-Reply-To:References; b=qsZ3dL+fhmhsxEK0eYva8bd3LcKcee8K1aP8r3ECKWZ1QmgcI83l59y8 HzUx+AYA+r5zsSXjeQN90R0zpcJsEnkYxD0Yk8JHd6N0Z59C4/hVoTeHk QZ50dn9OPDlAAO6g8787O+Hcooyfkby1zQoZAKvmRg+h2IBQDLj+eqtdx I=;
  • List-id: Mini-os development list <minios-devel.lists.xenproject.org>

Signed-off-by: Esteban <esteban.martinez@xxxxxxxx>
---
 CODING_STYLE.md |   4 ++
 CONTRIBUTING.md |   4 ++
 COPYING.md      |  41 +++++++++++++++
 Config.uk       |  11 +++++
 MAINTAINERS.md  |  11 +++++
 Makefile.uk     | 129 ++++++++++++++++++++++++++++++++++++++++++++++++
 README.md       |   7 +++
 exportsyms.uk   |   1 +
 8 files changed, 208 insertions(+)
 create mode 100755 CODING_STYLE.md
 create mode 100755 CONTRIBUTING.md
 create mode 100755 COPYING.md
 create mode 100755 Config.uk
 create mode 100755 MAINTAINERS.md
 create mode 100755 Makefile.uk
 create mode 100755 README.md
 create mode 100755 exportsyms.uk

diff --git a/CODING_STYLE.md b/CODING_STYLE.md
new file mode 100755
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 100755
index 0000000..14f6ac6
--- /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 100755
index 0000000..fa05041
--- /dev/null
+++ b/COPYING.md
@@ -0,0 +1,41 @@
+License
+=======
+
+Unikraft lcms wrappers
+------------------------
+
+This repository contains wrapper code to build lcms with Unikraft.  The code
+is published as a mixture of BSD and MIT licences; 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) 2017, 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.
+
+lcms source code
+------------------
\ No newline at end of file
diff --git a/Config.uk b/Config.uk
new file mode 100755
index 0000000..edb3659
--- /dev/null
+++ b/Config.uk
@@ -0,0 +1,11 @@
+config LIBLCMS
+       bool "liblcms - Color management engine"
+       default n
+       select LIBNOLIBC if !HAVE_LIBC
+       select LIBUKDEBUG
+    select LIBUKALLOC
+    select LIBPTHREAD_EMBEDDED
+    select LIBNEWLIBC
+
+if LIBLCMS
+endif
diff --git a/MAINTAINERS.md b/MAINTAINERS.md
new file mode 100755
index 0000000..227c4dd
--- /dev/null
+++ b/MAINTAINERS.md
@@ -0,0 +1,11 @@
+Maintainers List
+================
+
+For notes on how to read this information, please refer to `MAINTAINERS.md` in
+the main Unikraft repository.
+
+       LCMS-UNIKRAFT
+       M:      Costin Lupu <costin.lupu@xxxxxxxxx>
+       M:      Felipe Huici <felipe.huici@xxxxxxxxx>
+       L:      minios-devel@xxxxxxxxxxxxx
+       F: *
diff --git a/Makefile.uk b/Makefile.uk
new file mode 100755
index 0000000..86f941b
--- /dev/null
+++ b/Makefile.uk
@@ -0,0 +1,129 @@
+#  SPDX-License-Identifier: BSD-3-Clause
+#
+#  lcms Makefile.uk
+#
+#  Authors: Costin Lupu <costin.lupu@xxxxxxxxx>
+#
+#  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,liblcms,$(CONFIG_LIBLCMS)))
+#$(eval $(call addlib_s,liblcmsglue,$(CONFIG_LIBLCMS)))
+
+################################################################################
+# Original sources
+################################################################################
+LIBLCMS_VERSION=2.9
+LIBLCMS_URL=https://raw.githubusercontent.com/python-pillow/pillow-depends/master/lcms2-$(LIBLCMS_VERSION).tar.gz
+LIBLCMS_PATCHDIR=$(LIBLCMS_BASE)/patches
+LIBLCMS_SUBDIR=lcms2-$(LIBLCMS_VERSION)
+$(eval $(call fetch,liblcms,$(LIBLCMS_URL)))
+$(eval $(call patch,liblcms,$(LIBLCMS_PATCHDIR),$(LIBLCMS_SUBDIR)))
+
+################################################################################
+# Helpers
+################################################################################
+LIBLCMS_EXTRACTED = $(LIBLCMS_ORIGIN)/lcms2-$(LIBLCMS_VERSION)
+
+################################################################################
+# Library includes
+################################################################################
+LIBLCMS_COMMON_INCLUDES-y      += -I$(LIBLCMS_EXTRACTED)/include
+LIBLCMS_COMMON_INCLUDES-y      += -I$(LIBLCMS_EXTRACTED)/src
+
+CINCLUDES-$(CONFIG_LIBLCMS)    += $(LIBLCMS_COMMON_INCLUDES-y)
+
+LIBLCMS_CINCLUDES   += -I$(LIBLCMS_EXTRACTED)
+
+################################################################################
+# Global flags
+################################################################################
+# Suppressed flags
+LIBLCMS_SUPPRESS_FLAGS += -Wno-unused-parameter \
+       -Wno-unused-variable -Wno-unused-value -Wno-unused-function \
+       -Wno-missing-field-initializers -Wno-implicit-fallthrough
+LIBLCMS_CFLAGS-y   += $(LIBLCMS_SUPPRESS_FLAGS) \
+       -Wno-pointer-to-int-cast -Wno-int-to-pointer-cast
+
+
+
+################################################################################
+# OS dependencies code - Glue between Unikraft and lcms
+################################################################################
+#LIBLCMSGLUE_SRCS-y += $(LIBLCMS_BASE)/sample.c|glue
+
+################################################################################
+# LCMS src
+################################################################################
+LIBLCMS_SRCS-y += $(LIBLCMS_EXTRACTED)/src/cmscnvrt.c
+LIBLCMS_SRCS-y += $(LIBLCMS_EXTRACTED)/src/cmserr.c
+LIBLCMS_SRCS-y += $(LIBLCMS_EXTRACTED)/src/cmsgamma.c
+LIBLCMS_SRCS-y += $(LIBLCMS_EXTRACTED)/src/cmsgmt.c
+LIBLCMS_SRCS-y += $(LIBLCMS_EXTRACTED)/src/cmsintrp.c
+LIBLCMS_SRCS-y += $(LIBLCMS_EXTRACTED)/src/cmsio0.c
+LIBLCMS_SRCS-y += $(LIBLCMS_EXTRACTED)/src/cmsio1.c
+LIBLCMS_SRCS-y += $(LIBLCMS_EXTRACTED)/src/cmslut.c
+LIBLCMS_SRCS-y += $(LIBLCMS_EXTRACTED)/src/cmsplugin.c
+LIBLCMS_SRCS-y += $(LIBLCMS_EXTRACTED)/src/cmssm.c
+LIBLCMS_SRCS-y += $(LIBLCMS_EXTRACTED)/src/cmsmd5.c
+LIBLCMS_SRCS-y += $(LIBLCMS_EXTRACTED)/src/cmsmtrx.c
+LIBLCMS_SRCS-y += $(LIBLCMS_EXTRACTED)/src/cmspack.c
+LIBLCMS_SRCS-y += $(LIBLCMS_EXTRACTED)/src/cmswtpnt.c
+LIBLCMS_SRCS-y += $(LIBLCMS_EXTRACTED)/src/cmsxform.c
+LIBLCMS_SRCS-y += $(LIBLCMS_EXTRACTED)/src/cmssamp.c
+LIBLCMS_SRCS-y += $(LIBLCMS_EXTRACTED)/src/cmsnamed.c
+LIBLCMS_SRCS-y += $(LIBLCMS_EXTRACTED)/src/cmscam02.c
+LIBLCMS_SRCS-y += $(LIBLCMS_EXTRACTED)/src/cmsvirt.c
+LIBLCMS_SRCS-y += $(LIBLCMS_EXTRACTED)/src/cmstypes.c
+LIBLCMS_SRCS-y += $(LIBLCMS_EXTRACTED)/src/cmscgats.c
+LIBLCMS_SRCS-y += $(LIBLCMS_EXTRACTED)/src/cmsps2.c
+LIBLCMS_SRCS-y += $(LIBLCMS_EXTRACTED)/src/cmsopt.c
+LIBLCMS_SRCS-y += $(LIBLCMS_EXTRACTED)/src/cmshalf.c
+LIBLCMS_SRCS-y += $(LIBLCMS_EXTRACTED)/src/cmsalpha.c
+LIBLCMS_SRCS-y += $(LIBLCMS_EXTRACTED)/src/cmspcs.c
+
+
+################################################################################
+# LCMS prepare
+################################################################################
+# Run ./configure
+$(LIBLCMS_EXTRACTED)/config.status: $(LIBLCMS_BUILD)/.origin
+       $(call verbose_cmd,CONFIG,liblcms: $(notdir $@), \
+               cd $(LIBLCMS_EXTRACTED) && ./configure)
+
+LIBLCMS_PREPARED_DEPS = \
+       $(LIBLCMS_EXTRACTED)/config.status \
+
+$(LIBLCMS_BUILD)/.prepared: $(LIBLCMS_PREPARED_DEPS)
+
+UK_PREPARE += $(LIBLCMS_BUILD)/.prepared
\ No newline at end of file
diff --git a/README.md b/README.md
new file mode 100755
index 0000000..41f3ea5
--- /dev/null
+++ b/README.md
@@ -0,0 +1,7 @@
+lcms for Unikraft
+=============================
+
+This is the port of lcms for Unikraft as external library.
+
+Please refer to the `README.md` as well as the documentation in the `doc/`
+subdirectory of the main unikraft repository.
diff --git a/exportsyms.uk b/exportsyms.uk
new file mode 100755
index 0000000..c86c3f3
--- /dev/null
+++ b/exportsyms.uk
@@ -0,0 +1 @@
+none
\ No newline at end of file
-- 
2.17.1


_______________________________________________
Minios-devel mailing list
Minios-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/minios-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.