Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH] sdl2: new package
Date: Fri, 13 Mar 2015 17:14:51 +0100	[thread overview]
Message-ID: <20150313171451.197d5822@free-electrons.com> (raw)
In-Reply-To: <1424944071-6473-1-git-send-email-guillaume.gardet@oliseo.fr>

Dear Guillaume GARDET,

Sorry for not replying earlier. I had a look at your patch some time
ago and had some comments, but apparently never replied.

On Thu, 26 Feb 2015 10:47:51 +0100, Guillaume GARDET wrote:

> diff --git a/package/sdl2/Config.in b/package/sdl2/Config.in
> new file mode 100644
> index 0000000..5d0fe01
> --- /dev/null
> +++ b/package/sdl2/Config.in
> @@ -0,0 +1,22 @@
> +config BR2_PACKAGE_SDL2
> +	bool "SDL2"

I know it's not the case for the existing SDL package, but we generally
prefer to have package names in lower-case in menuconfig, for
consistency. So s/SDL2/sdl2/ here.

> +	help
> +	  Simple DirectMedia Layer 2 - SDL2 is a library that allows
> +	  programs portable low level access to a video framebuffer,
> +	  audio output, mouse, and keyboard. It is not compatible with SDL1.
> +
> +	  http://www.libsdl.org/

Did you check with very basic toolchains that SDL2 builds fine? I'm
surprised you have really zero dependency on toolchain features. Can
you check for example with the following configurations:

  http://autobuild.buildroot.org/toolchains/configs/br-arm-basic.config
  http://autobuild.buildroot.org/toolchains/configs/br-arm-full-nothread.config
  http://autobuild.buildroot.org/toolchains/configs/bfin-linux-uclibc.config
  http://autobuild.buildroot.org/toolchains/configs/bfin-uclinux.config

You may discover that sdl2 depends on certain toolchain options.

> +config BR2_PACKAGE_SDL2_DIRECTFB
> +	bool "SDL2 DirectFB video driver"
> +	depends on BR2_PACKAGE_DIRECTFB

No need to repeat "SDL2" here, since this option is indented below the
"sdl2" main option.

> diff --git a/package/sdl2/sdl2.mk b/package/sdl2/sdl2.mk
> new file mode 100644
> index 0000000..b9aa907
> --- /dev/null
> +++ b/package/sdl2/sdl2.mk
> @@ -0,0 +1,67 @@
> +################################################################################
> +#
> +# sdl2
> +#
> +################################################################################
> +
> +SDL2_VERSION = 2.0.3
> +SDL2_SOURCE = SDL2-$(SDL2_VERSION).tar.gz
> +SDL2_SITE = http://www.libsdl.org/release
> +SDL2_LICENSE = zlib
> +SDL2_LICENSE_FILES = COPYING
> +SDL2_INSTALL_STAGING = YES
> +
> +# We must enable static build to get compilation successful.
> +SDL2_CONF_OPTS = --enable-static

Hum, this is a bit annoying, but OK.

> +
> +ifeq ($(BR2_PACKAGE_SDL2_DIRECTFB),y)
> +SDL2_DEPENDENCIES += directfb
> +SDL2_CONF_OPTS += --enable-video-directfb=yes
> +SDL2_CONF_ENV = ac_cv_path_DIRECTFBCONFIG=$(STAGING_DIR)/usr/bin/directfb-config
> +else
> +SDL2_CONF_OPTS += --enable-video-directfb=no
> +endif
> +
> +ifeq ($(BR2_PACKAGE_SDL2_X11),y)
> +SDL2_CONF_OPTS += --enable-video-x11=yes
> +SDL2_DEPENDENCIES += \
> +	xlib_libX11 xlib_libXext \
> +	$(if $(BR2_PACKAGE_XLIB_LIBXRENDER), xlib_libXrender) \
> +	$(if $(BR2_PACKAGE_XLIB_LIBXRANDR), xlib_libXrandr)

No space after the comma.

