From: Peter Korsgaard <jacmet@uclibc.org>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH 2 of 4] alsa-lib: add a fake dlfcn.h header if dynamic load is not supported
Date: Tue, 18 Feb 2014 12:28:29 +0100 [thread overview]
Message-ID: <87a9dowtgi.fsf@dell.be.48ers.dk> (raw)
In-Reply-To: <2b373a4c038e8029fbfb.1392224142@argentina> (Thomas De Schampheleire's message of "Wed, 12 Feb 2014 17:55:42 +0100")
>>>>> "Thomas" == Thomas De Schampheleire <patrickdepinguin@gmail.com> writes:
> The FLAT GNU toolchain doesn't include the dlfcn.h header file.
> Provide a fake header file dlmisc.h with enough declarations to make
> alsa-lib happy.
> Fixes
> http://autobuild.buildroot.org/results/706/7069e1f43cbed745d65f7dd9904a3fff034530ac/build-end.log
> Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
> [Thomas: change sequence number from 003 to 0003, update commit message ]
> Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
> ---
> package/alsa-lib/alsa-lib-0003-dlmisc.patch | 59 ++++++++++++++++++++++++
> 1 files changed, 59 insertions(+), 0 deletions(-)
> diff --git a/package/alsa-lib/alsa-lib-0003-dlmisc.patch b/package/alsa-lib/alsa-lib-0003-dlmisc.patch
> new file mode 100644
> --- /dev/null
> +++ b/package/alsa-lib/alsa-lib-0003-dlmisc.patch
> @@ -0,0 +1,59 @@
> +alsa-lib: dlmisc: Add a fake dl lib head file when dl lib is not supported by the toolchain.
> +
> +The FLAT GNU toolchain doesn't include the dlfcn.h header file.
> +
> +--- alsa-lib-1.0.26/src/mixer/simple_abst.c 2012-09-06 16:55:14.000000000 +0800
> ++++ alsa-lib-1.0.26.bak/src/mixer/simple_abst.c 2013-11-25 14:53:07.739275843 +0800
> +@@ -34,7 +34,11 @@
> + #include <fcntl.h>
> + #include <sys/ioctl.h>
> + #include <math.h>
> ++#ifdef HAVE_LIBDL
> + #include <dlfcn.h>
> ++#else
> ++#include <dlmisc.h>
This is not a system header, so it should use #include "dlmisc.h".
What the the upstream status of this patch? We don't usually carry
feature patches in buildroot (besides backports).
Are those two defines the only part of dlfcn.h used? If so, how about
protection the pieces of code using them with #ifdef HAVE_LIBDL instead?
> ++#endif
> + #include "config.h"
> + #include "asoundlib.h"
> + #include "mixer_simple.h"
> +--- alsa-lib-1.0.26/modules/mixer/simple/sbasedl.c 2012-09-06 16:55:14.000000000 +0800
> ++++ alsa-lib-1.0.26.bak/modules/mixer/simple/sbasedl.c 2013-11-25 14:53:40.871279553 +0800
> +@@ -27,7 +27,11 @@
> + #include <fcntl.h>
> + #include <sys/ioctl.h>
> + #include <math.h>
> ++#ifdef HAVE_LIBDL
> + #include <dlfcn.h>
> ++#else
> ++#include <dlmisc.h>
> ++#endif
> + #include "config.h"
> + #include "asoundlib.h"
> + #include "mixer_abst.h"
> +--- /dev/null 2013-11-25 21:32:41.194714253 +0800
> ++++ alsa-lib-1.0.26.bak/include/dlmisc.h 2013-11-25 15:03:11.031307047 +0800
> +@@ -0,0 +1,24 @@
> ++/*
> ++ * This library is free software; you can redistribute it and/or modify
> ++ * it under the terms of the GNU Lesser General Public License as
> ++ * published by the Free Software Foundation; either version 2.1 of
> ++ * the License, or (at your option) any later version.
> ++ *
> ++ * This program is distributed in the hope that it will be useful,
> ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
> ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> ++ * GNU Lesser General Public License for more details.
> ++ *
> ++ * You should have received a copy of the GNU Lesser General Public
> ++ * License along with this library; if not, write to the Free Software
> ++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
> ++ *
> ++ */
> ++
> ++#ifndef __ALSA_DLMISC_H
> ++#define __ALSA_DLMISC_H
> ++
> ++#define RTLD_NOW 0x00002
> ++#define RTLD_GLOBAL 0x00100
> ++
> ++#endif
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
--
Bye, Peter Korsgaard
next prev parent reply other threads:[~2014-02-18 11:28 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-02-12 16:55 [Buildroot] [PATCH 0 of 4] alsa-lib/alsa-utils autobuild fixes Thomas De Schampheleire
2014-02-12 16:55 ` [Buildroot] [PATCH 1 of 4] alsa-lib: add sequence number to existing patches Thomas De Schampheleire
2014-02-12 16:55 ` [Buildroot] [PATCH 2 of 4] alsa-lib: add a fake dlfcn.h header if dynamic load is not supported Thomas De Schampheleire
2014-02-18 11:28 ` Peter Korsgaard [this message]
2014-02-18 13:14 ` Thomas De Schampheleire
2014-02-18 14:14 ` Peter Korsgaard
2014-02-18 14:19 ` Thomas De Schampheleire
2014-02-18 21:11 ` Peter Korsgaard
2014-02-12 16:55 ` [Buildroot] [PATCH 3 of 4] alsa-lib: add patch to remove hardcoded -ldl Thomas De Schampheleire
2014-02-12 16:55 ` [Buildroot] [PATCH 4 of 4] alsa-utils: fix build on no-mmu targets Thomas De Schampheleire
2014-02-18 11:40 ` Peter Korsgaard
2014-02-18 13:47 ` Thomas De Schampheleire
2014-02-18 15:21 ` Thomas Petazzoni
2014-02-18 21:40 ` Peter Korsgaard
2014-02-17 10:37 ` [Buildroot] [PATCH 0 of 4] alsa-lib/alsa-utils autobuild fixes Thomas De Schampheleire
2014-02-22 18:23 ` Thomas Petazzoni
2014-02-23 8:34 ` Thomas De Schampheleire
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=87a9dowtgi.fsf@dell.be.48ers.dk \
--to=jacmet@uclibc.org \
--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