From 29d6678fd546377459ef75cf54abeef5b969b5cf Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Fri, 27 Aug 2010 15:14:24 +0100 Subject: Major layout change to the packages directory Having one monolithic packages directory makes it hard to find things and is generally overwhelming. This commit splits it into several logical sections roughly based on function, recipes.txt gives more information about the classifications used. The opportunity is also used to switch from "packages" to "recipes" as used in OpenEmbedded as the term "packages" can be confusing to people and has many different meanings. Not all recipes have been classified yet, this is just a first pass at separating things out. Some packages are moved to meta-extras as they're no longer actively used or maintained. Signed-off-by: Richard Purdie --- .../gmp/gmp-4.2.1/disable-stdc.patch | 31 ++++ meta/recipes-devtools/gmp/gmp.inc | 16 ++ meta/recipes-devtools/gmp/gmp/amd64.patch | 14 ++ meta/recipes-devtools/gmp/gmp/configure.patch | 195 +++++++++++++++++++++ meta/recipes-devtools/gmp/gmp/sh4-asmfix.patch | 26 +++ meta/recipes-devtools/gmp/gmp/use-includedir.patch | 13 ++ meta/recipes-devtools/gmp/gmp_4.2.1.bb | 14 ++ meta/recipes-devtools/gmp/gmp_5.0.1.bb | 7 + 8 files changed, 316 insertions(+) create mode 100644 meta/recipes-devtools/gmp/gmp-4.2.1/disable-stdc.patch create mode 100644 meta/recipes-devtools/gmp/gmp.inc create mode 100644 meta/recipes-devtools/gmp/gmp/amd64.patch create mode 100644 meta/recipes-devtools/gmp/gmp/configure.patch create mode 100644 meta/recipes-devtools/gmp/gmp/sh4-asmfix.patch create mode 100644 meta/recipes-devtools/gmp/gmp/use-includedir.patch create mode 100644 meta/recipes-devtools/gmp/gmp_4.2.1.bb create mode 100644 meta/recipes-devtools/gmp/gmp_5.0.1.bb (limited to 'meta/recipes-devtools/gmp') diff --git a/meta/recipes-devtools/gmp/gmp-4.2.1/disable-stdc.patch b/meta/recipes-devtools/gmp/gmp-4.2.1/disable-stdc.patch new file mode 100644 index 000000000..83c9eae36 --- /dev/null +++ b/meta/recipes-devtools/gmp/gmp-4.2.1/disable-stdc.patch @@ -0,0 +1,31 @@ +# "extern inline" in traditional gcc means that the function should be +# inlined wherever it's seen, while in C99, "extern inline" means that i +# the function should only be inlined where the inline definition is +# seen while in other places it's not inlined: +# http://gcc.gnu.org/ml/gcc/2006-11/msg00006.html +# +# gmp checks "--std=gnu99" to use C99 convention however it internally +# defines some "extern inline" functions in gmp.h, which is included +# by mainly .c files and finally lead a flood of redefinition function +# errors when linking objects together. +# +# So disable C99/ANSI detection to stick to tranditional gcc behavior +# +# by Kevin Tian , 2010-08-13 +# +# (this patch is licensed under GPLv2+) + +diff --git a/configure.in b/configure.in +index 450cc92..aab0b59 100644 +--- a/configure.in ++++ b/configure.in +@@ -1869,9 +1869,7 @@ AC_SUBST(DEFN_LONG_LONG_LIMB) + + # The C compiler and preprocessor, put into ANSI mode if possible. + AC_PROG_CC +-AC_PROG_CC_STDC + AC_PROG_CPP +-GMP_H_ANSI + + + # The C compiler on the build system, and associated tests. diff --git a/meta/recipes-devtools/gmp/gmp.inc b/meta/recipes-devtools/gmp/gmp.inc new file mode 100644 index 000000000..6b56f7e7c --- /dev/null +++ b/meta/recipes-devtools/gmp/gmp.inc @@ -0,0 +1,16 @@ +SECTION = "devel" +DESCRIPTION = "GNU multiprecision arithmetic library" +HOMEPAGE = "http://www.swox.com/gmp/" +LICENSE = "GPLv3 LGPLv3" + +SRC_URI = "ftp://ftp.gnu.org/gnu/gmp/gmp-${PV}.tar.bz2 \ + file://configure.patch \ + file://amd64.patch " + +inherit autotools + +ARM_INSTRUCTION_SET = "arm" + +acpaths = "" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-devtools/gmp/gmp/amd64.patch b/meta/recipes-devtools/gmp/gmp/amd64.patch new file mode 100644 index 000000000..67be9dd35 --- /dev/null +++ b/meta/recipes-devtools/gmp/gmp/amd64.patch @@ -0,0 +1,14 @@ +--- gmp-4.1.4/longlong.h.orig 2004-04-22 00:34:28.000000000 +0200 ++++ gmp-4.1.4/longlong.h 2005-07-18 01:13:06.000000000 +0200 +@@ -738,8 +738,10 @@ + count is only an int. */ + #define count_trailing_zeros(count, x) \ + do { \ ++ UDItype __cbtmp; \ + ASSERT ((x) != 0); \ +- __asm__ ("bsfq %1,%q0" : "=r" (count) : "rm" ((UDItype)(x))); \ ++ __asm__ ("bsfq %1,%0" : "=r" (__cbtmp) : "rm" ((UDItype)(x))); \ ++ (count) = __cbtmp; \ + } while (0) + #endif /* x86_64 */ + diff --git a/meta/recipes-devtools/gmp/gmp/configure.patch b/meta/recipes-devtools/gmp/gmp/configure.patch new file mode 100644 index 000000000..ed0c02d86 --- /dev/null +++ b/meta/recipes-devtools/gmp/gmp/configure.patch @@ -0,0 +1,195 @@ + acinclude.m4 | 26 ++++++++++++++------------ + configure.in | 24 +++++++++--------------- + 2 files changed, 23 insertions(+), 27 deletions(-) + +Index: gmp-5.0.1/acinclude.m4 +=================================================================== +--- gmp-5.0.1.orig/acinclude.m4 ++++ gmp-5.0.1/acinclude.m4 +@@ -30,20 +30,20 @@ dnl a_out.exe - OpenVMS DEC C called + dnl conftest.exe - various DOS compilers + + +-define(IA64_PATTERN, ++define([IA64_PATTERN], + [[ia64*-*-* | itanium-*-* | itanium2-*-*]]) + + dnl Need to be careful not to match m6811, m6812, m68hc11 and m68hc12, all + dnl of which config.sub accepts. (Though none of which are likely to work + dnl with GMP.) + dnl +-define(M68K_PATTERN, ++define([M68K_PATTERN], + [[m68k-*-* | m68[0-9][0-9][0-9]-*-*]]) + +-define(POWERPC64_PATTERN, ++define([POWERPC64_PATTERN], + [[powerpc64-*-* | powerpc64le-*-* | powerpc620-*-* | powerpc630-*-* | powerpc970-*-* | power[3-9]-*-*]]) + +-define(X86_PATTERN, ++define([X86_PATTERN], + [[i?86*-*-* | k[5-8]*-*-* | pentium*-*-* | athlon-*-* | viac3*-*-* | geode*-*-* | atom-*-*]]) + + define(X86_64_PATTERN, +@@ -64,7 +64,7 @@ dnl x86 -> x86 + dnl x86/k6 -> k6 + dnl x86/k6/mmx -> k6_mmx + +-define(GMP_FAT_SUFFIX, ++define([GMP_FAT_SUFFIX], + [[$1=`echo $2 | sed -e '/\//s:^[^/]*/::' -e 's:[\\/]:_:g'`]]) + + +@@ -73,7 +73,7 @@ dnl ---------------------------------- + dnl Emit code to remove any occurrence of ITEM from $LISTVAR. ITEM can be a + dnl shell expression like $foo if desired. + +-define(GMP_REMOVE_FROM_LIST, ++define([GMP_REMOVE_FROM_LIST], + [remove_from_list_tmp= + for remove_from_list_i in $[][$1]; do + if test $remove_from_list_i = [$2]; then :; +@@ -89,12 +89,12 @@ dnl GMP_STRIP_PATH(subdir) + dnl ---------------------- + dnl Strip entries */subdir from $path and $fat_path. + +-define(GMP_STRIP_PATH, ++define([GMP_STRIP_PATH], + [GMP_STRIP_PATH_VAR(path, [$1]) + GMP_STRIP_PATH_VAR(fat_path, [$1]) + ]) + +-define(GMP_STRIP_PATH_VAR, ++define([GMP_STRIP_PATH_VAR], + [tmp_path= + for i in $[][$1]; do + case $i in +@@ -115,7 +115,7 @@ dnl + dnl Dummy value for GMP_LIMB_BITS is enough + dnl for all current configure-time uses of gmp.h. + +-define(GMP_INCLUDE_GMP_H, ++define([GMP_INCLUDE_GMP_H], + [[#define __GMP_WITHIN_CONFIGURE 1 /* ignore template stuff */ + #define GMP_NAIL_BITS $GMP_NAIL_BITS + #define GMP_LIMB_BITS 123 +@@ -130,7 +130,7 @@ dnl Expand at autoconf time to the valu + dnl FILE. The regexps here aren't very rugged, but are enough for gmp. + dnl /dev/null as a parameter prevents a hang if $2 is accidentally omitted. + +-define(GMP_HEADER_GETVAL, ++define([GMP_HEADER_GETVAL], + [patsubst(patsubst( + esyscmd([grep "^#define $1 " $2 /dev/null 2>/dev/null]), + [^.*$1[ ]+],[]), +@@ -144,7 +144,7 @@ dnl The gmp version number, extracted f + dnl autoconf time. Two digits like 3.0 if patchlevel <= 0, or three digits + dnl like 3.0.1 if patchlevel > 0. + +-define(GMP_VERSION, ++define([GMP_VERSION], + [GMP_HEADER_GETVAL(__GNU_MP_VERSION,gmp-h.in)[]dnl + .GMP_HEADER_GETVAL(__GNU_MP_VERSION_MINOR,gmp-h.in)[]dnl + .GMP_HEADER_GETVAL(__GNU_MP_VERSION_PATCHLEVEL,gmp-h.in)]) +@@ -1506,7 +1506,9 @@ esac + echo ["define(,<\`$tmp'>)"] >>$gmp_tmpconfigm4 + + # All CPUs use asm-defs.m4 +-echo ["include][(CONFIG_TOP_SRCDIR\`/mpn/asm-defs.m4')"] >>$gmp_tmpconfigm4i ++echo -n ["include("] >>$gmp_tmpconfigm4i ++echo -n ["CONFIG_TOP_SRCDIR\`/mpn/asm-defs.m4'"] >>$gmp_tmpconfigm4i ++echo [")"] >>$gmp_tmpconfigm4i + ]) + + +Index: gmp-5.0.1/configure.in +=================================================================== +--- gmp-5.0.1.orig/configure.in ++++ gmp-5.0.1/configure.in +@@ -29,12 +29,6 @@ AC_REVISION($Revision$) + AC_PREREQ(2.59) + AC_INIT(GNU MP, GMP_VERSION, gmp-bugs@gmplib.org, gmp) + AC_CONFIG_SRCDIR(gmp-impl.h) +-m4_pattern_forbid([^[ \t]*GMP_]) +-m4_pattern_allow(GMP_LDFLAGS) +-m4_pattern_allow(GMP_LIMB_BITS) +-m4_pattern_allow(GMP_MPARAM_H_SUGGEST) +-m4_pattern_allow(GMP_NAIL_BITS) +-m4_pattern_allow(GMP_NUMB_BITS) + + # If --target is not used then $target_alias is empty, but if say + # "./configure athlon-pc-freebsd3.5" is used, then all three of +@@ -303,7 +297,7 @@ AH_VERBATIM([HAVE_HOST_CPU_1], + # After GMP specific searches and tests, the standard autoconf AC_PROG_CC is + # called. User selections of CC etc are respected. + # +-# Care is taken not to use macros like AC_TRY_COMPILE during the GMP ++# Care is taken not to use macros like AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[]])],[],[]) during the GMP + # pre-testing, since they of course depend on AC_PROG_CC, and also some of + # them cache their results, which is not wanted. + # +@@ -395,7 +389,7 @@ abilist="standard" + # FIXME: We'd like to prefer an ANSI compiler, perhaps by preferring + # c89 over cc here. But note that on HP-UX c89 provides a castrated + # environment, and would want to be excluded somehow. Maybe +-# AC_PROG_CC_STDC already does enough to stick cc into ANSI mode and ++# already does enough to stick cc into ANSI mode and + # we don't need to worry. + # + cclist="gcc cc" +@@ -1580,7 +1574,7 @@ esac + CFLAGS_or_unset=${CFLAGS-'(unset)'} + CPPFLAGS_or_unset=${CPPFLAGS-'(unset)'} + +-cat >&AC_FD_CC <&AS_MESSAGE_LOG_FD() <&AC_FD_CC ++ echo "CXXFLAGS chosen by autoconf: $CXXFLAGS" >&AS_MESSAGE_LOG_FD() + cxxflags_ac_prog_cxx=$CXXFLAGS + cxxflags_list=ac_prog_cxx + +@@ -2120,7 +2113,7 @@ case $host in + esac + + +-cat >&AC_FD_CC <&AS_MESSAGE_LOG_FD() <