Commit Graph

27 Commits

Author SHA1 Message Date
Thomas De Schampheleire f268f7131b .mk files: bulk aligment and whitespace cleanup of assignments
The Buildroot coding style defines one space around make assignments and
does not align the assignment symbols.

This patch does a bulk fix of offending packages. The package
infrastructures (or more in general assignments to calculated variable
names, like $(2)_FOO) are not touched.

Alignment of line continuation characters (\) is kept as-is.

The sed command used to do this replacement is:
find * -name "*.mk" | xargs sed -i \
    -e 's#^\([A-Z0-9a-z_]\+\)\s*\([?:+]\?=\)\s*$#\1 \2#'
    -e 's#^\([A-Z0-9a-z_]\+\)\s*\([?:+]\?=\)\s*\([^\\]\+\)$#\1 \2 \3#'
    -e 's#^\([A-Z0-9a-z_]\+\)\s*\([?:+]\?=\)\s*\([^\\ \t]\+\s*\\\)\s*$#\1 \2 \3#'
    -e 's#^\([A-Z0-9a-z_]\+\)\s*\([?:+]\?=\)\(\s*\\\)#\1 \2\3#'

Brief explanation of this command:
    ^\([A-Z0-9a-z_]\+\)     a regular variable at the beginning of the line
    \([?:+]\?=\)            any assignment character =, :=, ?=, +=
    \([^\\]\+\)             any string not containing a line continuation
    \([^\\ \t]\+\s*\\\)     string, optional whitespace, followed by a
                            line continuation character
    \(\s*\\\)               optional whitespace, followed by a line
                            continuation character

Hence, the first subexpression handles empty assignments, the second
handles regular assignments, the third handles regular assignments with
line continuation, and the fourth empty assignments with line
continuation.

This expression was tested on following test text: (initial tab not
included)

	FOO     = spaces before
	FOO     =   spaces before and after
	FOO	= tab before
	FOO	  = tab and spaces before
	FOO =	tab after
	FOO =	   tab and spaces after
	FOO =   	spaces and tab after
	FOO =    \
	FOO = bar \
	FOO = bar space    \
	FOO   =		   \
	GENIMAGE_DEPENDENCIES   = host-pkgconf libconfuse
	FOO     += spaces before
	FOO     ?=   spaces before and after
	FOO     :=
	FOO     =
	FOO	=
	FOO	  =
	FOO =
	   $(MAKE1) CROSS_COMPILE=$(TARGET_CROSS) -C
	AT91BOOTSTRAP3_DEFCONFIG = \
	AXEL_DISABLE_I18N=--i18n=0

