Patchwork [02/36] package/sdl: add symlink to sdl-config

login
register
mail settings
Submitter Yann E. MORIN
Date Aug. 12, 2012, 11:53 p.m.
Message ID <1344815664-28138-2-git-send-email-yann.morin.1998@free.fr>
Download mbox | patch
Permalink /patch/176810/
State RFC
Headers show

Comments

Yann E. MORIN - Aug. 12, 2012, 11:53 p.m.
SDL installs a script-based sdl-config in the sysroot, but some
packages (eg. QEMU) needs it to be either:
  - prefixed with the cross-prefix
  - in the PATH

So, as sdl-config is a script, and although it is installed in
the sysroot, it can be run on the host.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 package/sdl/sdl.mk |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)
Thomas Petazzoni - Aug. 13, 2012, 10:57 a.m.
Le Mon, 13 Aug 2012 01:53:50 +0200,
"Yann E. MORIN" <yann.morin.1998@free.fr> a écrit :

> SDL installs a script-based sdl-config in the sysroot, but some
> packages (eg. QEMU) needs it to be either:
>   - prefixed with the cross-prefix
>   - in the PATH
> 
> So, as sdl-config is a script, and although it is installed in
> the sysroot, it can be run on the host.

Well, that's typically not how we handle this problem. In general, we
pass the complete location of the <foo>-config script to
the ./configure script of the package that needs it. I would prefer if
we could use this solution everywhere instead of having a different
solution in different places for the same problem. Do you know if it
would be possible with Qemu?

Thanks!

Thomas
Yann E. MORIN - Aug. 13, 2012, 11:32 a.m.
Thomas, All,

On Monday 13 August 2012 12:57:10 Thomas Petazzoni wrote:
> Le Mon, 13 Aug 2012 01:53:50 +0200,
> "Yann E. MORIN" <yann.morin.1998@free.fr> a écrit :
> 
> > SDL installs a script-based sdl-config in the sysroot, but some
> > packages (eg. QEMU) needs it to be either:
> >   - prefixed with the cross-prefix
> >   - in the PATH
> > 
> > So, as sdl-config is a script, and although it is installed in
> > the sysroot, it can be run on the host.
> 
> Well, that's typically not how we handle this problem. In general, we
> pass the complete location of the <foo>-config script to
> the ./configure script of the package that needs it.

Yep, I knew this one would raise eyebrows. ;-)

> I would prefer if
> we could use this solution everywhere instead of having a different
> solution in different places for the same problem.

But still, is it the right solution to use the sdl-config, although it is
installed in staging?

> Do you know if it
> would be possible with Qemu?

Ah, looking further, there's SDL_CONFIG we can set (I missed it...)
Will fix.

Regards,
Yann E. MORIN.
Arnout Vandecappelle - Aug. 28, 2012, 11:09 p.m.
On 08/13/12 12:57, Thomas Petazzoni wrote:
> Le Mon, 13 Aug 2012 01:53:50 +0200,
> "Yann E. MORIN"<yann.morin.1998@free.fr>  a écrit :
>
>> >  SDL installs a script-based sdl-config in the sysroot, but some
>> >  packages (eg. QEMU) needs it to be either:
>> >     - prefixed with the cross-prefix
>> >     - in the PATH
>> >
>> >  So, as sdl-config is a script, and although it is installed in
>> >  the sysroot, it can be run on the host.
> Well, that's typically not how we handle this problem. In general, we
> pass the complete location of the<foo>-config script to
> the ./configure script of the package that needs it. I would prefer if
> we could use this solution everywhere instead of having a different
> solution in different places for the same problem.

  Although I fully agree with using the same pattern everywhere, I think the
pattern is wrong here.  Having a xxx-config script is supposed to make it
easy to discover a package; if you have to point to it explicitly in the
package.mk using it, that kind of defeats the purpose.

  Of course, even so it is still shaky.  If the xxx-config has to be looked up
from the PATH, we risk picking up /usr/bin/xxx-config...  In an ideal world,
they'd all be using pkg-config...  But in an ideal work we probably wouldn't
even need buildroot :-)

  Regards,
  Arnout

Patch

diff --git a/package/sdl/sdl.mk b/package/sdl/sdl.mk
index 139312f..c499562 100644
--- a/package/sdl/sdl.mk
+++ b/package/sdl/sdl.mk
@@ -66,6 +66,8 @@  define SDL_FIXUP_SDL_CONFIG
 		$(STAGING_DIR)/usr/bin/sdl-config
 	$(SED) 's%-Wl,-rpath,\$${libdir}%%' \
 		$(STAGING_DIR)/usr/bin/sdl-config
+	$(HOSTLN) -s $(STAGING_DIR)/usr/bin/sdl-config \
+	             $(HOST_DIR)/usr/bin/sdl-config
 endef
 
 SDL_POST_INSTALL_STAGING_HOOKS+=SDL_FIXUP_SDL_CONFIG