# This file will be copied into //third_party/externals/freetype via the new_local_repository
# rule in WORKSPACE.bazel, so all files should be relative to that path.

# We define this here because the emscripten toolchain calls the cpu wasm, whereas the
# bazelbuild/platforms call it wasm32. https://github.com/emscripten-core/emsdk/issues/919
config_setting(
    name = "cpu_wasm",
    values = {
        "cpu": "wasm",
    },
)

FREETYPE_PUBLIC_DEFINES = [
    "FT_CONFIG_OPTION_SVG",
    # FT_CONFIG_OPTION_USE_BROTLI TODO(kjlubick)
    "FT_CONFIG_OPTION_USE_ZLIB",
    #FT_CONFIG_OPTION_SYSTEM_ZLIB TODO(bungeman)
    "SK_FREETYPE_MINIMUM_RUNTIME_VERSION=(((FREETYPE_MAJOR)<<24)|((FREETYPE_MINOR)<<16)|((FREETYPE_PATCH)<<8))",
] + select(
    {
        ":cpu_wasm": [
            # Use a trimmed down set of options to reduce code size.
            "FT_CONFIG_MODULES_H=<skia/no-type1/freetype/config/ftmodule.h>",
            "FT_CONFIG_OPTIONS_H=<skia/no-type1/freetype/config/ftoption.h>",
        ],
        "//conditions:default": [
            "FT_CONFIG_MODULES_H=<skia/android/freetype/config/ftmodule.h>",
            "FT_CONFIG_OPTIONS_H=<skia/android/freetype/config/ftoption.h>",
        ],
    },
)

FREETYPE_LOCAL_DEFINES = ["FT2_BUILD_LIBRARY"]

# Copy our freetype include files from the config subfolder so they can be more
# easily accessed by how we set FT_CONFIG_MODULES_H. Because these files don't exist in
# the original Freetype checkout, we have to put them in a separate workspace (we cannot
# refer to them from the Skia workspace or that would be a circular dependency).
genrule(
    name = "copy_android_freetype_config",
    srcs = [
        "@freetype_config//:android/freetype/config/ftmodule.h",
        "@freetype_config//:android/freetype/config/ftoption.h",
    ],
    outs = [
        "builds/skia/android/freetype/config/ftmodule.h",
        "builds/skia/android/freetype/config/ftoption.h",
    ],
    # SRCS is a space seperated list of files.
    # RULEDIR is the directory containing this BUILD.bazel file (the root of the freetype directory)
    # but only in the "genfiles tree", which does not persist after compilation.
    cmd = "cp $(SRCS) $(RULEDIR)/builds/skia/android/freetype/config/",
)

# It is easiest to have multiple copy rules, one per output directory.
genrule(
    name = "copy_no_type1_freetype_config",
    srcs = [
        "@freetype_config//:no-type1/freetype/config/ftmodule.h",
        "@freetype_config//:no-type1/freetype/config/ftoption.h",
    ],
    outs = [
        "builds/skia/no-type1/freetype/config/ftmodule.h",
        "builds/skia/no-type1/freetype/config/ftoption.h",
    ],
    # SRCS is a space seperated list of files.
    # RULEDIR is the directory containing this BUILD.bazel file (the root of the freetype directory)
    # but only in the "genfiles tree", which does not persist after compilation.
    cmd = "cp $(SRCS) $(RULEDIR)/builds/skia/no-type1/freetype/config/",
)

