wide-midnight-78598
03/15/2022, 12:00 AMhappy-kitchen-89482
03/15/2022, 12:01 AMwide-midnight-78598
03/15/2022, 12:06 AMhappy-kitchen-89482
03/15/2022, 12:23 AMhappy-kitchen-89482
03/15/2022, 12:24 AMhappy-kitchen-89482
03/15/2022, 12:24 AMwide-midnight-78598
03/15/2022, 12:25 AMbitter-ability-32190
03/15/2022, 12:29 AMbitter-ability-32190
03/15/2022, 12:30 AMwide-midnight-78598
03/15/2022, 12:31 AMwide-midnight-78598
03/15/2022, 12:34 AMfast-nail-55400
03/15/2022, 12:50 AMfast-nail-55400
03/15/2022, 12:51 AMfast-nail-55400
03/15/2022, 1:13 AMwide-midnight-78598
03/15/2022, 2:11 AMfast-nail-55400
03/15/2022, 2:23 AMfast-nail-55400
03/16/2022, 12:34 AMwide-midnight-78598
03/16/2022, 12:45 AMwide-midnight-78598
03/16/2022, 12:51 AMfast-nail-55400
03/16/2022, 12:58 AMfast-nail-55400
03/16/2022, 1:00 AMgo_package
targets is turned into “compile the Go sources in this Digest to a package archive” and “link these Go package archives into a binary”hundreds-father-404
03/16/2022, 1:04 AMbuild_pkg.py
vs build_pkg_target.py
. build_pkg.py
is highly generic rules to convert some Go files -> a __pkg__.a
file. build_pkg_target.py
converts targets into those generic compilation requests, e.g. dealing with dependencies
. I personally find that split really helpful for understanding what's going onhappy-kitchen-89482
03/16/2022, 1:46 AMhappy-kitchen-89482
03/16/2022, 1:50 AMhappy-kitchen-89482
03/16/2022, 1:52 AMhundreds-father-404
03/16/2022, 2:13 AMc_source
and c_header
"atom" targets, and then c_sources
generates both?happy-kitchen-89482
03/16/2022, 3:37 AMfast-nail-55400
03/16/2022, 3:45 AMfast-nail-55400
03/16/2022, 3:46 AMfast-nail-55400
03/16/2022, 3:47 AMcc_library
treats both as sourcesfast-nail-55400
03/16/2022, 3:48 AMhappy-kitchen-89482
03/16/2022, 4:11 AMhappy-kitchen-89482
03/16/2022, 4:11 AMhappy-kitchen-89482
03/16/2022, 4:12 AM./pants check path/to/header.h
should do something, i.e., precompile the headerhappy-kitchen-89482
03/16/2022, 4:13 AMwide-midnight-78598
03/17/2022, 10:24 PMclang-format
running over my c/c++ code and working on adding cppcheck
(and some of my other pre-built linters) 🙂hundreds-father-404
03/17/2022, 10:27 PMfmt
and lint
goals: https://www.pantsbuild.org/v2.10/docs/existing-repositories#2-set-up-formatterslinters-with-basic-build-fileswide-midnight-78598
03/17/2022, 10:28 PMfast-nail-55400
03/17/2022, 10:53 PMfast-nail-55400
03/17/2022, 10:54 PMfast-nail-55400
03/17/2022, 11:01 PMwide-midnight-78598
03/17/2022, 11:45 PMbitter-ability-32190
03/18/2022, 12:06 AMhappy-kitchen-89482
03/18/2022, 2:20 AMwide-midnight-78598
03/18/2022, 2:27 AMhappy-kitchen-89482
03/18/2022, 3:26 AMbitter-ability-32190
03/18/2022, 11:00 AMwide-midnight-78598
03/19/2022, 4:42 AMhappy-kitchen-89482
03/19/2022, 6:52 PMhappy-kitchen-89482
03/19/2022, 6:52 PMwide-midnight-78598
03/19/2022, 7:51 PMhappy-kitchen-89482
03/19/2022, 7:54 PMwide-midnight-78598
06/18/2022, 2:48 AMgo
build pipeline, and I've never used Go, so I guess one question I have here is...
What is the minimal compilation unit?
Is it a single .go file, or multiple .go files which constitute a "package"? Or a "module"?
In the plugin, are we taking each .go
file, compiling that into an intermediate format, then linking all of those intermediate objects into a package/lib/executable? Or, is the minimal compilation unit a set of .go
files (N >= 1) which are all compiled into a package/lib/exe? And then these are linked with other libs?wide-midnight-78598
06/18/2022, 2:52 AMcheck
goal and compilable code, I'm playing around using Swift to make it really easy to compare and contrast my code.
we have swift build
which is an all-in-one solution
swiftc
which compiles individual files and automatically links them with whatever specified flags
And we can even go one step further, and use the swift LLVM frontend basically, then generate .o
intermediate objects, which we can add a linker step to - and then create a single swift library or executable.hundreds-father-404
06/23/2022, 3:58 PMor multiple .go files which constitute a "package"?This. You convert the dir into a
__pkg__.a
file iirc. Then those can get linked to other packageswide-midnight-78598
06/25/2022, 12:18 AMcheck
time?fast-nail-55400
06/25/2022, 12:25 AMgo tool compile
to individually compile files into object files and then use go tool pack
to combine them into a package archive, but neither go
nor Bazel rules_go operates that way.)wide-midnight-78598
06/25/2022, 12:45 AMwide-midnight-78598
06/25/2022, 12:45 AM