summaryrefslogtreecommitdiff
path: root/packages/gmp
diff options
context:
space:
mode:
authorRichard Purdie <rpurdie@rpsys.net>2006-11-06 21:43:56 +0000
committerRichard Purdie <rpurdie@rpsys.net>2006-11-06 21:43:56 +0000
commit78b090a6db5d3237dd062af9cb6d7e4c860fc435 (patch)
treee4c23e3d26720278aeba4d2f896b979666410f88 /packages/gmp
parente37ddf6842faf9b3421fa4ab688944a20f0bba94 (diff)
gmp: Refactor into inc files, add 4.2.1 (partly from #1130)
Diffstat (limited to 'packages/gmp')
-rw-r--r--packages/gmp/gmp-4.2.1/.mtn2git_empty0
-rw-r--r--packages/gmp/gmp-4.2.1/amd64.patch14
-rw-r--r--packages/gmp/gmp-4.2.1/configure.patch195
-rw-r--r--packages/gmp/gmp-4.2.1/sh4-asmfix.patch26
-rw-r--r--packages/gmp/gmp-native.inc23
-rw-r--r--packages/gmp/gmp-native_4.1.2.bb25
-rw-r--r--packages/gmp/gmp-native_4.2.1.bb2
-rw-r--r--packages/gmp/gmp.inc16
-rw-r--r--packages/gmp/gmp_4.1.2.bb19
-rw-r--r--packages/gmp/gmp_4.1.4.bb18
-rw-r--r--packages/gmp/gmp_4.2.1.bb3
11 files changed, 285 insertions, 56 deletions
diff --git a/packages/gmp/gmp-4.2.1/.mtn2git_empty b/packages/gmp/gmp-4.2.1/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/gmp/gmp-4.2.1/.mtn2git_empty
diff --git a/packages/gmp/gmp-4.2.1/amd64.patch b/packages/gmp/gmp-4.2.1/amd64.patch
new file mode 100644
index 0000000000..67be9dd350
--- /dev/null
+++ b/packages/gmp/gmp-4.2.1/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/packages/gmp/gmp-4.2.1/configure.patch b/packages/gmp/gmp-4.2.1/configure.patch
new file mode 100644
index 0000000000..08f2172479
--- /dev/null
+++ b/packages/gmp/gmp-4.2.1/configure.patch
@@ -0,0 +1,195 @@
+ acinclude.m4 | 26 ++++++++++++++------------
+ configure.in | 24 +++++++++---------------
+ 2 files changed, 23 insertions(+), 27 deletions(-)
+
+Index: gmp-4.2.1/acinclude.m4
+===================================================================
+--- gmp-4.2.1.orig/acinclude.m4 2006-05-04 17:39:01.000000000 +0100
++++ gmp-4.2.1/acinclude.m4 2006-11-06 20:36:14.000000000 +0000
+@@ -32,20 +32,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*-*-*]])
+
+
+@@ -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 occurance 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 values for __GMP_BITS_PER_MP_LIMB and GMP_LIMB_BITS are 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_BITS_PER_MP_LIMB 123 /* dummy for GMP_NUMB_BITS etc */
+@@ -131,7 +131,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[ ]+],[]),
+@@ -145,7 +145,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
+ ifelse(m4_eval(GMP_HEADER_GETVAL(__GNU_MP_VERSION_PATCHLEVEL,gmp-h.in) > 0),1,
+@@ -1491,7 +1491,9 @@ esac
+ echo ["define(<CONFIG_TOP_SRCDIR>,<\`$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-4.2.1/configure.in
+===================================================================
+--- gmp-4.2.1.orig/configure.in 2006-04-30 00:31:08.000000000 +0100
++++ gmp-4.2.1/configure.in 2006-11-06 20:39:17.000000000 +0000
+@@ -31,12 +31,6 @@ AC_REVISION($Revision: 1.11 $)
+ AC_PREREQ(2.59)
+ AC_INIT(GNU MP, GMP_VERSION, gmp-bugs@swox.com, 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
+@@ -277,7 +271,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.
+ #
+@@ -369,7 +363,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"
+@@ -1498,7 +1492,7 @@ esac
+ CFLAGS_or_unset=${CFLAGS-'(unset)'}
+ CPPFLAGS_or_unset=${CPPFLAGS-'(unset)'}
+
+-cat >&AC_FD_CC <<EOF
++cat >&AS_MESSAGE_LOG_FD() <<EOF
+ User:
+ ABI=$ABI
+ CC=$CC
+@@ -1869,7 +1863,6 @@ 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
+
+@@ -1892,11 +1885,11 @@ AC_SUBST(CCAS)
+
+ # The C++ compiler, if desired.
+ want_cxx=no
++AC_PROG_CXX
+ if test $enable_cxx != no; then
+ test_CXXFLAGS=${CXXFLAGS+set}
+- AC_PROG_CXX
+
+- echo "CXXFLAGS chosen by autoconf: $CXXFLAGS" >&AC_FD_CC
++ echo "CXXFLAGS chosen by autoconf: $CXXFLAGS" >&AS_MESSAGE_LOG_FD()
+ cxxflags_ac_prog_cxx=$CXXFLAGS
+ cxxflags_list=ac_prog_cxx
+
+@@ -2002,7 +1995,7 @@ case $host in
+ esac
+
+
+-cat >&AC_FD_CC <<EOF
++cat >&AS_MESSAGE_LOG_FD() <<EOF
+ Decided:
+ ABI=$ABI
+ CC=$CC
+@@ -3175,7 +3168,7 @@ GMP_FINISH
+ # FIXME: Upcoming version of autoconf/automake may not like broken lines.
+ # Right now automake isn't accepting the new AC_CONFIG_FILES scheme.
+
+-AC_OUTPUT(Makefile \
++AC_CONFIG_FILES([Makefile \
+ mpbsd/Makefile mpf/Makefile mpn/Makefile mpq/Makefile \
+ mpz/Makefile printf/Makefile scanf/Makefile cxx/Makefile \
+ tests/Makefile tests/devel/Makefile tests/mpbsd/Makefile \
+@@ -3184,4 +3177,5 @@ AC_OUTPUT(Makefile \
+ tests/cxx/Makefile \
+ doc/Makefile tune/Makefile \
+ demos/Makefile demos/calc/Makefile demos/expr/Makefile \
+- gmp.h:gmp-h.in mp.h:mp-h.in)
++ gmp.h:gmp-h.in mp.h:mp-h.in])
++AC_OUTPUT
diff --git a/packages/gmp/gmp-4.2.1/sh4-asmfix.patch b/packages/gmp/gmp-4.2.1/sh4-asmfix.patch
new file mode 100644
index 0000000000..1a01f61533
--- /dev/null
+++ b/packages/gmp/gmp-4.2.1/sh4-asmfix.patch
@@ -0,0 +1,26 @@
+--- gmp-4.1.4/mpn/sh/add_n.s 2005/11/17 08:44:00 1.1
++++ gmp-4.1.4/mpn/sh/add_n.s 2005/11/17 08:18:57
+@@ -29,8 +29,8 @@
+
+ .text
+ .align 2
+- .global ___gmpn_add_n
+-___gmpn_add_n:
++ .global __gmpn_add_n
++__gmpn_add_n:
+ mov #0,r3 ! clear cy save reg
+
+ Loop: mov.l @r5+,r1
+--- gmp-4.1.4/mpn/sh/sub_n.s 2005/11/17 08:44:04 1.1
++++ gmp-4.1.4/mpn/sh/sub_n.s 2005/11/17 08:18:59
+@@ -29,8 +29,8 @@
+
+ .text
+ .align 2
+- .global ___gmpn_sub_n
+-___gmpn_sub_n:
++ .global __gmpn_sub_n
++__gmpn_sub_n:
+ mov #0,r3 ! clear cy save reg
+
+ Loop: mov.l @r5+,r1
diff --git a/packages/gmp/gmp-native.inc b/packages/gmp/gmp-native.inc
new file mode 100644
index 0000000000..c3d36e0fdb
--- /dev/null
+++ b/packages/gmp/gmp-native.inc
@@ -0,0 +1,23 @@
+require gmp_${PV}.bb
+
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/gmp-${PV}"
+S = "${WORKDIR}/gmp-${PV}"
+
+inherit native
+
+# darwin 'hacks'
+EXTRA_OECONF_build-darwin = " --enable-shared "
+OLD_STAGING := "${STAGING_BINDIR}"
+OLD_TARGET := "${TARGET_SYS}"
+OLD_HOST := "${HOST_SYS}"
+OLD_BUILD := "${BUILD_SYS}"
+
+PATH_prepend_build-darwin = "${OLD_STAGING}/${OLD_HOST}:${OLD_STAGING}:"
+
+TARGET_SYS_build-darwin = "none-apple-darwin"
+HOST_SYS_build-darwin = "none-apple-darwin"
+BUILD_SYS_build-darwin = "none-apple-darwin"
+
+do_compile_append_build-darwin() {
+ oe_runmake check
+}
diff --git a/packages/gmp/gmp-native_4.1.2.bb b/packages/gmp/gmp-native_4.1.2.bb
index c3d36e0fdb..14e8587154 100644
--- a/packages/gmp/gmp-native_4.1.2.bb
+++ b/packages/gmp/gmp-native_4.1.2.bb
@@ -1,23 +1,2 @@
-require gmp_${PV}.bb
-
-FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/gmp-${PV}"
-S = "${WORKDIR}/gmp-${PV}"
-
-inherit native
-
-# darwin 'hacks'
-EXTRA_OECONF_build-darwin = " --enable-shared "
-OLD_STAGING := "${STAGING_BINDIR}"
-OLD_TARGET := "${TARGET_SYS}"
-OLD_HOST := "${HOST_SYS}"
-OLD_BUILD := "${BUILD_SYS}"
-
-PATH_prepend_build-darwin = "${OLD_STAGING}/${OLD_HOST}:${OLD_STAGING}:"
-
-TARGET_SYS_build-darwin = "none-apple-darwin"
-HOST_SYS_build-darwin = "none-apple-darwin"
-BUILD_SYS_build-darwin = "none-apple-darwin"
-
-do_compile_append_build-darwin() {
- oe_runmake check
-}
+PV = "4.1.2"
+require gmp-native.inc
diff --git a/packages/gmp/gmp-native_4.2.1.bb b/packages/gmp/gmp-native_4.2.1.bb
new file mode 100644
index 0000000000..8594f2cb0b
--- /dev/null
+++ b/packages/gmp/gmp-native_4.2.1.bb
@@ -0,0 +1,2 @@
+PV = "4.2.1"
+require gmp-native.inc
diff --git a/packages/gmp/gmp.inc b/packages/gmp/gmp.inc
new file mode 100644
index 0000000000..ad179165f3
--- /dev/null
+++ b/packages/gmp/gmp.inc
@@ -0,0 +1,16 @@
+SECTION = "libs"
+DESCRIPTION = "GNU multiprecision arithmetic library"
+HOMEPAGE = "http://www.swox.com/gmp/"
+LICENSE = "GPL LGPL"
+
+SRC_URI = "ftp://ftp.gnu.org/gnu/gmp/gmp-${PV}.tar.bz2 \
+ file://configure.patch;patch=1 \
+ file://amd64.patch;patch=1"
+
+inherit autotools
+
+acpaths = ""
+
+do_stage () {
+ autotools_stage_all
+}
diff --git a/packages/gmp/gmp_4.1.2.bb b/packages/gmp/gmp_4.1.2.bb
index d7456175a1..45b2672ee7 100644
--- a/packages/gmp/gmp_4.1.2.bb
+++ b/packages/gmp/gmp_4.1.2.bb
@@ -1,18 +1,3 @@
-SECTION = "libs"
-DESCRIPTION = "GNU multiprecision arithmetic library"
-HOMEPAGE = "http://www.swox.com/gmp/"
-LICENSE = "GPL LGPL"
+require gmp.inc
-SRC_URI = "ftp://mirrors.kernel.org/gnu/gmp/gmp-${PV}.tar.gz \
- file://configure.patch;patch=1 \
- file://amd64.patch;patch=1 \
- file://gcc-compile.patch;patch=1 "
-
-inherit autotools
-
-acpaths = ""
-
-do_stage () {
- oe_libinstall -so libgmp ${STAGING_LIBDIR}
- install -m 0644 ${S}/gmp.h ${STAGING_INCDIR}/gmp.h
-}
+SRC_URI += "file://gcc-compile.patch;patch=1" \ No newline at end of file
diff --git a/packages/gmp/gmp_4.1.4.bb b/packages/gmp/gmp_4.1.4.bb
index d80e728dc4..0b32f552e7 100644
--- a/packages/gmp/gmp_4.1.4.bb
+++ b/packages/gmp/gmp_4.1.4.bb
@@ -1,19 +1,5 @@
-SECTION = "libs"
-DESCRIPTION = "GNU multiprecision arithmetic library"
-HOMEPAGE = "http://www.swox.com/gmp/"
-LICENSE = "GPL LGPL"
+require gmp.inc
PR = "r1"
-SRC_URI = "ftp://ftp.gnu.org/gnu/gmp/gmp-${PV}.tar.bz2 \
- file://configure.patch;patch=1 \
- file://amd64.patch;patch=1 \
- file://sh4-asmfix.patch;patch=1"
-
-inherit autotools
-
-acpaths = ""
-
-do_stage () {
- autotools_stage_all
-}
+SRC_URI += "file://sh4-asmfix.patch;patch=1" \ No newline at end of file
diff --git a/packages/gmp/gmp_4.2.1.bb b/packages/gmp/gmp_4.2.1.bb
new file mode 100644
index 0000000000..6af2db66a4
--- /dev/null
+++ b/packages/gmp/gmp_4.2.1.bb
@@ -0,0 +1,3 @@
+require gmp.inc
+
+SRC_URI += "file://sh4-asmfix.patch;patch=1" \ No newline at end of file