ASDF:SYSTEM-RELATIVE-PATHNAME is probably what you want Sent from my iPhone
> On Dec 13, 2025, at 06:11, Marco Antoniotti <[email protected]> > wrote: > > > Hi > > I am getting old and I get confused. > > Here is the thing (a followup to the "wild" ASDF module question). > > I am writing something that will have, at run time, a variable > *the-directory-where-stuff-is*. > > Now, I want to initialize this variable automagically, with no "outside" > references. I thought I could do something like > > (defvar the-directory-where-stuff-is* > (merge-pathnames (make-pathname :directory '(:relative "stuff") > :name nil :type nil) > (make-pathname :name nil :type nil > :defaults *load-pathname*))) > > Alas, ASDF and other things may move the compiled file to a cache folder, > which, in the end misaligns *load-pathname* w.r.t. where "stuff" actually is > (and should be). > > This is something that build systems like cmake achieve with the notion of > "source", "install", etc folders. > > Any ideas, suggestions, incantations, workarounds, even at the ASDF level to > get this done? > > Thanks > > > -- > Marco Antoniotti
