Add ldouble

Library of elementary mathematical functions, probability and elliptic
integrals in 80-bit long double precision.

Approved by:	pav (co mentor)
This commit is contained in:
Michael Johnson
2004-11-07 18:26:52 +00:00
parent 7a1c4f0d45
commit bbb9a848f7
5 changed files with 158 additions and 0 deletions

View File

@@ -85,6 +85,7 @@
SUBDIR += lapack
SUBDIR += lapack++
SUBDIR += lapack95
SUBDIR += ldouble
SUBDIR += libRmath
SUBDIR += libgmp4
SUBDIR += libmath++

45
math/ldouble/Makefile Normal file
View File

@@ -0,0 +1,45 @@
# New ports collection makefile for: ldouble
# Date created: 2004-09-02
# Whom: Michael Johnson <ahze@FreeBSD.org>
#
# $FreeBSD$
#
PORTNAME= ldouble
PORTVERSION= 0.1
CATEGORIES= math
MASTER_SITES= http://vtel.rgv.net/~ahze/dist/ \
http://www.moshier.net/
DISTNAME= ldouble
MAINTAINER= ports@FreeBSD.org
COMMENT= Long double math precision functions
USE_ZIP= yes
NO_WRKSUBDIR= yes
MAKEFILE= makefile
USE_REINPLACE= yes
INSTALLS_SHLIB= yes
PLIST_FILES= lib/libml.a \
lib/libml.so \
lib/libml.so.0 \
include/mathl.h
PORTDOCS= ldoubdoc.html
post-patch:
@${REINPLACE_CMD} -e 's|%%CC%%|${CC}|; s|%%CFLAGS%%|${CFLAGS}|' \
${WRKSRC}/${MAKEFILE}
do-install:
.if !defined(NOPORTDOCS)
@${MKDIR} ${DOCSDIR}
${INSTALL_DATA} ${WRKSRC}/ldoubdoc.html ${DOCSDIR}
.endif
${INSTALL_DATA} ${WRKSRC}/libml.a ${PREFIX}/lib
${INSTALL_DATA} ${WRKSRC}/libml.so.0 ${PREFIX}/lib
${LN} -sf libml.so.0 ${PREFIX}/lib/libml.so
${INSTALL_DATA} ${WRKSRC}/protos.h ${PREFIX}/include/mathl.h
.include <bsd.port.mk>

2
math/ldouble/distinfo Normal file
View File

@@ -0,0 +1,2 @@
MD5 (ldouble.zip) = e7c83fa95acb0e5426aa644170267524
SIZE (ldouble.zip) = 226266

View File

