cartographer/bazel/third_party/fontconfig/fontconfig.BUILD

131 lines
3.6 KiB
Plaintext

# Copyright 2018 The Cartographer Authors
#
# 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.
# Description:
# Fontconfig is a library for font customization and configuration.
licenses(["notice"]) # BSD-like
genrule(
name = "config_h",
srcs = ["@com_github_googlecartographer_cartographer//bazel/third_party/fontconfig:config.h"],
outs = ["fontconfig_internal/config.h"],
cmd = "cp $< $@",
)
genrule(
name = "fcalias",
srcs = [
"fontconfig/fontconfig.h",
"src/fcdeprecate.h",
"fontconfig/fcprivate.h",
] + glob(["src/*.c"]),
outs = [
"src/fcalias.h",
"src/fcaliastail.h",
],
cmd = """./$(location src/makealias) \
$$(dirname $(location src/makealias)) \
$(OUTS) \
$(location fontconfig/fontconfig.h) \
$(location src/fcdeprecate.h) \
$(location fontconfig/fcprivate.h)""",
tools = ["src/makealias"],
)
genrule(
name = "fcftalias",
srcs = ["fontconfig/fcfreetype.h"] + glob(["src/*.c"]),
outs = [
"src/fcftalias.h",
"src/fcftaliastail.h",
],
cmd = """./$(location src/makealias) \
$$(dirname $(location src/makealias)) \
$(OUTS) \
$(location fontconfig/fcfreetype.h)""",
tools = ["src/makealias"],
)
cc_library(
name = "fontconfig",
srcs = [
"fc-blanks/fcblanks.h",
"fc-case/fccase.h",
"fc-glyphname/fcglyphname.h",
"fc-lang/fclang.h",
"fontconfig/fcfreetype.h",
"fontconfig/fcprivate.h",
"src/fcarch.h",
"src/fcatomic.c",
"src/fcatomic.h",
"src/fcblanks.c",
"src/fccache.c",
"src/fccfg.c",
"src/fccharset.c",
"src/fccompat.c",
"src/fcdbg.c",
"src/fcdefault.c",
"src/fcdeprecate.h",
"src/fcdir.c",
"src/fcformat.c",
"src/fcfreetype.c",
"src/fcfs.c",
"src/fcftint.h",
"src/fcinit.c",
"src/fcint.h",
"src/fclang.c",
"src/fclist.c",
"src/fcmatch.c",
"src/fcmatrix.c",
"src/fcmutex.h",
"src/fcname.c",
"src/fcobjs.c",
"src/fcobjs.h",
"src/fcobjshash.h",
"src/fcpat.c",
"src/fcrange.c",
"src/fcserialize.c",
"src/fcstat.c",
"src/fcstdint.h",
"src/fcstr.c",
"src/fcweight.c",
"src/fcxml.c",
"src/ftglue.c",
"src/ftglue.h",
":config_h",
":fcalias",
":fcftalias",
],
hdrs = [
"fontconfig/fontconfig.h",
],
copts = [
"-Iexternal/org_freedesktop_fontconfig/src",
"-I$(GENDIR)/external/org_freedesktop_fontconfig/src",
"-I$(GENDIR)/external/org_freedesktop_fontconfig/fontconfig_internal",
"-DFC_CACHEDIR='\"/var/cache/fontconfig\"'",
"-DFONTCONFIG_PATH='\"/etc/fonts\"'",
"-DHAVE_CONFIG_H",
"-Wno-strict-aliasing",
],
includes = ["."],
visibility = ["//visibility:public"],
deps = [
"@com_github_libexpat_libexpat//:expat",
"@net_zlib_zlib//:zlib",
"@org_freetype_freetype2//:freetype2",
],
)