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 <[email protected]
<mailto:[email protected]>> 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
[email protected] <mailto:[email protected]>
https://lists.puredata.info/listinfo/pd-dev
<https://lists.puredata.info/listinfo/pd-dev>
_______________________________________________
Pd-dev mailing list
[email protected]
https://lists.puredata.info/listinfo/pd-dev
_______________________________________________
Pd-dev mailing list
[email protected]
https://lists.puredata.info/listinfo/pd-dev