CYGPORT: using WAF build system.

Carlo B. carlo.bramini@gmail.com
Sun Oct 17 12:25:53 GMT 2021


Hello,
thank you very much for the replies.
I have successfully compiled lv2, lilv, serd, sord, sratom (but not
suil yet) for CYGWIN and I made the packages for building the master
branch of Audacity.
I also tried to do the same thing for i686 and x86_64, by using
provided MinGW-w64 cross compiler, but I'm getting this message:

*** ERROR: waf.cygclass does not yet support cross-compiling

I hope that somebody may fix this in the future.
Sincerely.

Il giorno ven 15 ott 2021 alle ore 17:22 Brian Inglis
<Brian.Inglis@systematicsw.ab.ca> ha scritto:
>
> On 2021-10-14 04:02, Carlo B. via Cygwin wrote:
> > I would like to make a package with LV2 plugins for CYGWIN.
> > The problem is that those plugins are using the WAF build system and
> > it is not clear to me how to proceed. Do you know if some of the
> > existing packages for CYGWIN are using WAF, so that they could be uses
> > as example for starting?
>
> In connection with other queries, I just came across a few lv2 packages
> already available in Cygwin:
>
> lv2
> lv2core
> lv2-calf
> lv2-devel
> lv2-examples
> lv2-swh
>
> slv2
> libslv2_9
> libslv2-devel
>
> with cygport build control script definitions and patches available
> which use WAF:
>
> https://cygwin.com/git-cygwin-packages?p=git/cygwin-packages/lv2.git
> https://cygwin.com/git-cygwin-packages?p=git/cygwin-packages/lv2-swh.git
> https://cygwin.com/git-cygwin-packages?p=git/cygwin-packages/slv2.git
>
> so you could install cygport and any *lv2* package dependencies, clone
> these repos or download and untar the current source packages which
> contain these files plus upstream tars, and build the current packages
> as a proof of concept and way of learning cygport, before trying to
> build more current versions.
>
> The simple approach to running cygport is to change to the directory
> containing the .cygport definitions and .patch file(s) or move them to a
> working directory (normally named for the source package), then run e.g.
>
>         $ cygport lv2.cygport get prep
>
> which downloads the upstream (not Cygwin) package sources for the
> specified version to a central cache directory, creates a package build
> directory, copies or untars sources if required, and (tries to) apply
> any patches to the original sources, to give you working sources, which
> you can then use to compile and make install-able Cygwin packages for
> the current arch.
> You can try one of the following examples, depending whether you want to
> watch the builds run or review the results later:
>
>         $ cygport lv2.cygport all |& tee lv2-cygport-`arch`-all.log
>
>         $ cygport lv2.cygport all | tee lv2-cygport-`arch`-all.log 2>&1
>
>         $ cygport lv2.cygport all &> tee lv2-cygport-`arch`-all.log &
>
>        $ cygport lv2.cygport all > tee lv2-cygport-`arch`-all.log 2>&1 &
>
> Browse the created build subdirectories to see what is produced and
> review all detail logs generated during the process.
>
> After a successful build and package creation, it is always a good idea
> to try to run any test suites with:
>
>    $ cygport lv2.cygport check > tee lv2-cygport-`arch`-check.log 2>&1 &
>
> I use the cygport command check instead of test as test is used
> ambiguously by cygport, as it may also refer to test vs stable or
> production releases produced by cygport using commands e.g. all-test.
>
> --
> Take care. Thanks, Brian Inglis, Calgary, Alberta, Canada
>
> This email may be disturbing to some readers as it contains
> too much technical detail. Reader discretion is advised.
> [Data in binary units and prefixes, physical quantities in SI.]


More information about the Cygwin mailing list