> +else
> +SDL2_CONF_OPTS += --enable-video-x11=no
> +endif
> +
> +ifeq ($(BR2_PACKAGE_TSLIB),y)
> +SDL2_DEPENDENCIES += tslib
> +endif

Please explicit the --enable-input-tslib / --disable-input-tslib.

> +ifeq ($(BR2_PACKAGE_ALSA_LIB),y)
> +SDL2_DEPENDENCIES += alsa-lib
> +endif

Same: --enable-alsa / --disable-alsa.

> +
> +ifeq ($(BR2_PACKAGE_MESA3D),y)
> +SDL_DEPENDENCIES += mesa3d
> +endif

What feature is this supposed to be enabling? mesa3d is an OpenGL
implementation, but it's not the only one. So if it's OpenGL related,
most likely this is not the right thing to do.

> +SDL2_CONF_OPTS += \
> +	--enable-pulseaudio=no \
> +	--disable-arts \
> +	--disable-esd

Please put this earlier, where the first non-conditional SDL2_CONF_OPTS
definition is.

> +HOST_SDL2_CONF_OPTS += \
> +	--enable-pulseaudio=no \
> +	--enable-video-x11=no \
> +	--disable-arts \
> +	--disable-esd

Not needed I believe.

> +
> +# Remove the -Wl,-rpath option.
> +define SDL2_FIXUP_SDL2_CONFIG
> +	$(SED) 's%-Wl,-rpath,\$${libdir}%%' \
> +		$(STAGING_DIR)/usr/bin/sdl2-config
> +endef
> +
> +SDL2_POST_INSTALL_STAGING_HOOKS += SDL2_FIXUP_SDL2_CONFIG
> +
> +$(eval $(autotools-package))
> +$(eval $(host-autotools-package))

Why do you have a host package? There is nothing that depends on it.

Could you look at those comments, and resubmit an updated version
and/or comment on them as needed?

Thanks a lot!

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

  parent reply	other threads:[~2015-03-13 16:14 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-02-26  9:47 [Buildroot] [PATCH] sdl2: new package Guillaume GARDET
2015-03-13 10:39 ` Guillaume GARDET - Oliséo
2015-03-13 16:14 ` Thomas Petazzoni [this message]
2015-03-30  9:33   ` Guillaume GARDET - Oliséo
2015-03-30 12:50   ` Guillaume GARDET - Oliséo
2015-03-30 12:59     ` Thomas Petazzoni
2015-03-30 13:14       ` [Buildroot] [PATCH V2] " Guillaume GARDET
2015-04-22  8:35         ` Guillaume GARDET - Oliséo
2015-04-22 22:11         ` Romain Naour
2015-06-29 20:30           ` [Buildroot] [PATCH V3] " Guillaume GARDET
2015-06-29 22:22             ` Yann E. MORIN
2015-07-02  8:16               ` [Buildroot] [PATCH V4] " Guillaume GARDET
2015-07-05 18:21                 ` Romain Naour
2015-07-06 12:17                   ` Guillaume GARDET - Oliséo
2015-07-06 12:26                     ` Thomas Petazzoni
2015-07-06 13:23                       ` Guillaume GARDET - Oliséo
2015-07-06 13:34                         ` Thomas Petazzoni
2015-07-07 22:19                         ` Arnout Vandecappelle
2015-07-18 18:57                     ` Romain Naour
2015-10-19 13:45                       ` Vincent Stehlé
2015-10-21 20:56                         ` Romain Naour
2015-10-21 21:09                           ` Romain Naour
2015-10-21 21:22                             ` Thomas Petazzoni
2015-10-21 21:25                               ` Romain Naour
2015-07-07 22:22                 ` Arnout Vandecappelle
2015-05-03 15:03         ` [Buildroot] [PATCH V2] " Bernd Kuhls

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20150313171451.197d5822@free-electrons.com \
    --to=thomas.petazzoni@free-electrons.com \
    --cc=buildroot@busybox.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox