cross-compiling and `orc.m4`

Maarten Bosmans mkbosmans at
Tue May 3 04:07:57 PDT 2011

2011/3/19 David Schleef <ds at>:
> On Fri, Mar 11, 2011 at 01:38:28AM +0100, Paul Menzel wrote:
>> Dear orcc folks,
>> using OpenEmbedded [1] trying to cross-compile GStreamer plug-ins (or
>> PulseAudio from git master), which includes `orc.m4`, `Makefile` has to be
>> adapted as noted in `` [2].
>>         # orc.m4 calls pkg-config ----variable=orcc orc-0.4 to get the path to orcc,
>>         # resulting in /usr/bin/orcc. Force it to use the staged orcc.
>>         do_configure_append() {
>>               for i in $(find ${S} -name "Makefile") ; do
>>                       sed -i -e s:${bindir}/orcc:${STAGING_BINDIR_NATIVE}/orcc:g $i
>>               done
>>         }
> Use 'ORCC=/usr/bin/orcc ./configure' to override ORCC.

It would be nice to automatically detect when pkg-config returns a
non-functional orcc. The attached patch for orc.m4 does this and uses
the first orcc from $PATH when cross-compiling.

Should be enough to automatically do the right thing for Paul's and my
situation. Of course it is still overridable by setting ORCC

How about maintaining the m4 orc detection macro in the orc tree? Then
there is a canonical location for other projects (gstreamer,
pulseaudio) to look for updates of the file.
I'd say only the ORC_CHECK part should move to the orc tree and
ORC_OUTPUT can stay in the gstreamer tree, as we for pulseaudio do not

> This is the correct way of doing things, because the tools involved
> (pkg-config and autoconf) don't understand the concept of building
> a native tool when cross-compiling.
> Alternately, a build system could modify the orc-0.4.pc file when
> cross-building orc, so that the orcc variable is set to the tool in
> the staging directory.
> David

-------------- next part --------------
A non-text attachment was scrubbed...
Name: gstreamer-orc-m4.patch
Type: application/octet-stream
Size: 1151 bytes
Desc: not available
URL: <>

More information about the gstreamer-devel mailing list