diff options
author | David Walter Seikel | 2014-04-16 16:51:22 +1000 |
---|---|---|
committer | David Walter Seikel | 2014-04-16 16:51:22 +1000 |
commit | 59fc8f8bb949f2b909d09021921433d6ad1d13b7 (patch) | |
tree | 0e6ee8fe50e4f0a88948d3c42dac10b6f5099945 /Bookie/README | |
parent | Add a newline at the end. (diff) | |
download | SledjHamr-59fc8f8bb949f2b909d09021921433d6ad1d13b7.zip SledjHamr-59fc8f8bb949f2b909d09021921433d6ad1d13b7.tar.gz SledjHamr-59fc8f8bb949f2b909d09021921433d6ad1d13b7.tar.bz2 SledjHamr-59fc8f8bb949f2b909d09021921433d6ad1d13b7.tar.xz |
Add a README for my shared library idea.
Diffstat (limited to '')
-rw-r--r-- | Bookie/README | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/Bookie/README b/Bookie/README new file mode 100644 index 0000000..1a49f27 --- /dev/null +++ b/Bookie/README | |||
@@ -0,0 +1,33 @@ | |||
1 | Shared dynamic libraries is a bit of an issue for cross platform code. | ||
2 | LL viewers deal with it by including their own copies of the libraries | ||
3 | they use. This bypasses the idea of sharing them, and thus uses too | ||
4 | much resources. On the other hand, it seems to be the Windows way of | ||
5 | doing things, lots of Windows packages I have seen include their own | ||
6 | copies of libraries. Mac Os X seems to do the same, each application is | ||
7 | installed as it's own directory, filled with it's own copies of | ||
8 | libraries. Not a lot of sharing going on. Linux and the BSDs do the | ||
9 | right thing, most libraries are actually shared. Except that LL viewers | ||
10 | STILL bring their own libraries. | ||
11 | |||
12 | I think the main difference is having a proper package management | ||
13 | system. Apt, RPM, and portage (I think) can track dependencies on | ||
14 | libraries, install the libraries automatically, and even have different | ||
15 | versions of libraries installed side by side. Without this, the OS has | ||
16 | no official way of tracking library dependencies, so every one has to | ||
17 | supply their own. Sure Mac OS X has had a few package systems ported to | ||
18 | it, but none of them are the official one, so developers can't rely on | ||
19 | them. | ||
20 | |||
21 | SledjHamr has to deal with this, and try to do so in some sort of smart | ||
22 | way. As usual, the right way to do things is generally to do the | ||
23 | opposite of what LL does. lol | ||
24 | |||
25 | Bookie should be a sub system that probes the OS, trying to see if | ||
26 | there's some sort of OS store of libraries, and try to find reasonable | ||
27 | versions of the libraries needed in that. If not found, it could invoke | ||
28 | an OS specific method of installing a suitable library. If that fails, | ||
29 | it can download a SledjHamr specific version into the SledjHamr | ||
30 | installed directory. So it tries to do the right thing first, and | ||
31 | gradually fallsback to doing the wrong thing like LL does. | ||
32 | |||
33 | That's the theory, in practice, gonna be a pain. | ||