headers = [ "opus.h", "opus_defines.h", "opus_multistream.h", "opus_projection.h", "opus_types.h", ] libs = [ "opus", ] # MARK: GLEGram — use prebuilt libopus instead of genrule (saves ~10 min) config_setting( name = "ios_arm64", values = {"cpu": "ios_arm64"}, ) config_setting( name = "ios_sim_arm64", values = {"cpu": "ios_sim_arm64"}, ) [genrule( name = "copy_header_" + h, srcs = ["prebuilt/include/" + h], outs = ["Public/opus/" + h], cmd = "cp $< $@", visibility = ["//visibility:public"], ) for h in headers] genrule( name = "opus_build", srcs = select({ ":ios_arm64": ["prebuilt/arm64/libopus.a"], ":ios_sim_arm64": ["prebuilt/sim_arm64/libopus.a"], "//conditions:default": ["prebuilt/arm64/libopus.a"], }), outs = ["Public/opus/lib/libopus.a"], cmd = "cp $< $@", visibility = [ "//visibility:public", ], ) # MARK: End GLEGram cc_library( name = "opus_lib", srcs = [":Public/opus/lib/lib" + x + ".a" for x in libs], ) cc_library( name = "opus_cc", hdrs = [":Public/opus/" + x for x in headers], includes = [ "Public", ], deps = [ ":opus_lib", ], visibility = [ "//visibility:public", ], ) objc_library( name = "opus", module_name = "opus", enable_modules = True, hdrs = [":Public/opus/" + x for x in headers], includes = [ "Public", ], deps = [ ":opus_lib", ], visibility = [ "//visibility:public", ], )