[PD-dev] pd-extended build system questions
Hans-Christoph Steiner
hans at eds.org
Sun Jan 7 20:43:09 CET 2007
On Jan 7, 2007, at 1:28 PM, Georg Holzmann wrote:
> (ups sorry - this should be for pd-dev)
>
> Hallo Hans+list!
>
> I just added PDContainer to the build system and have some questions:
>
> o) I have to use g++, otherwise I cannot link the binary - is this
> okay
> for the compile farm ?
That's fine. There are common targets for compiling .c, .cc,
and .cpp files in externals/Makefile. These work on all platforms
and properly handle having all the variables like CFLAGS overloaded
so that we can do platform-specific builds. Look around line 88 in
externals/Makefile. Above it you can see all the platform-specific
build flags.
> o) is it now, with the [declare] object, still necessary to make a
> binary out of each pd object ?
> (I made now one pdcontainer.pd_linux and installed it to
> /pd/extra/pdcontainer/ - but I think I have to split this into
> binaries
> for each object ?)
If you want to be able to load each class individually, then they
need to be separate files, no matter which version of Pd. Everything
in Pd-extended except Gem, PDP, and PiDiP are compiled this way
(Cyrille recently converted pmpd). The namespace stuff won't work
with multiple classes in one file, but you can still use such a
library in Pd-extended, its just less than ideal.
> o) in externals/Makefile:
>
> ifeq ($(OS_NAME),linux)
> [...]
> DYLIB_EXTENSION = dll
> [..]
> endif
> ifeq ($(OS_NAME),windows)
> [...]
> DYLIB_EXTENSION = so
> [...]
> endif
>
> shouldn't this be exchanged ? (dll for windows and so for linux ?)
Yup, thanks for spotting that. That stuff is not used yet. That
will be for compiling shared code as a separate dynamic library, so
that things like Gem and PDP can be built as one-class-per-file
libdir format. If you have a lot of shared code in PDContainer, then
maybe you could try to get this working. Basically, you would build
all the shared code into a pdcontainer.(so|dylib|dll), then each
class as my_class.pd_extension. Each class would have to know how to
find the shared library, but that shouldn't be too hard. Thomas
Grill has built Flext like this.
> o) are there plans to make debian packages too ? (or what has to be
> done
> to make them work ?)
That would be lovely. A number of people have talked about making
Debian packges from the Pd-extended build system, I don't think it
would be that hard. But so far no one has done it. I would happily
assist.
.hc
>
>
> Thanks,
> LG
> Georg
>
>
> _______________________________________________
> PD-dev mailing list
> PD-dev at iem.at
> http://lists.puredata.info/listinfo/pd-dev
------------------------------------------------------------------------
There is no way to peace, peace is the way. -A.J. Muste
More information about the Pd-dev
mailing list