You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/content/docs/articles/the-rubinius-build-system.mdoc
+39-1Lines changed: 39 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,5 @@
1
1
---
2
-
title: The Rubinius Build System
2
+
title: The Build System
3
3
---
4
4
5
5
## A Little History
@@ -43,6 +43,24 @@ system just must do it its own way, it can remix easily and safely.
43
43
The rest of this article explains in detail how the Rubinius build system
44
44
works.
45
45
46
+
Scale:
47
+
48
+
1. Large galaxy: Linux;
49
+
1. Small galaxy: LLVM;
50
+
1. Solar system: Rubinius;
51
+
1. Jupiter-sized planet: rbx compiler;
52
+
1. Earth-sized planet: Ruby core library;
53
+
1. Large mountain on earth: A library like OpenFHE;
54
+
1. Big hill: A library like libasio;
55
+
1. A large rock: Python PEG parser;
56
+
1. A smaller rock: CLI11 command line libray.
57
+
58
+
Anything the size of a rock should be a separately-buildable package, and anything larger than a rock should only be a composition of such packages.
59
+
60
+
Every biological system is a collection of well-bounded components, most of them microscopic. Only humans, in their infinite "wisdom" conjure something like Bazel.
61
+
62
+
Why would anyone want to install Java to build a C/C++ library?
63
+
46
64
## Setting Boundaries
47
65
48
66
Some reasons to put a component in its own repository:
@@ -54,3 +72,23 @@ Some reasons to put a component in its own repository:
54
72
* It has particular testing or security concerns;
55
73
56
74
**( This document is a draft work-in-progress. )**
0 commit comments