blob: fd5c7e961b75b7d9db618d0f6a38d660c23d846f [file] [log] [blame]
load("@rules_cc//cc:defs.bzl", "cc_binary", "cc_library")
load("@dev_source_monogon//build/utils:template_file.bzl", "template_file")
template_file(
name = "config.h",
src = "@dev_source_monogon//third_party/chrony:config.h.in",
substitutions = {
# ONCHANGE(//third_party/chrony:external.bzl): version needs to be kept in sync
"%CHRONY_VERSION%": "4.1-monogon",
},
)
# Headers which couldn't be decoupled into sub-libraries.
cc_library(
name = "common_hdrs",
srcs = [
":config.h",
# Headers corresponding to .c files in :common.
"addrfilt.h",
"array.h",
"clientlog.h",
"cmdparse.h",
"conf.h",
"keys.h",
"local.h",
"logging.h",
"memory.h",
"nameserv.h",
"reference.h",
"regress.h",
"samplefilt.h",
"sched.h",
"smooth.h",
"socket.h",
"sources.h",
"sourcestats.h",
"util.h",
# Corresponding to .c files in :ntp.
"ntp_core.h",
"ntp_sources.h",
"nts_ke.h",
# Other headers.
"addressing.h",
"candm.h",
"cmdmon.h",
"cmac.h",
"hash.h",
"localp.h",
"manual.h",
"ntp.h",
"privops.h",
"refclock.h",
"reports.h",
"siv.h",
"srcparams.h",
"sysincl.h",
],
)
# Sources which couldn't be decoupled into sub-libraries.
cc_library(
name = "common",
srcs = [
"addrfilt.c",
"array.c",
"clientlog.c",
"cmdparse.c",
"conf.c",
"keys.c",
"local.c",
"logging.c",
"memory.c",
"reference.c",
"regress.c",
"samplefilt.c",
"sched.c",
"smooth.c",
"socket.c",
"sources.c",
"sourcestats.c",
"util.c",
],
deps = [
":common_hdrs",
],
)
# MD5 library used by keys.c, which does #include "md5.c".
cc_library(
name = "md5",
textual_hdrs = [
"md5.h",
"md5.c",
],
)
cc_library(
name = "nameserv",
srcs = [
"nameserv.c",
"nameserv_async.h",
"nameserv_async.c",
],
deps = [
":common",
],
)
cc_library(
name = "ntp",
srcs = [
"nts_ke_client.h",
"nts_ke_server.h",
"nts_ke_session.h",
"nts_ntp_client.h",
"nts_ntp_auth.h",
"nts_ntp_server.h",
"nts_ntp.h",
"ntp_auth.h",
"ntp_auth.c",
"ntp_core.c",
"ntp_ext.h",
"ntp_ext.c",
"ntp_io.h",
"ntp_io.c",
"ntp_signd.h",
"ntp_sources.c",
],
deps = [
":common",
":nameserv",
],
)
cc_library(
name = "sys",
srcs = [
"sys.h",
"sys.c",
"sys_generic.h",
"sys_generic.c",
"sys_linux.h",
"sys_linux.c",
"sys_timex.h",
"sys_timex.c",
"sys_posix.h",
"sys_null.h",
"sys_null.c",
],
deps = [
":common",
"@seccomp//:seccomp",
"@cap//:cap",
],
)
cc_library(
name = "rtc",
srcs = [
"rtc.h",
"rtc.c",
"rtc_linux.h",
"rtc_linux.c",
],
deps = [
":common",
":sys",
],
)
cc_library(
name = "tempcomp",
srcs = [
"tempcomp.h",
"tempcomp.c",
],
deps = [
":common",
],
)
cc_binary(
name = "chrony",
srcs = [
"hash_intmd5.c",
"main.h",
"main.c",
"stubs.c",
],
deps = [
":common",
":md5",
":ntp",
":rtc",
":tempcomp",
],
visibility = ["//visibility:public"],
)