blob: 8908dfe96b5d687dd643ab820ffe51490ec374be [file] [log] [blame]
# Copyright 2020 The Monogon Project Authors.
#
# SPDX-License-Identifier: Apache-2.0
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
load("@rules_cc//cc:defs.bzl", "cc_library")
load("@dev_source_monogon//build/utils:template_file.bzl", "template_file")
template_file(
name = "pixman-version.h",
src = "pixman-version.h.in",
substitutions = {
"@PIXMAN_VERSION_MAJOR@": "0",
"@PIXMAN_VERSION_MINOR@": "40",
"@PIXMAN_VERSION_MICRO@": "1",
},
)
genrule(
name = "config-h",
outs = ["config.h"],
cmd = "echo \"\" > \"$@\"",
)
cc_library(
name = "pixman",
srcs = [
":config-h",
"pixman.c",
"pixman-access.c",
"pixman-access-accessors.c",
"pixman-accessor.h",
"pixman-arm.c",
"pixman-bits-image.c",
"pixman-combine-float.c",
"pixman-combine32.c",
"pixman-combine32.h",
"pixman-compiler.h",
"pixman-conical-gradient.c",
"pixman-edge.c",
"pixman-edge-accessors.c",
"pixman-edge-imp.h",
"pixman-fast-path.c",
"pixman-filter.c",
"pixman-general.c",
"pixman-glyph.c",
"pixman-gradient-walker.c",
"pixman-image.c",
"pixman-implementation.c",
"pixman-inlines.h",
"pixman-linear-gradient.c",
"pixman-matrix.c",
"pixman-mips.c",
"pixman-noop.c",
"pixman-ppc.c",
"pixman-private.h",
"pixman-radial-gradient.c",
"pixman-region16.c",
"pixman-region32.c",
"pixman-solid-fill.c",
"pixman-sse2.c",
"pixman-ssse3.c",
"pixman-timer.c",
"pixman-trap.c",
"pixman-utils.c",
"pixman-x86.c",
":pixman-version.h",
"dither/blue-noise-64x64.h",
],
hdrs = [
"pixman.h",
# Please never include these, this is some next-level insanity
"pixman-region.c",
"pixman-edge.c",
"pixman-access.c",
],
copts = ["-mssse3"],
includes = ["."],
local_defines = [
"PACKAGE=foo",
"HAVE_FLOAT128=1",
"HAVE_BUILTIN_CLZ=1",
"USE_SSSE3=1",
"USE_SSE2=1",
"TLS=__thread",
],
visibility = ["//visibility:public"],
)