Module: MilkTea::VendoredCJSON
- Defined in:
- lib/milk_tea/bindings/vendored_cjson.rb
Constant Summary collapse
- Error =
VendoredCLibrary::Error
- SOURCES =
%w[ cJSON.c ].freeze
- SYSTEM_LINK_FLAGS =
%w[ -lm ].freeze
Class Method Summary collapse
- .archive_path(root: MilkTea.root) ⇒ Object
- .build_root(root: MilkTea.root) ⇒ Object
- .library(root: MilkTea.root) ⇒ Object
- .link_flags(root: MilkTea.root) ⇒ Object
- .prepare!(root: MilkTea.root, **kwargs) ⇒ Object
- .source_root(root: MilkTea.root) ⇒ Object
Class Method Details
.archive_path(root: MilkTea.root) ⇒ Object
40 41 42 |
# File 'lib/milk_tea/bindings/vendored_cjson.rb', line 40 def archive_path(root: MilkTea.root) build_root(root:).join("libcjson.a") end |
.build_root(root: MilkTea.root) ⇒ Object
36 37 38 |
# File 'lib/milk_tea/bindings/vendored_cjson.rb', line 36 def build_root(root: MilkTea.root) MilkTea.writable_root_for(root).join("tmp/vendored-cjson") end |
.library(root: MilkTea.root) ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/milk_tea/bindings/vendored_cjson.rb', line 17 def library(root: MilkTea.root) resolved_root = Pathname.new(File.(root.to_s)) @libraries ||= {} @libraries[resolved_root.to_s] ||= VendoredCLibrary::Archive.new( name: "cjson", source_root: source_root(root: resolved_root), build_root: build_root(root: resolved_root), archive_name: "libcjson.a", sources: SOURCES, include_roots: [source_root(root: resolved_root)], system_link_flags: SYSTEM_LINK_FLAGS, cc_env_var: "CJSON_CC", ) end |
.link_flags(root: MilkTea.root) ⇒ Object
44 45 46 |
# File 'lib/milk_tea/bindings/vendored_cjson.rb', line 44 def link_flags(root: MilkTea.root) library(root:).link_flags end |
.prepare!(root: MilkTea.root, **kwargs) ⇒ Object
48 49 50 |
# File 'lib/milk_tea/bindings/vendored_cjson.rb', line 48 def prepare!(root: MilkTea.root, **kwargs) library(root:).prepare!(**kwargs) end |
.source_root(root: MilkTea.root) ⇒ Object
32 33 34 |
# File 'lib/milk_tea/bindings/vendored_cjson.rb', line 32 def source_root(root: MilkTea.root) MilkTea.writable_root_for(root).join("third_party/cjson-upstream") end |