Go to file
Thomas Petazzoni 6ae3ce9585 mplayer: fix detection of X.org
As reported in bug #8206, the mplayer configure script fails to detect
the availability of X11 header/library if the X.org development packages
are not installed on the build machine.

This is due to the logic used by the mplayer configure script, which
looks like this:

  for I in $(echo $extra_cflags | sed s/-I//g) /usr/include ; do
    if test -f "$I/X11/Xlib.h" ; then
      _x11_headers="yes"

So, in other words, it:

 1/ Parses the --extra-cflags option, and finds the -I options in there.

 2/ Looks in /usr/include

Since $(STAGING_DIR)/usr/include is in the compiler built-in search path
for headers, we currently don't explicitly pass it in --extra-cflags, so
mplayer only looks in /usr/include. If you have X11 headers there thanks
to being installed on your build machine, everything works fine (the
rest of the build logic really uses the headers and libraries of the
cross-compiler). But if you don't have X11 headers in /usr/include, the
configure scripts assumes X11 is not available.

Since fixing the hand-written configure script of mplayer, hosted in a
Subversion repository, is beyond sanity, we simply work around this
problem by passing the appropriate -I$(STAGING_DIR)/usr/include option
in --extra-cflags.

Before this patch, during the configure script:

Checking for X11 headers presence ... no (check if the dev(el) packages are installed)
Checking for X11 ... no (check if the dev(el) packages are installed)

And then, the mplayer binary:

 0x00000001 (NEEDED)                     Shared library: [librt.so.0]
 0x00000001 (NEEDED)                     Shared library: [libz.so.1]
 0x00000001 (NEEDED)                     Shared library: [libpthread.so.0]
 0x00000001 (NEEDED)                     Shared library: [libdl.so.0]
 0x00000001 (NEEDED)                     Shared library: [libm.so.0]
 0x00000001 (NEEDED)                     Shared library: [libc.so.0]

With this patch, during the configure script:

Checking for X11 headers presence ... yes
Checking for X11 ... yes

And then, the mplayer binary:

 0x00000001 (NEEDED)                     Shared library: [librt.so.0]
 0x00000001 (NEEDED)                     Shared library: [libz.so.1]
 0x00000001 (NEEDED)                     Shared library: [libpthread.so.0]
 0x00000001 (NEEDED)                     Shared library: [libdl.so.0]
 0x00000001 (NEEDED)                     Shared library: [libm.so.0]
 0x00000001 (NEEDED)                     Shared library: [libXext.so.6]
 0x00000001 (NEEDED)                     Shared library: [libX11.so.6]
 0x00000001 (NEEDED)                     Shared library: [libXinerama.so.1]
 0x00000001 (NEEDED)                     Shared library: [libXxf86vm.so.1]
 0x00000001 (NEEDED)                     Shared library: [libc.so.0]

Fixes bug #8206

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-08-31 23:28:52 +02:00
arch bfin: change default to bf532, internal toolchain !bf6xx 2016-08-27 23:07:11 +02:00
board zynq: enable BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG 2016-08-29 23:29:37 +02:00
boot barebox: fix ARCH value for arm64 2016-08-16 08:05:05 +02:00
configs zynq: enable BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG 2016-08-29 23:29:37 +02:00
docs Update for 2016.08-rc3 2016-08-30 08:18:50 +02:00
fs fs/common: add option to execute custom scripts under fakeroot 2016-07-03 20:58:46 +02:00
linux linux: bump defaut to version 4.7.2 2016-08-20 22:33:11 +02:00
package mplayer: fix detection of X.org 2016-08-31 23:28:52 +02:00
support docs: libtool patches are not handled by legal-info infrastructure. 2016-08-19 23:16:23 +02:00
system system: sysvinit needs MMU 2016-08-14 16:11:46 +02:00
toolchain bfin: change default to bf532, internal toolchain !bf6xx 2016-08-27 23:07:11 +02:00
.defconfig arch/x86: remove support for i386 2016-04-18 23:38:34 +02:00
.gitignore
CHANGES Update for 2016.08-rc3 2016-08-30 08:18:50 +02:00
Config.in core: move reproducible option to advanced sub-menu 2016-08-25 21:01:03 +02:00
Config.in.legacy legacy: properly handle systemd compatibility libs 2016-07-16 16:47:39 +02:00
COPYING COPYING: add exception about patch licensing 2016-02-26 19:50:13 +01:00
Makefile Update for 2016.08-rc3 2016-08-30 08:18:50 +02:00
Makefile.legacy
README README: add reference to submitting-patches 2016-02-01 19:16:08 +01:00

Buildroot is a simple, efficient and easy-to-use tool to generate embedded
Linux systems through cross-compilation.

The documentation can be found in docs/manual. You can generate a text
document with 'make manual-text' and read output/docs/manual/manual.text.
Online documentation can be found at http://buildroot.org/docs.html

To build and use the buildroot stuff, do the following:

1) run 'make menuconfig'
2) select the target architecture and the packages you wish to compile
3) run 'make'
4) wait while it compiles
5) find the kernel, bootloader, root filesystem, etc. in output/images

You do not need to be root to build or run buildroot.  Have fun!

Buildroot comes with a basic configuration for a number of boards. Run
'make list-defconfigs' to view the list of provided configurations.

Please feed suggestions, bug reports, insults, and bribes back to the
buildroot mailing list: buildroot@buildroot.org
You can also find us on #buildroot on Freenode IRC.

If you would like to contribute patches, please read
https://buildroot.org/manual.html#submitting-patches