who build from source
If people build from source, they are also expected to install it, since the installation process is responsible for assembling all the files at the appropriate location.
pd-lib-builder already has sane default installation paths for "make install" (which, of course, can be overriden). The result should look the same as an (extracted) Deken package, so you don't have to treat it differently.
Christof
On 04.10.2021 18:06, Iain Duncan wrote:
Thanks, IOhannes, that sounds sensible. So in order to make it as homogenous as possible between people who build from source and those who install the package (as ultimately I would like this to be extension friendly at the C level), do you think it would be best to just have the scm files live in the same directory as the C files in the source? Or is there some suggested approach when using pd lib builder to make this simple?
thanks iain
On Mon, Oct 4, 2021 at 8:52 AM IOhannes m zmoelnig <zmoelnig@iem.at mailto:zmoelnig@iem.at> wrote:
On 10/4/21 5:22 PM, Iain Duncan wrote: > of the package ('s4pd') so that this can simply be put in the Pd/externals > directory? I just need to know what "normal" is for a release package. yes: ship the scm files besides your external. the easiest way is to instruct people to load your library with [declare -path s4pd -lib s4pd] (which will add .../s4pd to Pd's search paths and *also* load the s4pd.pd_linux external). in the s4pd_setup() (or better: s4pd_new()) callback, spit out a big fat wraning if the scm files cannot be found like: > ERROR: could not find 's4pd.scm'! > ERROR: use [declare -path s4pd -lib s4pd] to load this external and refuse to create an instance of the interpreter. to make things a bit nicer, you could *additionally* search for "s4pd/s4pd.scm", and only bail out if neither of the two can be found. you could also check how other language bindings do this, e.g. [tclpd] or [pdlua] (both of which somehow try to get the path of the library file, and then use that to load their auxiliary scripts) gfmnasdr IOhannes [tclpd] <https://svn.code.sf.net/p/pure-data/svn/trunk/externals/loaders/tclpd/tclpd.c <https://svn.code.sf.net/p/pure-data/svn/trunk/externals/loaders/tclpd/tclpd.c>> [pdlua] <https://svn.code.sf.net/p/pure-data/svn/trunk/externals/loaders/pdlua/src/pdlua.c <https://svn.code.sf.net/p/pure-data/svn/trunk/externals/loaders/pdlua/src/pdlua.c>> PS: we probably should move these to gitlab :-) _______________________________________________ Pd-dev mailing list Pd-dev@lists.iem.at <mailto:Pd-dev@lists.iem.at> https://lists.puredata.info/listinfo/pd-dev <https://lists.puredata.info/listinfo/pd-dev>
Pd-dev mailing list Pd-dev@lists.iem.at https://lists.puredata.info/listinfo/pd-dev