[PD-dev] Re: new zexy build system breaks pd-extended inclusion
IOhannes m zmölnig
zmoelnig at iem.at
Mon Jan 23 22:03:23 CET 2006
Hans-Christoph Steiner wrote:
>
> You might be interested in this, too, as an easy way to test building
> zexy with the build system:
>
> cd externals && make zexy
>
> externals/Makefile has a separate zexy target now which compiles the
> files directly in externals/zexy/src.
>
i just played a bit with the pd-extended build system (as you might see
in todays's CVS-logs coming tomorrow - things like changing the spelling
of my name and the like)
it seems to work fine, however some things are not clear to me (if i use
zexy-objects in the example below, please forgive me, but they are kind
of close to me)
as far as i can see it, certain assumptions are made about the setup of
the builing OS.
there are no tests whether things (files, libraries) exist.
while this makes the build-system simple and easy, it only allows for
the most generic objects to be built (those that depend on libc, libm
and the like)
however, often things are not that easy (and that's why people have
invented configuration systems like autoconf and SCons and i don't know
what)
furthermore it might be good to provide a mechanism that would allow
developers to adapt the build-system to their needs (since they are
supposed to know most about their code), with reasonable fallbacks if
they provide none.
e.g. i noticed that while zexy was mainly built (some objects were
missing which i would consider crucial, like [z~] - which unfortunately
starts with a 'z'...), several objects were built in a rough-and-ready
manner. e.g. [lpt] (which people have reported to be useful) is compiled
- but without parallel-port support; while this is ok on macintosh (due
to the lack of a parallel-port), i don't like it on PCs.
when using the zexy-build-system, i take care of this via autoconf.
i take care of several other things via autoconf too, that is why i
(additionally) introduced zexyconf.h.
therefore, it would be nice to be able to do some "configuration" for
each library and/or to modify the build-process locally.
1st thing could be done by providing a "config" target in the Makefile.
eg "make zexy_config" would run the autoconf stuff (or something
apropriate), while "make iem16_config" would do nothing.
2nd thing could be done by searching the library-paths for a localized
Makefile (like Makefile.extbuild) which would/could overwrite (parts of)
the default values given in the externals/Makefile.
these Makefiles could then be maintained by the original authors (if
they care to do so; if not, there would be no such Makefiles)
bad ideas? chaotic? just thinking
mfg.adsr
IOhannes
More information about the Pd-dev
mailing list