@@ -0,0 +1,106 @@
--- makefile.orig Sun May 4 10:30:12 2003
+++ makefile Tue Nov 2 11:13:37 2004
@@ -2,30 +2,32 @@
# Be sure to check the size of a pointer, LARGEMEM, in lcalc.h;
# the size of long double, XPD, in mconf.h; and the type of
# computer and endianness of the numbers in mconf.h.
-CC= gcc
-#CC = /a/gnu/linux/gcc/xgcc -B/a/gnu/linux/gcc/ -I/a/gnu/linux/gcc/include
+CC= %%CC%%
+#CC = /a/gnu/linux//usr/local/libexec/ccache/cc/x/usr/local/libexec/ccache/cc -B/a/gnu/linux/gcc/ -I/a/gnu/linux/gcc/include
#CFLAGS= -O0 -fno-builtin
-CFLAGS= -O -Wall -Wuninitialized -fno-builtin
+CFLAGS= %%CFLAGS%% -Wuninitialized -fno-builtin -fPIC
LIBS=
+SHARED_LIB= libml.so
+SHARED_LIB_VER= $(SHARED_LIB).0
OBJS= acoshl.o asinhl.o asinl.o atanhl.o atanl.o bdtrl.o btdtrl.o cbrtl.o \
chdtrl.o coshl.o ellpel.o ellpkl.o elliel.o ellikl.o ellpjl.o \
exp10l.o exp2l.o expl.o expx2l.o fdtrl.o gammal.o gdtrl.o igamil.o igaml.o \
incbetl.o incbil.o isnanl.o j0l.o j1l.o jnl.o ldrand.o log10l.o log2l.o \
logl.o nbdtrl.o ndtril.o ndtrl.o pdtrl.o powl.o powil.o sinhl.o sinl.o \
sqrtl.o stdtrl.o tanhl.o tanl.o unityl.o expm1l.o log1pl.o ynl.o \
-floorl.o polevll.o unityl.o mtherr.o
+floorl.o polevll.o mtherr.o
# cmplxl.o clogl.o
-all: mtstl lparanoi lcalc fltestl nantst testvect monotl libml.a
+all: mtstl lparanoi lcalc fltestl nantst testvect monotl libml.a $(SHARED_LIB_VER)
-mtstl: libml.a mtstl.o $(OBJS)
- $(CC) $(CFLAGS) -o mtstl mtstl.o libml.a $(LIBS)
+mtstl: $(SHARED_LIB_VER) mtstl.o $(OBJS)
+ $(CC) $(CFLAGS) -o mtstl mtstl.o $(SHARED_LIB_VER) $(LIBS)
# aout2exe mtstl
mtstl.o: mtstl.c
-lparanoi: libml.a lparanoi.o setprec.o ieee.o econst.o $(OBJS)
- $(CC) $(CFLAGS) -o lparanoi lparanoi.o setprec.o ieee.o econst.o libml.a $(LIBS)
+lparanoi: $(SHARED_LIB_VER) lparanoi.o setprec.o ieee.o econst.o $(OBJS)
+ $(CC) $(CFLAGS) -o lparanoi lparanoi.o setprec.o ieee.o econst.o $(SHARED_LIB_VER) $(LIBS)
# aout2exe lparanoi
lparanoi.o: lparanoi.c
@@ -33,8 +35,8 @@
econst.o: econst.c ehead.h
-lcalc: libml.a lcalc.o ieee.o econst.o $(OBJS)
- $(CC) $(CFLAGS) -o lcalc lcalc.o ieee.o econst.o libml.a $(LIBS)
+lcalc: $(SHARED_LIB_VER) lcalc.o ieee.o econst.o $(OBJS)
+ $(CC) $(CFLAGS) -o lcalc lcalc.o ieee.o econst.o $(SHARED_LIB_VER) $(LIBS)
lcalc.o: lcalc.c lcalc.h ehead.h
@@ -46,6 +48,10 @@
ranlib libml.a
# ar -rv libml.a *.o
+
+$(SHARED_LIB_VER): $(OBJS) mconf.h
+ $(CC) $(CFLAGS) -shared -Wl,-soname,$(SHARED_LIB_VER) -o $(SHARED_LIB_VER) $(OBJS)
+
# Use assembly language sqrt and floor if available.
# sqrtl.c does not give strictly rounded results.
# The floor.c routines are slow.
@@ -82,29 +88,29 @@
#sqrtl.o: sqrtl.mot
# as -o sqrtl.o sqrtl.mot
-fltestl: fltestl.c libml.a
- $(CC) $(CFLAGS) -o fltestl fltestl.c libml.a
+fltestl: fltestl.c $(SHARED_LIB_VER)
+ $(CC) $(CFLAGS) -o fltestl fltestl.c $(SHARED_LIB_VER)
fltestl.o: fltestl.c
-flrtstl: flrtstl.c libml.a
- $(CC) $(CFLAGS) -o flrtstl flrtstl.c libml.a
+flrtstl: flrtstl.c $(SHARED_LIB_VER)
+ $(CC) $(CFLAGS) -o flrtstl flrtstl.c $(SHARED_LIB_VER)
flrtstl.o: flrtstl.c
-nantst: nantst.c libml.a
- $(CC) $(CFLAGS) -o nantst nantst.c libml.a
+nantst: nantst.c $(SHARED_LIB_VER)
+ $(CC) $(CFLAGS) -o nantst nantst.c $(SHARED_LIB_VER)
nantst.o: nantst.c
-testvect: testvect.o libml.a
- $(CC) $(CFLAGS) -o testvect testvect.o libml.a
+testvect: testvect.o $(SHARED_LIB_VER)
+ $(CC) $(CFLAGS) -o testvect testvect.o $(SHARED_LIB_VER)
testvect.o: testvect.c
$(CC) -g -c -o testvect.o testvect.c
-monotl: monotl.o libml.a
- $(CC) $(CFLAGS) -o monotl monotl.o libml.a
+monotl: monotl.o $(SHARED_LIB_VER)
+ $(CC) $(CFLAGS) -o monotl monotl.o $(SHARED_LIB_VER)
monotl.o: monotl.c
$(CC) -g -c -o monotl.o monotl.c

4
math/ldouble/pkg-descr Normal file
View File

@@ -0,0 +1,4 @@
Library of elementary mathematical functions, probability and elliptic
integrals in 80-bit long double precision.
WWW: http://www.moshier.net/ldoubdoc.html