[dev-libs/libtom{crypt,math}] convert to autotools-multilib, static-libs support is incomplete (i. e. not working)

This commit is contained in:
2013-11-11 19:34:13 +01:00
parent 76c77d3e51
commit d68351f517
5 changed files with 224 additions and 37 deletions

View File

@@ -0,0 +1,15 @@
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
AUX libtommath-0.42.0-makefile.patch 1694 SHA256 de23b0b66ed4f51d0831bb4b1e7affd06e5adcee9b83dccf5144c2a40491d8bc SHA512 3ba5253df119d57e598167d4ea0c3cbc000c50395598a953462d24e21832d41bdb16631688a99266f533e133fa39a58cc271e32d05e61b3756697ddb06898999 WHIRLPOOL cf79bc2234f5aa9e831024588d671510a36f3ac50c461f590a006eb60491baffff4b46a30154cb56ea3e2c2e3eee548e075fc16911f26e1a4739a3527d2f78f7
DIST ltm-0.42.0.tar.bz2 1968961 SHA256 7b5c258304c34ac5901cfddb9f809b9b3b8ac7d04f700cf006ac766a923eb217 SHA512 c5bb26a260477de4e9abee9f65735754efa69c39c89caa3a06dd8ad3eda9d27fff687a432e91e3410b2bcc6a9e3d59921b6cdf6ca7f1ca6c69ed199a002e5790 WHIRLPOOL dd9879213b64d64f70620f98edfd027565a9cdf68dea03e427b0c1055f58347aa2ce9ad6f29b854b6aa50631e68bef29adc882d9db28cc73cb033ea6f3cae98f
EBUILD libtommath-0.42.0-r1.ebuild 1541 SHA256 99810bc599a314089cc1f78115a3e57166e1b5c7af599399c733e22bcdbfa7d1 SHA512 0250add0fc594788e3629ad7678270287476d0746a3265c9a0cafa1cc07c07b7820e620c3a05054389a666977121ce7e700fc1ebb975b5b377041b3c9d0ea9ad WHIRLPOOL df1e048965cc96664654c94bf963de18465689c3484032a8f5d17e635c59a0c0eba12cda54bd814f15744227ba84441e9472dcaadfc9df85280db4600f5bd187
MISC ChangeLog 8737 SHA256 61b952cec22f8976cc2a3875e632fc4ad78ba0bc298a276a7048c8bfe7b4fa8f SHA512 c2cac7da8e4f6324c5347b502bc2b5316874ecfaffa2afedd29fee2f4710f28017f9c3940739f0993fbc8e8d214f383bc76f70063482273ad9ab3f8b21aa558f WHIRLPOOL 3a63430fc4b9f95e81caded9a785780d0737938a55a93248ff6f0ce90c253d3c87c0241fa7656e58cb5dab4ac10b71e515fb33567b3e0ac287ab3a51210a1d0d
MISC metadata.xml 2807 SHA256 4a7cd44076cbebb0f35f85765cc1052f665fd794be88d2603de91b5cae1c2218 SHA512 b9a21d9216eb4c69debbbc3fc9b5e2e53d422a374f3de49acc4eb7045bd0ff6377bf1ebbb4f13ea4888eeb8556d420887c08c4bbce9399772ff6cd034be1c6cb WHIRLPOOL 03d06c4ed538dab37c907420ef16940f571490e9ef0a4a6b0eed9ea03b4023159e387bdec3e77ccebe19863e435d66c97096a91f5b2070ea5f7060dc66824f47
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.20 (GNU/Linux)
iEYEAREIAAYFAlIOKV8ACgkQvFcC4BYPU0rXigCeLmBiDikiFriAqJddk8CtdMI1
ZXsAnRXXe8qOqneTYhuOEH3HjiFBnPU0
=Hkxq
-----END PGP SIGNATURE-----

View File

