4 Depending on Other Systems

Say ‘geometry’ needs your ‘vectors’ library. Add:

depends-on ("vectors")

to the definition. Now ‘(alpm-load-system "geometry" nil)’ first locates ‘vectors.alpm’ (in the registered directories), loads the ‘vectors’ system completely, then loads ‘geometry’’s own files. Dependencies are transitive and loaded exactly once; circular system dependencies are detected and reported as an error with the cycle spelled out.

File-level ‘depends-on’ can only name files of the same system; if a file needs another system, put that system in the system-level ‘depends-on’.