blob: 999ab970d2b46fca65f6821aa16810ea92ec0947 [file] [log] [blame]
objc_library(
name = "glib-darwin",
srcs = [
"glib/gosxutils.m",
"os/darwin/config.h",
"os/darwin/glib/glibconfig.h",
] + glob(["glib/*.h"]),
copts = [
"-DGLIB_COMPILATION",
"-D_GNU_SOURCE",
"-DG_DISABLE_CAST_CHECKS",
'-DGLIB_CHARSETALIAS_DIR=""',
"-I $(execpath os/darwin)",
"-I $(execpath os/darwin/glib)",
"-I $(execpath glib)",
],
data = [
# These paths are here so we can use them in copts with $(execpath ...)
"os/darwin",
"os/darwin/glib",
"glib",
],
includes = [
".",
],
)
cc_library(
# Named "glib2" so it doesn't shadow the "glib" directory in this package.
name = "glib2",
srcs = [
"glib/garcbox.c",
"glib/garray.c",
"glib/gasyncqueue.c",
"glib/gatomic.c",
"glib/gbacktrace.c",
"glib/gbase64.c",
"glib/gbitlock.c",
"glib/gbookmarkfile.c",
"glib/gbytes.c",
"glib/gcharset.c",
"glib/gchecksum.c",
"glib/gconvert.c",
"glib/gdataset.c",
"glib/gdate.c",
"glib/gdatetime.c",
"glib/gdir.c",
"glib/genviron.c",
"glib/gerror.c",
"glib/gfileutils.c",
# "ggettext.c", # This requires the gettext packages.
"glib/ghash.c",
"glib/ghmac.c",
"glib/ghook.c",
"glib/ghostutils.c",
"glib/giochannel.c",
"glib/gkeyfile.c",
"glib/glib-init.c",
"glib/glib-private.c",
"glib/glist.c",
"glib/gmain.c",
"glib/gmappedfile.c",
"glib/gmarkup.c",
"glib/gmem.c",
"glib/gunicollate.c",
"glib/gmessages.c",
"glib/gnode.c",
"glib/goption.c",
"glib/gpathbuf.c",
"glib/gpattern.c",
"glib/gpoll.c",
"glib/gprimes.c",
"glib/gprintf.c",
"glib/gqsort.c",
"glib/gquark.c",
"glib/gqueue.c",
"glib/grand.c",
"glib/grcbox.c",
"glib/grefcount.c",
"glib/grefstring.c",
# "gregex.c",
"glib/gscanner.c",
"glib/gsequence.c",
"glib/gshell.c",
"glib/gslice.c",
"glib/gslist.c",
"glib/gstdio.c",
"glib/gstrfuncs.c",
"glib/gstring.c",
"glib/gstringchunk.c",
"glib/gstrvbuilder.c",
"glib/gtestutils.c",
"glib/gthread.c",
"glib/gthreadpool.c",
"glib/gtimer.c",
"glib/gtimezone.c",
"glib/gtrace.c",
"glib/gtranslit.c",
"glib/gtrashstack.c",
"glib/gtree.c",
"glib/gunibreak.c",
"glib/gunidecomp.c",
"glib/guniprop.c",
"glib/guri.c",
"glib/gutf8.c",
"glib/gutils.c",
# "guuid.c", # needs libintl.h from gettext
"glib/gvariant-core.c",
"glib/gvariant-parser.c",
"glib/gvariant-serialiser.c",
"glib/gvariant.c",
"glib/gvarianttype.c",
"glib/gvarianttypeinfo.c",
"glib/gversion.c",
"glib/gwakeup.c",
"glib/libcharset/localcharset.c",
] + select({
"@platforms//os:macos": [
"glib/giounix.c",
"glib/glib-unix.c",
"glib/glib-unixprivate.h",
"glib/gspawn.c",
"glib/gthread-posix.c",
"os/darwin/config.h",
"os/darwin/glib/glibconfig.h",
],
"//conditions:default": [],
}) + glob(
[
"glib/*.h",
"glib/deprecated/*.h",
"glib/libcharset/*.h",
],
exclude = [
"glib/glib-unixprivate.h",
],
),
hdrs = [
"glib.h",
],
copts = [
"-fvisibility=hidden",
"-Winvalid-pch",
"-Wextra",
"-Wpedantic",
"-std=gnu99",
"-fno-strict-aliasing",
"-Wimplicit-fallthrough",
"-Wmisleading-indentation",
"-Wmissing-field-initializers",
"-Wnonnull",
"-Wunused",
"-Wno-unused-parameter",
"-Wno-cast-function-type",
"-Wno-pedantic",
"-Wno-format-zero-length",
"-Wno-variadic-macros",
"-Werror=format=2",
"-Werror=init-self",
"-Werror=missing-include-dirs",
"-Werror=pointer-arith",
"-Werror=unused-result",
"-Wstrict-prototypes",
"-Wno-bad-function-cast",
"-Werror=implicit-function-declaration",
"-Werror=missing-prototypes",
"-Wduplicate-decl-specifier",
"-Werror=pointer-sign",
"-Wno-string-plus-int",
] + select({
"@platforms//os:macos": [
"-I $(execpath os/darwin)",
"-I $(execpath os/darwin/glib)",
"-I $(execpath glib)",
],
"//conditions:default": [],
}),
data = select({
"@platforms//os:macos": [
# These paths are here so we can use them in copts with $(execpath ...)
"os/darwin",
"os/darwin/glib",
"glib",
],
"//conditions:default": [],
}),
includes = [
".",
],
local_defines = [
"GLIB_COMPILATION",
"_GNU_SOURCE",
"G_DISABLE_CAST_CHECKS",
'GLIB_CHARSETALIAS_DIR=\\"\\"',
],
deps = select({
"@platforms//os:macos": [":glib-darwin"],
"//conditions:default": [],
}),
)