Remove USE_GCC and fix the broken code instead. While gcc accepts %cc and

%memory, the syntax is wrong, since % is only used for registers.  Clang
currently rejects those constructs [1].  Similar fix was applied to NSS by
Mozilla team before [2].

While here: remove BROKEN for ia64/sparc64 where it builds (for powerpc use
BROKEN_powerpc), allow staging as regular user, GC stray MASTER_SITE_SUBDIR.

[1] http://llvm.org/bugs/show_bug.cgi?id=10365
[2] https://bugzilla.mozilla.org/show_bug.cgi?id=671711
This commit is contained in:
Alexey Dokuchaev 2014-06-09 04:25:02 +00:00
parent 0db153ec12
commit 63e4744348
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=357102
2 changed files with 28 additions and 14 deletions

View File

@ -4,26 +4,25 @@ PORTNAME= tomsfastmath
PORTVERSION= 0.12
CATEGORIES= math
MASTER_SITES= http://libtom.org/files/
MASTER_SITE_SUBDIR= miwi
DISTNAME= tfm-${PORTVERSION}
MAINTAINER= ports@FreeBSD.org
COMMENT= Portable fixed precision math library for fast exponentiations
BROKEN_powerpc= internal compiler error at src/mul/fp_mul_comba_48.c:398
USES= gmake tar:bzip2
WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION}
MAKEFILE= makefile
USES= gmake tar:bzip2
USE_GCC= any
ALL_TARGET= default
PLIST_FILES= include/tfm.h lib/libtfm.a
.include <bsd.port.pre.mk>
# Unbreak against Clang ("cc" is not a register)
post-patch:
@${REINPLACE_CMD} -e 's,"%cc","cc",' \
${WRKSRC}/src/mont/fp_montgomery_reduce.c \
${WRKSRC}/src/mul/fp_mul_comba.c \
${WRKSRC}/src/sqr/fp_sqr_comba.c
.if ${ARCH} == "ia64" || ${ARCH} == "sparc64"
BROKEN= Does not compile on ia64 or sparc64
.elif ${ARCH} == "powerpc"
BROKEN= Causes gcc coredump on powerpc
.endif
.include <bsd.port.post.mk>
.include <bsd.port.mk>

View File

@ -1,6 +1,6 @@
--- makefile.orig Wed Apr 12 13:16:32 2006
+++ makefile Wed Apr 12 13:16:48 2006
@@ -11,7 +11,7 @@
@@ -11,7 +11,7 @@ endif
ifndef IGNORE_SPEED
@ -9,8 +9,8 @@
#profiling
#PROF=-pg -g
@@ -53,11 +53,11 @@
HEADERS=tfm.h
@@ -52,11 +52,11 @@ HEADERS=src/headers/tfm.h
#END_INS
ifndef LIBPATH
- LIBPATH=/usr/lib
@ -23,3 +23,18 @@
endif
ifndef INSTALL_GROUP
@@ -82,10 +82,10 @@ $(LIBNAME): $(OBJECTS)
ranlib $@
install: $(LIBNAME)
- install -d -g $(GROUP) -o $(USER) $(DESTDIR)$(LIBPATH)
- install -d -g $(GROUP) -o $(USER) $(DESTDIR)$(INCPATH)
- install -g $(GROUP) -o $(USER) $(LIBNAME) $(DESTDIR)$(LIBPATH)
- install -g $(GROUP) -o $(USER) $(HEADERS) $(DESTDIR)$(INCPATH)
+ install -d $(DESTDIR)$(LIBPATH)
+ install -d $(DESTDIR)$(INCPATH)
+ install -m 644 $(LIBNAME) $(DESTDIR)$(LIBPATH)
+ install -m 644 $(HEADERS) $(DESTDIR)$(INCPATH)
mtest/mtest: mtest/mtest.o
cd mtest ; CFLAGS="$(CFLAGS) -I../" MAKE=${MAKE} ${MAKE} mtest