cc_library(
    name = "freetype",
    srcs = [
        "include/freetype/internal/autohint.h",
        "include/freetype/internal/cffotypes.h",
        "include/freetype/internal/cfftypes.h",
        "include/freetype/internal/compiler-macros.h",
        "include/freetype/internal/ftcalc.h",
        "include/freetype/internal/ftdebug.h",
        "include/freetype/internal/ftdrv.h",
        "include/freetype/internal/ftgloadr.h",
        "include/freetype/internal/fthash.h",
        "include/freetype/internal/ftmemory.h",
        "include/freetype/internal/ftmmtypes.h",
        "include/freetype/internal/ftobjs.h",
        "include/freetype/internal/ftpsprop.h",
        "include/freetype/internal/ftrfork.h",
        "include/freetype/internal/ftserv.h",
        "include/freetype/internal/ftstream.h",
        "include/freetype/internal/fttrace.h",
        "include/freetype/internal/ftvalid.h",
        "include/freetype/internal/psaux.h",
        "include/freetype/internal/pshints.h",
        "include/freetype/internal/services/svbdf.h",
        "include/freetype/internal/services/svcfftl.h",
        "include/freetype/internal/services/svcid.h",
        "include/freetype/internal/services/svfntfmt.h",
        "include/freetype/internal/services/svgldict.h",
        "include/freetype/internal/services/svgxval.h",
        "include/freetype/internal/services/svkern.h",
        "include/freetype/internal/services/svmetric.h",
        "include/freetype/internal/services/svmm.h",
        "include/freetype/internal/services/svotval.h",
        "include/freetype/internal/services/svpfr.h",
        "include/freetype/internal/services/svpostnm.h",
        "include/freetype/internal/services/svprop.h",
        "include/freetype/internal/services/svpscmap.h",
        "include/freetype/internal/services/svpsinfo.h",
        "include/freetype/internal/services/svsfnt.h",
        "include/freetype/internal/services/svttcmap.h",
        "include/freetype/internal/services/svtteng.h",
        "include/freetype/internal/services/svttglyf.h",
        "include/freetype/internal/services/svwinfnt.h",
        "include/freetype/internal/sfnt.h",
        "include/freetype/internal/svginterface.h",
        "include/freetype/internal/t1types.h",
        "include/freetype/internal/tttypes.h",
        "include/freetype/internal/wofftypes.h",
        "include/freetype/otsvg.h",
        "include/freetype/t1tables.h",
        "include/freetype/ttnameid.h",
        "include/freetype/tttables.h",
        "include/freetype/tttags.h",
        "src/autofit/afblue.h",
        "src/autofit/afcjk.h",
        "src/autofit/afcover.h",
        "src/autofit/afdummy.h",
        "src/autofit/aferrors.h",
        "src/autofit/afglobal.h",
        "src/autofit/afhints.h",
        "src/autofit/afindic.h",
        "src/autofit/aflatin.h",
        "src/autofit/afloader.h",
        "src/autofit/afmodule.h",
        "src/autofit/afranges.h",
        "src/autofit/afscript.h",
        "src/autofit/afshaper.h",
        "src/autofit/afstyles.h",
        "src/autofit/aftypes.h",
        "src/autofit/afws-decl.h",
        "src/autofit/afws-iter.h",
        "src/autofit/autofit.c",
        "src/autofit/ft-hb.c",
        "src/autofit/ft-hb.h",
        "src/base/ftbase.c",
        "src/base/ftbase.h",
        "src/base/ftbbox.c",
        "src/base/ftbitmap.c",
        "src/base/ftdebug.c",
        "src/base/ftfstype.c",
        "src/base/ftgasp.c",
        "src/base/ftglyph.c",
        "src/base/ftinit.c",
        "src/base/ftmm.c",
        "src/base/ftpatent.c",
        "src/base/ftstroke.c",
        "src/base/ftsynth.c",
        "src/base/ftsystem.c",
        "src/base/fttype1.c",
        "src/base/ftwinfnt.c",
        "src/base/md5.h",
        "src/cff/cff.c",
        "src/cff/cffcmap.h",
        "src/cff/cffdrivr.h",
        "src/cff/cfferrs.h",
        "src/cff/cffgload.h",
        "src/cff/cffload.h",
        "src/cff/cffobjs.h",
        "src/cff/cffparse.h",
        "src/cff/cfftoken.h",
        "src/cid/ciderrs.h",
        "src/cid/cidgload.h",
        "src/cid/cidload.h",
        "src/cid/cidobjs.h",
        "src/cid/cidparse.h",
        "src/cid/cidriver.h",
        "src/cid/cidtoken.h",
        "src/cid/type1cid.c",
        "src/gzip/crc32.h",
        "src/gzip/ftgzip.c",
        "src/gzip/ftzconf.h",
        "src/gzip/inffast.h",
        "src/gzip/inffixed.h",
        "src/gzip/inflate.h",
        "src/gzip/inftrees.h",
        "src/gzip/zlib.h",
        "src/gzip/zutil.h",
        "src/psaux/afmparse.h",
        "src/psaux/cffdecode.h",
        "src/psaux/psarrst.h",
        "src/psaux/psaux.c",
        "src/psaux/psauxerr.h",
        "src/psaux/psauxmod.h",
        "src/psaux/psblues.h",
        "src/psaux/psconv.h",
        "src/psaux/pserror.h",
        "src/psaux/psfixed.h",
        "src/psaux/psfont.h",
        "src/psaux/psft.h",
        "src/psaux/psglue.h",
        "src/psaux/pshints.h",
        "src/psaux/psintrp.h",
        "src/psaux/psobjs.h",
        "src/psaux/psread.h",
        "src/psaux/psstack.h",
        "src/psaux/pstypes.h",
        "src/psaux/t1cmap.h",
        "src/psaux/t1decode.h",
        "src/pshinter/pshalgo.h",
        "src/pshinter/pshglob.h",
        "src/pshinter/pshinter.c",
        "src/pshinter/pshmod.h",
        "src/pshinter/pshnterr.h",
        "src/pshinter/pshrec.h",
        "src/psnames/psmodule.h",
        "src/psnames/psnamerr.h",
        "src/psnames/psnames.c",
        "src/psnames/pstables.h",
        "src/raster/ftmisc.h",
        "src/raster/ftraster.h",
        "src/raster/ftrend1.h",
        "src/raster/raster.c",
        "src/raster/rasterrs.h",
        "src/sfnt/pngshim.h",
        "src/sfnt/sfdriver.h",
        "src/sfnt/sferrors.h",
        "src/sfnt/sfnt.c",
        "src/sfnt/sfobjs.h",
        "src/sfnt/sfwoff.h",
        "src/sfnt/sfwoff2.h",
        "src/sfnt/ttbdf.h",
        "src/sfnt/ttcmap.h",
        "src/sfnt/ttcmapc.h",
        "src/sfnt/ttcolr.h",
        "src/sfnt/ttcpal.h",
        "src/sfnt/ttkern.h",
        "src/sfnt/ttload.h",
        "src/sfnt/ttmtx.h",
        "src/sfnt/ttpost.h",
        "src/sfnt/ttsbit.h",
        "src/sfnt/woff2tags.h",
        "src/smooth/ftgrays.h",
        "src/smooth/ftsmerrs.h",
        "src/smooth/ftsmooth.h",
        "src/smooth/smooth.c",
        "src/svg/ftsvg.h",
        "src/svg/svg.c",
        "src/svg/svgtypes.h",
        "src/truetype/truetype.c",
        "src/truetype/ttdriver.h",
        "src/truetype/tterrors.h",
        "src/truetype/ttgload.h",
        "src/truetype/ttgxvar.h",
        "src/truetype/ttinterp.h",
        "src/truetype/ttobjs.h",
        "src/truetype/ttpload.h",
        "src/truetype/ttsubpix.h",
        "src/type1/t1afm.h",
        "src/type1/t1driver.h",
        "src/type1/t1errors.h",
        "src/type1/t1gload.h",
        "src/type1/t1load.h",
        "src/type1/t1objs.h",
        "src/type1/t1parse.h",
        "src/type1/t1tokens.h",
        "src/type1/type1.c",
    ],
    hdrs = [
        "include/freetype/config/ftconfig.h",
        "include/freetype/config/ftheader.h",
        # Ensure custom modules and options by removing the generic ones.
        #"include/freetype/config/ftmodule.h",
        #"include/freetype/config/ftoption.h",
        "include/freetype/config/ftstdlib.h",
        "include/freetype/config/integer-types.h",
        "include/freetype/config/mac-support.h",
        "include/freetype/config/public-macros.h",
        "include/freetype/freetype.h",
        "include/freetype/ftadvanc.h",
        "include/freetype/ftbbox.h",
        "include/freetype/ftbdf.h",
        "include/freetype/ftbitmap.h",
        "include/freetype/ftbzip2.h",
        "include/freetype/ftcache.h",
        "include/freetype/ftchapters.h",
        "include/freetype/ftcid.h",
        "include/freetype/ftcolor.h",
        "include/freetype/ftdriver.h",
        "include/freetype/fterrdef.h",
        "include/freetype/fterrors.h",
        "include/freetype/ftfntfmt.h",
        "include/freetype/ftgasp.h",
        "include/freetype/ftglyph.h",
        "include/freetype/ftgxval.h",
        "include/freetype/ftgzip.h",
        "include/freetype/ftimage.h",
        "include/freetype/ftincrem.h",
        "include/freetype/ftlcdfil.h",
        "include/freetype/ftlist.h",
        "include/freetype/ftlogging.h",
        "include/freetype/ftlzw.h",
        "include/freetype/ftmac.h",
        "include/freetype/ftmm.h",
        "include/freetype/ftmodapi.h",
        "include/freetype/ftmoderr.h",
        "include/freetype/ftotval.h",
        "include/freetype/ftoutln.h",
        "include/freetype/ftparams.h",
        "include/freetype/ftpfr.h",
        "include/freetype/ftrender.h",
        "include/freetype/ftsizes.h",
        "include/freetype/ftsnames.h",
        "include/freetype/ftstroke.h",
        "include/freetype/ftsynth.h",
        "include/freetype/ftsystem.h",
        "include/freetype/fttrigon.h",
        "include/freetype/fttypes.h",
        "include/freetype/ftwinfnt.h",
        "include/freetype/otsvg.h",
        "include/freetype/t1tables.h",
        "include/freetype/ttnameid.h",
        "include/freetype/tttables.h",
        "include/freetype/tttags.h",
        "include/ft2build.h",
        # These are copied in by some genrules
        "builds/skia/android/freetype/config/ftmodule.h",
        "builds/skia/android/freetype/config/ftoption.h",
        "builds/skia/no-type1/freetype/config/ftmodule.h",
        "builds/skia/no-type1/freetype/config/ftoption.h",
    ],
    copts = [
        "-Wno-unused-function",
    ],
    defines = FREETYPE_PUBLIC_DEFINES,
    includes = [
        "builds",
        "include",
    ],
    local_defines = FREETYPE_LOCAL_DEFINES,
    # Freetype includes a lot of .c files. We need to make those available for inclusion explicitly.
    textual_hdrs = [
        "src/autofit/afblue.c",
        "src/autofit/afcjk.c",
        "src/autofit/afdummy.c",
        "src/autofit/afglobal.c",
        "src/autofit/afhints.c",
        "src/autofit/afindic.c",
        "src/autofit/aflatin.c",
        "src/autofit/afloader.c",
        "src/autofit/afmodule.c",
        "src/autofit/afranges.c",
        "src/autofit/afshaper.c",
        "src/autofit/ft-hb.c",
        "src/base/ftadvanc.c",
        "src/base/ftbase.c",
        "src/base/ftcalc.c",
        "src/base/ftcolor.c",
        "src/base/ftdbgmem.c",
        "src/base/fterrors.c",
        "src/base/ftfntfmt.c",
        "src/base/ftgloadr.c",
        "src/base/fthash.c",
        "src/base/ftlcdfil.c",
        "src/base/ftmac.c",
        "src/base/ftobjs.c",
        "src/base/ftoutln.c",
        "src/base/ftpsprop.c",
        "src/base/ftrfork.c",
        "src/base/ftsnames.c",
        "src/base/ftstream.c",
        "src/base/fttrigon.c",
        "src/base/ftutil.c",
        "src/cff/cffcmap.c",
        "src/cff/cffdrivr.c",
        "src/cff/cffgload.c",
        "src/cff/cffload.c",
        "src/cff/cffobjs.c",
        "src/cff/cffparse.c",
        "src/cid/cidgload.c",
        "src/cid/cidload.c",
        "src/cid/cidobjs.c",
        "src/cid/cidparse.c",
        "src/cid/cidriver.c",
        "src/gzip/adler32.c",
        "src/gzip/crc32.c",
        "src/gzip/inffast.c",
        "src/gzip/inflate.c",
        "src/gzip/inftrees.c",
        "src/gzip/zutil.c",
        "src/psaux/afmparse.c",
        "src/psaux/cffdecode.c",
        "src/psaux/psarrst.c",
        "src/psaux/psauxmod.c",
        "src/psaux/psblues.c",
        "src/psaux/psconv.c",
        "src/psaux/pserror.c",
        "src/psaux/psfont.c",
        "src/psaux/psft.c",
        "src/psaux/pshints.c",
        "src/psaux/psintrp.c",
        "src/psaux/psobjs.c",
        "src/psaux/psread.c",
        "src/psaux/psstack.c",
        "src/psaux/t1cmap.c",
        "src/psaux/t1decode.c",
        "src/pshinter/pshalgo.c",
        "src/pshinter/pshglob.c",
        "src/pshinter/pshmod.c",
        "src/pshinter/pshrec.c",
        "src/psnames/psmodule.c",
        "src/raster/ftraster.c",
        "src/raster/ftrend1.c",
        "src/sfnt/pngshim.c",
        "src/sfnt/sfdriver.c",
        "src/sfnt/sfobjs.c",
        "src/sfnt/sfwoff.c",
        "src/sfnt/sfwoff2.c",
        "src/sfnt/ttbdf.c",
        "src/sfnt/ttcmap.c",
        "src/sfnt/ttcolr.c",
        "src/sfnt/ttcpal.c",
        "src/sfnt/ttkern.c",
        "src/sfnt/ttload.c",
        "src/sfnt/ttmtx.c",
        "src/sfnt/ttpost.c",
        "src/sfnt/ttsbit.c",
        "src/sfnt/ttsvg.c",
        "src/sfnt/ttsvg.h",
        "src/sfnt/woff2tags.c",
        "src/smooth/ftgrays.c",
        "src/smooth/ftsmooth.c",
        "src/svg/ftsvg.c",
        "src/truetype/ttdriver.c",
        "src/truetype/ttgload.c",
        "src/truetype/ttgxvar.c",
        "src/truetype/ttinterp.c",
        "src/truetype/ttobjs.c",
        "src/truetype/ttpload.c",
        "src/truetype/ttsubpix.c",
        "src/type1/t1afm.c",
        "src/type1/t1driver.c",
        "src/type1/t1gload.c",
        "src/type1/t1load.c",
        "src/type1/t1objs.c",
        "src/type1/t1parse.c",
    ],
    visibility = ["//visibility:public"],
    deps = [
        "@libpng",  # TODO(kjlubick) add brotli option
    ],
)
