-
Notifications
You must be signed in to change notification settings - Fork 1
/
Makefile.uk
126 lines (119 loc) · 6.46 KB
/
Makefile.uk
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
# libpixman Makefile.uk
#
# Authors: Andrei Tatar <andrei@unikraft.io>
#
# Copyright (c) 2023, Unikraft GmbH and The Unikraft Authors.
#
# 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.
#
################################################################################
# Library registration
################################################################################
$(eval $(call addlib_s,libpixman,$(CONFIG_LIBPIXMAN)))
################################################################################
# Sources
################################################################################
LIBPIXMAN_VERSION=0.42.2
LIBPIXMAN_URL=https://cairographics.org/releases/pixman-$(LIBPIXMAN_VERSION).tar.gz
LIBPIXMAN_DIRNAME=pixman-$(LIBPIXMAN_VERSION)
LIBPIXMAN_PATCHDIR=$(LIBPIXMAN_BASE)/patches
$(eval $(call fetch,libpixman,$(LIBPIXMAN_URL)))
$(eval $(call patch,libpixman,$(LIBPIXMAN_PATCHDIR),$(LIBPIXMAN_DIRNAME)))
################################################################################
# Helpers
################################################################################
LIBPIXMAN_SRC = $(LIBPIXMAN_ORIGIN)/$(LIBPIXMAN_DIRNAME)
################################################################################
# Library includes
################################################################################
# API
CINCLUDES-$(CONFIG_LIBPIXMAN) += -I$(LIBPIXMAN_SRC)/pixman
CXXINCLUDES-$(CONFIG_LIBPIXMAN) += -I$(LIBPIXMAN_SRC)/pixman
# Internal
LIBPIXMAN_CINCLUDES += -I$(LIBPIXMAN_BASE)/include
################################################################################
# Global flags
################################################################################
LIBPIXMAN_CFLAGS += -DHAVE_CONFIG_H
LIBPIXMAN_CFLAGS += -D_FILE_OFFSET_BITS=64
LIBPIXMAN_CFLAGS += -std=gnu99
LIBPIXMAN_CFLAGS += -fno-strict-aliasing
LIBPIXMAN_CFLAGS += -fvisibility=hidden
LIBPIXMAN_CFLAGS += -ftrapping-math
LIBPIXMAN_CFLAGS += -Wno-unused-parameter
LIBPIXMAN_CFLAGS += -Wno-unused-const-variable
LIBPIXMAN_CFLAGS += -Wno-unused-local-typedefs
LIBPIXMAN_CFLAGS += -Wno-unused-function
LIBPIXMAN_CFLAGS += -Wno-type-limits
LIBPIXMAN_CFLAGS-$(call have_gcc) += -Wno-old-style-declaration
LIBPIXMAN_CFLAGS += -Wno-sign-compare
LIBPIXMAN_CFLAGS += -Wno-missing-field-initializers
################################################################################
# Library sources
################################################################################
# These are taken from the autogenerated Makefile in the order they are declared
# in `libpixman_sources`; please take care to maintain order on update
################################################################################
# Base
LIBPIXMAN_SRCS-y += $(LIBPIXMAN_SRC)/pixman/pixman.c
LIBPIXMAN_SRCS-y += $(LIBPIXMAN_SRC)/pixman/pixman-access.c
LIBPIXMAN_SRCS-y += $(LIBPIXMAN_SRC)/pixman/pixman-access-accessors.c
LIBPIXMAN_SRCS-y += $(LIBPIXMAN_SRC)/pixman/pixman-bits-image.c
LIBPIXMAN_SRCS-y += $(LIBPIXMAN_SRC)/pixman/pixman-combine32.c
LIBPIXMAN_SRCS-y += $(LIBPIXMAN_SRC)/pixman/pixman-combine-float.c
LIBPIXMAN_SRCS-y += $(LIBPIXMAN_SRC)/pixman/pixman-conical-gradient.c
LIBPIXMAN_SRCS-y += $(LIBPIXMAN_SRC)/pixman/pixman-filter.c
LIBPIXMAN_PIXMAN-X86_FLAGS += -Wno-expansion-to-defined
LIBPIXMAN_SRCS-y += $(LIBPIXMAN_SRC)/pixman/pixman-x86.c
LIBPIXMAN_SRCS-y += $(LIBPIXMAN_SRC)/pixman/pixman-mips.c
LIBPIXMAN_SRCS-y += $(LIBPIXMAN_SRC)/pixman/pixman-arm.c
LIBPIXMAN_SRCS-y += $(LIBPIXMAN_SRC)/pixman/pixman-ppc.c
LIBPIXMAN_SRCS-y += $(LIBPIXMAN_SRC)/pixman/pixman-edge.c
LIBPIXMAN_SRCS-y += $(LIBPIXMAN_SRC)/pixman/pixman-edge-accessors.c
LIBPIXMAN_SRCS-y += $(LIBPIXMAN_SRC)/pixman/pixman-fast-path.c
LIBPIXMAN_SRCS-y += $(LIBPIXMAN_SRC)/pixman/pixman-glyph.c
LIBPIXMAN_SRCS-y += $(LIBPIXMAN_SRC)/pixman/pixman-general.c
LIBPIXMAN_SRCS-y += $(LIBPIXMAN_SRC)/pixman/pixman-gradient-walker.c
LIBPIXMAN_SRCS-y += $(LIBPIXMAN_SRC)/pixman/pixman-image.c
LIBPIXMAN_SRCS-y += $(LIBPIXMAN_SRC)/pixman/pixman-implementation.c
LIBPIXMAN_SRCS-y += $(LIBPIXMAN_SRC)/pixman/pixman-linear-gradient.c
LIBPIXMAN_SRCS-y += $(LIBPIXMAN_SRC)/pixman/pixman-matrix.c
LIBPIXMAN_SRCS-y += $(LIBPIXMAN_SRC)/pixman/pixman-noop.c
LIBPIXMAN_SRCS-y += $(LIBPIXMAN_SRC)/pixman/pixman-radial-gradient.c
LIBPIXMAN_SRCS-y += $(LIBPIXMAN_SRC)/pixman/pixman-region16.c
LIBPIXMAN_SRCS-y += $(LIBPIXMAN_SRC)/pixman/pixman-region32.c
LIBPIXMAN_SRCS-y += $(LIBPIXMAN_SRC)/pixman/pixman-solid-fill.c
LIBPIXMAN_SRCS-y += $(LIBPIXMAN_SRC)/pixman/pixman-timer.c
LIBPIXMAN_SRCS-y += $(LIBPIXMAN_SRC)/pixman/pixman-trap.c
LIBPIXMAN_SRCS-y += $(LIBPIXMAN_SRC)/pixman/pixman-utils.c
# HW Accel
#LIBPIXMAN_SRCS-y += $(LIBPIXMAN_SRC)/pixman/pixman-arm-neon.c
#LIBPIXMAN_SRCS-y += $(LIBPIXMAN_SRC)/pixman/pixman-arm-simd.c
#LIBPIXMAN_SRCS-y += $(LIBPIXMAN_SRC)/pixman/pixman-mips-dspr2.c
LIBPIXMAN_SRCS-$(CONFIG_LIBINTEL_INTRINSICS) += $(LIBPIXMAN_SRC)/pixman/pixman-mmx.c
LIBPIXMAN_SRCS-$(CONFIG_LIBINTEL_INTRINSICS) += $(LIBPIXMAN_SRC)/pixman/pixman-sse2.c
LIBPIXMAN_SRCS-$(CONFIG_LIBINTEL_INTRINSICS) += $(LIBPIXMAN_SRC)/pixman/pixman-ssse3.c
#LIBPIXMAN_SRCS-y += $(LIBPIXMAN_SRC)/pixman/pixman-vmx.c