After this bulk change, following manual fixups were done:
- fix line continuation alignment in cegui06 and spice (the sed
  expression leaves the number of whitespace between the value and line
  continuation character intact, but the whitespace before that could have
  changed, causing misalignment.
- qt5base was reverted, as this package uses extensive alignment which
  actually makes the code more readable.

Finally, the end result was manually reviewed.

Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Cc: Yann E. Morin <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-10-07 15:00:28 +02:00
Jérôme Pouiller 77cf5b5a71 libffi and python: need threads support
libffi depends on pthreads.

Python depends on libffi (it can provide a builtin libffi, but also depends on
pthreads). Thus this patch also disable Python support if toolchain is compiled
w/o treads support.

Fixes http://sysmic.org/~jezz/results/204099dd:

../src/closures.c:119:21: fatal error: pthread.h: No such file or directory

[Peter: fix comment dependencies, add python3]
Signed-off-by: Jérôme Pouiller <jezz@sysmic.org>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-09-13 09:40:48 +02:00
Jerzy Grzegorek c7f4b96471 package: remove the trailing slash sign from <PKG>_SITE variable
Since the trailing slash is stripped from $($(PKG)_SITE) by pkg-generic.mk:

$(call DOWNLOAD,$($(PKG)_SITE:/=)/$($(PKG)_SOURCE))

so it is redundant.
This patch removes it from $(PKG)_SITE variable for BR consistency.

Signed-off-by: Jerzy Grzegorek <jerzy.grzegorek@trzebnica.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-07-31 23:17:46 +02:00
Thomas Petazzoni e5573e7236 libffi: remove some header files installed in /usr/lib in the target
For some reason, libffi installs some header files in
/usr/lib/libffi-<version>/include, which is a non-standard location
and therefore they do not get removed automatically by the
target-finalize logic. This commit adds a post-install hook in
libffi.mk to get rid of these unneeded headers on the target.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-07-01 14:56:51 +02:00
Thomas Petazzoni 5f1fa660ea libffi: bump to 3.1
Status of the patches:

 - libffi-001-Fix-installation-location-of-libffi.patch, preserved.
 - libffi-002-Fix-use-of-compact-eh-frames-on-MIPS.patch, preserved
 - libffi-arc-01-Add-ARC-support.patch, removed, ARC support was
   merged upstream as of commit b082e15091961373c03d10ed0251f619ebb6ed76.
 - libffi-arc-02-Rebuild-for-ARC-additions.patch, removed, this patch
   was merged upstream as of commit
   0f8690a84c874ec09a090c8c6adfb93c594acac6.
 - libffi-003-fix-typo.patch, added, reported on the upstream mailing
   list as being necessary, will be part of the next 3.1.1 release.
 - libffi-004-Add-missing-GNU-stack-markings-in-win32.S.patch, same
   status as patch 003.
 - libffi-005-Fix-paths-in-libffi.pc.in.patch, same status as patch
   003.

The 3.1 release adds support for a number of architectures: ARC
support, ppc64le support, NIOS II support. See
https://sourceware.org/ml/libffi-announce/2014/msg00000.html for
details.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-07-01 14:52:40 +02:00
Alexey Brodkin 34c2afeb75 libffi: back-port support for ARC
Support for ARC CPUs was added in libffi after 3.0.13 vesion was cut and up
until now no new release has been done. So to enale libffi on ARC we need this
set of patches.

These are corrsponding commits in libffi:
 * b082e15091961373c03d10ed0251f619ebb6ed76 - Add ARC support
 * 0f8690a84c874ec09a090c8c6adfb93c594acac6 - Rebuild for ARC additions
 * d918d47809c174d62283306b282749f8db93661f - arc: Fix build error

The first patch was modified a bit (cut changelog part) to accomodate
changes not related to ARC between 3.0.14 and changes in question.

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Signed-off-by: Misca Jonker <mjonker@synopsys.com>

Cc: Peter Korsgaard <peter@korsgaard.com>
Cc: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-05-29 22:15:00 +02:00
Peter Korsgaard 1d341b76c1 package: drop unneeded HOST_<pkg>_AUTORECONF = YES
Since 97c687000 (pkg-autotools.mk: default host AUTORECONF{,_OPT} to the
target values) we automatically enable autoreconf for host builds if it
is enabled for the target, so these can go.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2013-10-04 14:57:38 +02:00
nmenegale 7b5bd3a6dd libffi: minor corrections in post install hooks
In order to be sure that we just deal with the includes related with
the actual package described into libffi.mk it is better to explicitly
specify the version of the libffi we deal with into the post install
hook.
As dev files are deprecated in target rootfs target post install
hook was also deleted.

Signed-off-by: Nicolas Ménégale <nicolas.menegale@openwide.fr>
Reviewed-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-09-02 22:44:19 +02:00
Jérôme Pouiller 98204e8fea libffi: Add -mno-compact-eh when compiling for Mips
Fix compilation on Mips. Resolve issues detected here:
    http://autobuild.buildroot.net/results/f0c9db496233f53c26e92294d7305aa4511ec7b3/
    http://autobuild.buildroot.net/results/8968690c248df86b040218867f92b573721e872c/
    http://autobuild.buildroot.net/results/a35db8e6a49d022133b486b12f6a8e40b3c95b6e/

Also remove previous special case handling defined in libffi.mk.

[Thomas: add Signed-off-by from Jérôme inside the patch itself.]
Signed-off-by: Jérôme Pouiller <jezz@sysmic.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2013-08-10 10:13:42 +02:00
Alexandre Belloni 8dfd59d114 Normalize separator size to 80
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-06-06 22:30:24 +02:00
Gustavo Zacarias 4c2b77b1f9 libffi: bump to version 3.0.13
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-03-19 17:05:14 +01:00
Gustavo Zacarias 00a11f5640 libffi: fix powerpc build breakage
Happens with the latest release when there are no FP registers.
Fixes:
http://autobuild.buildroot.net/results/bc43261d3ddc9d4c320522563249f4a0695a35a4/

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-02-22 20:42:45 +01:00
Peter Korsgaard 192efcdaeb libffi: bump version
It makes more sense to use a released version for 2013.02 rather than a
git snapshot.

The build system now correctly installs libffi.pc, so we can drop the
manual install.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-02-19 09:36:42 +01:00
Thomas Petazzoni 80e47a533b libffi: add patch to fix library installation location
The libffi library was installed in a wrong directory when using the
non-default variant of a multilib toolchain. We fix this by patching
the libffi Makefile.am to install its library in a normal
location. The patch has been submitted upstream.

Fixes:

 http://autobuild.buildroot.org/results/471b1d1547c8d726999ba9a865b87fd75429dcab/build-end.log (dbus-glib)
 http://autobuild.buildroot.org/results/eda3ae14eea61e777511fca561f8d43dc7f4a2a5/build-end.log (shared-mime-info)
 http://autobuild.buildroot.org/results/9c86692ae3485d5ae371c695bfbb4a9b67aa2368/build-end.log (librsvg)
 http://autobuild.buildroot.org/results/affd7f20c95f1019d040e2911877694300e3c876/build-end.log (bustle)

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-02-08 22:30:52 +01:00
Thomas Petazzoni ddd69b5609 libffi: switch to using a Git version, brings Microblaze and Xtensa support
We already had backported patches for the Blackfin and AArch64
support, and now we would have needed to also backport the Xtensa
support and the Microblaze support. This starts to get crazy.

Let's switch to using a Git version from Github, until libffi finally
releases a new stable version.

In order to achieve this, we also need to:

 * autoreconf the package, so that a libffi.pc file gets generated

 * manually install the libffi.pc file, because it doesn't get
   installed by libffi Makefile, for some reason

 * remove the part of the target post install hook that was messing
   with libffi.pc, since it was modifying the one in STAGING_DIR
   (which is odd for a target post install hook), and the libffi.pc
   file is anyway not installed to the target anymore.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-02-05 15:57:02 +01:00
Gustavo Zacarias 4848386446 libffi: fix mips build failures
Fixes
http://autobuild.buildroot.net/results/c4056ed2b969b900f7654e651e0e4cc2e8998e02

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-12-28 16:55:09 +01:00
Thomas Petazzoni cdbb04096b libffi: add aarch64 support from upstream
Fixes build failures like:

  http://autobuild.buildroot.org/results/6b4b4c414d366c936df480747c78272050c84293/build-end.log

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-17 09:17:20 +01:00
Thomas Petazzoni 645f10ac0f libffi: make blackfin patch a proper git patch
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-17 09:17:15 +01:00
Arnout Vandecappelle (Essensium/Mind) 0189bc2744 libffi: add license info
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-14 22:33:55 +01:00
Arnout Vandecappelle (Essensium/Mind) e1502ebc0c all packages: rename XXXTARGETS to xxx-package
Also remove the redundant $(call ...).

This is a purely mechanical change, performed with
find package linux toolchain boot -name \*.mk | \
  xargs sed -i -e 's/$(eval $(call GENTARGETS))/$(eval $(generic-package))/' \
               -e 's/$(eval $(call AUTOTARGETS))/$(eval $(autotools-package))/' \
               -e 's/$(eval $(call CMAKETARGETS))/$(eval $(cmake-package))/'

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-07-17 20:23:05 +02:00
Arnout Vandecappelle (Essensium/Mind) 69e64c42b7 all packages: use new host-xxx-package macros
This is a purely mechanical change, performed with
find package linux toolchain boot -name \*.mk | \
  xargs sed -i -e 's/$(eval $(call GENTARGETS,host))/$(eval $(host-generic-package))/' \
               -e 's/$(eval $(call AUTOTARGETS,host))/$(eval $(host-autotools-package))/' \
               -e 's/$(eval $(call CMAKETARGETS,host))/$(eval $(host-cmake-package))/'

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-07-17 20:18:03 +02:00
Thomas Petazzoni 3d97095601 libffi: bump to 3.0.11 and add blackfin support
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-05-09 00:28:24 +02:00
Sagaert Johan 5dce78c22a libffi: bump version to 3.0.10
Signed-off-by: Sagaert Johan <sagaert.johan@skynet.be>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-03-15 23:33:07 +01:00
Daniel Mack d9c35d5cea libffi: enable host target
libffi is a new requirement for libglib, and as libglib has to be built
for the host as well, libffi has to follow.

Signed-off-by: Daniel Mack <zonque@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-12-11 23:35:07 +01:00
Daniel Mack 22acade2ec libffi: remove invalid variable 'includedir' in .pc file
Fixes the following error:

  Variable 'includedir' not defined in '/home/daniel/buildroot/output/host/usr/arm-unknown-linux-gnueabi/sysroot/usr/lib/pkgconfig/libffi.pc'

Also, use $(SED) instead of 'sed -i'.

Signed-off-by: Daniel Mack <zonque@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-12-11 23:34:48 +01:00
Thomas Petazzoni 300f9c9c9d package: remove useless arguments from AUTOTARGETS
Thanks to the pkgparentdir and pkgname functions, we can rewrite the
AUTOTARGETS macro in a way that avoids the need for each package to
repeat its name and the directory in which it is present.

[Peter: pkgdir->pkgparentdir]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-09-29 23:12:27 +02:00
Thomas Petazzoni 76d9b3e8d7 libffi: new package
libffi is needed by the Python interpreter.

The libffi library provides a portable, high level programming
interface to various calling conventions. This allows a programmer to
call any function specified by a call interface description at
run-time.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2011-01-25 08:59:56 +01:00