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