@@ -0,0 +1,47 @@
--- makefile.shared
+++ makefile.shared
@@ -3,7 +3,8 @@
#Tom St Denis
VERSION=0:41
-CC = libtool --mode=compile --tag=CC gcc
+LT ?= libtool
+LTCOMPILE = $(LT) --mode=compile --tag=CC $(CC)
CFLAGS += -I./ -Wall -W -Wshadow -Wsign-compare
@@ -82,21 +83,24 @@
objs: $(OBJECTS)
+%.lo: %.c
+ $(LTCOMPILE) $(CFLAGS) $(CPPFLAGS) -o $@ -c $<
+
-$(LIBNAME): $(OBJECTS)
- libtool --mode=link gcc *.lo -o $(LIBNAME) -rpath $(LIBPATH) -version-info $(VERSION)
+$(LIBNAME): $(OBJECTS:.o=.lo)
+ $(LT) --mode=link --tag=CC $(CC) $(CFLAGS) $(LDFLAGS) *.lo -o $(LIBNAME) -rpath $(LIBPATH) -version-info $(VERSION)
install: $(LIBNAME)
- install -d -g $(GROUP) -o $(USER) $(DESTDIR)$(LIBPATH)
- libtool --mode=install install -c $(LIBNAME) $(DESTDIR)$(LIBPATH)/$(LIBNAME)
- install -d -g $(GROUP) -o $(USER) $(DESTDIR)$(INCPATH)
- install -g $(GROUP) -o $(USER) $(HEADERS) $(DESTDIR)$(INCPATH)
+ install -d $(DESTDIR)$(LIBPATH)
+ $(LT) --mode=install install -c $(LIBNAME) $(DESTDIR)$(LIBPATH)/$(LIBNAME)
+ install -d $(DESTDIR)$(INCPATH)
+ install -m 644 $(HEADERS) $(DESTDIR)$(INCPATH)
test: $(LIBNAME) demo/demo.o
- gcc $(CFLAGS) -c demo/demo.c -o demo/demo.o
- libtool --mode=link gcc -o test demo/demo.o $(LIBNAME_S)
+ $(CC) $(CFLAGS) $(CPPFLAGS) -c demo/demo.c -o demo/demo.o
+ $(LT) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) -o test demo/demo.o $(LIBNAME_S)
mtest: test
- cd mtest ; gcc $(CFLAGS) mtest.c -o mtest
+ cd mtest ; $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) mtest.c -o mtest
timing: $(LIBNAME)
- gcc $(CFLAGS) -DTIMER demo/timing.c $(LIBNAME_S) -o ltmtest
+ $(LT) --mode=link $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -DTIMER demo/timing.c $(LIBNAME_S) -o ltmtest

View File

@@ -0,0 +1,64 @@
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $Id$
EAPI=5
inherit autotools-multilib eutils multilib toolchain-funcs
DESCRIPTION="highly optimized and portable routines for integer based number theoretic applications"
HOMEPAGE="http://www.libtom.org/"
SRC_URI="http://www.libtom.org/files/ltm-${PV}.tar.bz2"
LICENSE="WTFPL-2"
SLOT="0"
KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos"
IUSE="doc examples static-libs"
DEPEND="sys-devel/libtool"
RDEPEND=""
src_prepare() {
epatch "${FILESDIR}/${P}-makefile.patch"
# need libtool for cross compilation. Bug #376643
cat <<-EOF > configure.ac
AC_INIT(libtommath, 0)
AM_INIT_AUTOMAKE
LT_INIT
AC_CONFIG_FILES(Makefile)
AC_OUTPUT
EOF
touch NEWS README AUTHORS ChangeLog Makefile.am
eautoreconf
# export LT="${S}"/libtool
multilib_copy_sources
}
_emake() {
cd ${BUILD_DIR}
emake CC="$(tc-getCC)" -f makefile.shared \
IGNORE_SPEED=1 \
LIBPATH="${EPREFIX}/usr/$(get_libdir)" \
INCPATH="${EPREFIX}/usr/include" \
"$@"
}
src_compile() {
multilib_foreach_abi _emake
}
src_install() {
multilib_foreach_abi _emake DESTDIR="${ED}" install
# We only link against -lc, so drop the .la file.
find "${ED}" -name '*.la' -delete
dodoc changes.txt
use doc && dodoc *.pdf
if use examples ; then
docinto demo
dodoc demo/*.c
fi
}