Contents of /trunk/core/gmp/gmp-6.1.2-r2.smage2
Parent Directory | Revision Log
Revision 28605 -
(show annotations)
(download)
Mon Jan 9 10:00:44 2017 UTC (7 years, 8 months ago) by niro
File size: 2973 byte(s)
Mon Jan 9 10:00:44 2017 UTC (7 years, 8 months ago) by niro
File size: 2973 byte(s)
-linux-libc-headers-4.8.15, binutils-2.27, glibc-2.24, gcc-6.3.0 toolchain - stage2
1 | # $Id$ |
2 | |
3 | PNAME="gmp" |
4 | PVER="6.1.2" |
5 | PBUILD="r2" |
6 | |
7 | PCAT="dev-libs" |
8 | |
9 | DESCRIPTION="GMP is a free library for arbitrary precision arithmetic, operating on signed integers, rational numbers, and floating point numbers." |
10 | HOMEPAGE="http://gmplib.org/" |
11 | |
12 | DEPEND=">= virtual/glibc |
13 | >= sys-libs/libstdc++-6.3" |
14 | |
15 | SRCFILE="${PNAME}-${PVER}.tar.xz" |
16 | SRCDIR="${BUILDDIR}/${PNAME}-${PVER}" |
17 | |
18 | # not multilib.sminc compat, don't use it! |
19 | sminclude mbuild mtools |
20 | |
21 | SRC_URI=( |
22 | https://gmplib.org/download/${PNAME}/${SRCFILE} |
23 | mirror://${PNAME}/${SRCFILE} |
24 | ) |
25 | |
26 | UP2DATE="updatecmd_gnu ${PNAME}" |
27 | |
28 | src_compile() |
29 | { |
30 | install -d ${SRCDIR}/build |
31 | cd ${SRCDIR}/build |
32 | CPPFLAGS="-fexceptions" \ |
33 | CC="gcc" \ |
34 | CXX="g++" \ |
35 | LDFLAGS="-Wl,-rpath-link,/$(mlibdir)" \ |
36 | ../configure \ |
37 | --build=${CHOST} \ |
38 | --host=${CHOST} \ |
39 | --prefix=/usr \ |
40 | --mandir=/usr/share/man \ |
41 | --infodir=/usr/share/info \ |
42 | --libdir=/usr/$(mlibdir) \ |
43 | --enable-mpbsd \ |
44 | --enable-cxx \ |
45 | || die |
46 | mmake || die |
47 | |
48 | # build 32bit libraries for multilib systems |
49 | if [[ ${ARCH} = x86_64 ]] |
50 | then |
51 | install -d ${SRCDIR}/build-m32 |
52 | cd ${SRCDIR}/build-m32 |
53 | CPPFLAGS="-fexceptions" \ |
54 | ABI=32 \ |
55 | CC="gcc -m${ABI}" \ |
56 | CXX="g++ -m${ABI}" \ |
57 | LDFLAGS="-Wl,-rpath-link,/lib -m${ABI}" \ |
58 | ../configure \ |
59 | --build=${CHOST} \ |
60 | --host=${CHOST} \ |
61 | --prefix=/usr \ |
62 | --mandir=/usr/share/man \ |
63 | --infodir=/usr/share/info \ |
64 | --libdir=/usr/lib \ |
65 | --enable-mpbsd \ |
66 | --enable-cxx \ |
67 | || die |
68 | mmake || die |
69 | fi |
70 | } |
71 | |
72 | src_check() |
73 | { |
74 | cd ${SRCDIR}/build |
75 | make -k check || die |
76 | |
77 | if [[ ${ARCH} = x86_64 ]] |
78 | then |
79 | cd ${SRCDIR}/build-m32 |
80 | make -k check || die |
81 | fi |
82 | } |
83 | |
84 | src_install() |
85 | { |
86 | cd ${SRCDIR}/build |
87 | make DESTDIR=${BINDIR} install || die |
88 | |
89 | # build 32bit libraries for multilib systems |
90 | if [[ ${ARCH} = x86_64 ]] |
91 | then |
92 | # move the 64bit header |
93 | mv ${BINDIR}/usr/include/gmp{,-64}.h || die |
94 | minstallfile gmp-mparam.h /usr/include/gmp-mparam-64.h || die |
95 | |
96 | cd ${SRCDIR}/build-m32 |
97 | make DESTDIR=${BINDIR} install || die |
98 | |
99 | # move the 32bit header |
100 | mv ${BINDIR}/usr/include/gmp{,-32}.h || die |
101 | minstallfile gmp-mparam.h /usr/include/gmp-mparam-32.h || die |
102 | |
103 | # create a wrapper header |
104 | cat > ${BINDIR}/usr/include/gmp.h << "EOF" |
105 | /* gmp.h - Stub Header */ |
106 | #ifndef __STUB__GMP_H__ |
107 | #define __STUB__GMP_H__ |
108 | |
109 | #if defined(__x86_64__) || \ |
110 | defined(__sparc64__) || \ |
111 | defined(__arch64__) || \ |
112 | defined(__powerpc64__) || \ |
113 | defined (__s390x__) |
114 | # include "gmp-64.h" |
115 | #else |
116 | # include "gmp-32.h" |
117 | #endif |
118 | |
119 | #endif /* __STUB__GMP_H__ */ |
120 | EOF |
121 | # create a wrapper header |
122 | cat > ${BINDIR}/usr/include/gmp-mparam.h << "EOF" |
123 | /* gmp-mparam.h - Stub Header */ |
124 | #ifndef __STUB__GMP_MPARAM_H__ |
125 | #define __STUB__GMP_MPARAM_H__ |
126 | |
127 | #if defined(__x86_64__) || \ |
128 | defined(__sparc64__) || \ |
129 | defined(__arch64__) || \ |
130 | defined(__powerpc64__) || \ |
131 | defined (__s390x__) |
132 | # include "gmp-mparam-64.h" |
133 | #else |
134 | # include "gmp-mparam-32.h" |
135 | #endif |
136 | |
137 | #endif /* __STUB__GMP_MPARAM_H__ */ |
138 | EOF |
139 | fi |
140 | |
141 | cd ${SRCDIR} |
142 | minstalldocs AUTHORS COPYING* ChangeLog NEWS README || die |
143 | } |