Start building freebl with MPI's new floating point acceleration code.

This commit is contained in:
nelsonb%netscape.com 2000-12-13 01:26:48 +00:00
Родитель d50f40cfc7
Коммит 3be31901cc
1 изменённых файлов: 55 добавлений и 14 удалений

Просмотреть файл

@ -79,8 +79,9 @@ endif
ifeq ($(OS_ARCH),IRIX)
ifeq ($(USE_N32),1)
ASFILES = mpi_mips.s
ASFLAGS = -O -OPT:Olimit=4000 -dollar -fullwarn -xansi -n32 -mips3 -exceptions
ASFLAGS = -O -OPT:Olimit=4000 -dollar -fullwarn -xansi -n32 -mips3
DEFINES += -DMP_ASSEMBLY_MULTIPLY -DMP_ASSEMBLY_SQUARE
DEFINES += -DMP_USE_UINT_DIGIT
else
endif
endif
@ -93,9 +94,22 @@ endif
endif
ifeq ($(OS_ARCH), HP-UX)
ifdef USE_PURE_32
# build for DA1.1 (HP PA 1.1) pure 32 bit model
DEFINES += -DMP_USE_UINT_DIGIT -DMP_NO_MP_WORD
#else
ifdef USE_64
# this builds for DA2.0W (HP PA 2.0 Wide), the LP64 ABI, using 32-bit digits
MPI_SRCS += montmulf.c
DEFINES += -DMP_USING_MONT_MULF -DMP_USE_UINT_DIGIT
DEFINES += -DMP_USE_LONG_LONG_MULTIPLY -DMP_NO_MP_WORD
else
DEFINES += -DMP_NO_MP_WORD
# this builds for DA2.0 (HP PA 2.0 Narrow) hybrid model
# (the 32-bit ABI with 64-bit registers) using 32-bit digits
MPI_SRCS += montmulf.c
DEFINES += -DMP_USING_MONT_MULF -DMP_USE_UINT_DIGIT
DEFINES += -DMP_USE_LONG_LONG_MULTIPLY -DMP_NO_MP_WORD
endif
endif
endif
@ -118,17 +132,30 @@ ifeq ($(OS_RELEASE),5.8)
SYSV_SPARC = 1
endif
ifeq ($(SYSV_SPARC),1)
ifdef USE_64
DEFINES += -DMP_USE_UINT_DIGIT -DMP_NO_MP_WORD -DMP_ASSEMBLY_MULTIPLY
MPI_SRCS += mpi_sparc.c mpv_sparc.c
SOLARIS_FLAGS = -fast -xO5 -xrestrict=%all -xdepend -xchip=ultra -xarch=v9a -KPIC -mt
SOLARIS_AS = /usr/ccs/bin/as
ifdef USE_PURE_32
# this builds for Sparc v8 pure 32-bit architecture
DEFINES += -DMP_USE_LONG_LONG_MULTIPLY -DMP_USE_UINT_DIGIT -DMP_NO_MP_WORD
else
DEFINES += -DMP_NO_MP_WORD -DMP_ASSEMBLY_MULTIPLY
ASFILES = mpv_sparc32.S
ASM_SUFFIX = .S
ifdef USE_64
# this builds for Sparc v9a pure 64-bit architecture
MPI_SRCS += mpi_sparc.c
SOLARIS_AS = /usr/ccs/bin/as
SOLARIS_FLAGS = -xarch=v8plusa -K PIC
ASFILES = mpv_sparcv9.s montmulfv9.s
DEFINES += -DMP_ASSEMBLY_MULTIPLY -DMP_USING_MONT_MULF
DEFINES += -DMP_USE_UINT_DIGIT
# MPI_SRCS += mpv_sparc.c
# removed -xdepend from the following line
SOLARIS_FLAGS = -fast -xO5 -xrestrict=%all -xchip=ultra -xarch=v9a -KPIC -mt
SOLARIS_AS_FLAGS = -xarch=v9a -K PIC
else
# this builds for Sparc v8+a hybrid architecture, 64-bit registers, 32-bit ABI
MPI_SRCS += mpi_sparc.c
ASFILES = mpv_sparcv8.s montmulfv8.s
DEFINES += -DMP_NO_MP_WORD -DMP_ASSEMBLY_MULTIPLY -DMP_USING_MONT_MULF
DEFINES += -DMP_USE_UINT_DIGIT
SOLARIS_AS_FLAGS = -xarch=v8plusa -K PIC
# ASM_SUFFIX = .S
endif
endif
endif
endif
@ -189,9 +216,12 @@ vis%.il : mpi/vis%.il
vis%.h : mpi/vis%.h
cd mpi; cp $@ ..
mont% : mpi/mont%
cd mpi; cp $@ ..
.PRECIOUS : $(MPI_SRCS) $(MPI_HDRS) $(ASFILES)
ALL_TRASH += $(MPI_SRCS) $(MPI_HDRS) $(ASFILES) primes.c
ALL_TRASH += $(MPI_SRCS) $(MPI_HDRS) $(ASFILES) primes.c mont*
DEFINES += -DMP_API_COMPATIBLE
@ -209,13 +239,24 @@ $(SPARCFIX): sparcfix.c
@$(MAKE_OBJDIR)
$(CC) -o $@ -O sparcfix.c -lelf
$(OBJDIR)/mpv_sparc32.o: $(SPARCFIX) mpv_sparc32.S
$(OBJDIR)/mpv_sparcv8.o $(OBJDIR)/montmulfv8.o : $(OBJDIR)/%.o : %.s $(SPARCFIX)
@$(MAKE_OBJDIR)
$(SOLARIS_AS) -o $@ $(SOLARIS_FLAGS) mpv_sparc32.S
$(SOLARIS_AS) -o $@ $(SOLARIS_AS_FLAGS) $*.s
$(SPARCFIX) $@
$(OBJDIR)/mpv_sparcv9.o $(OBJDIR)/montmulfv9.o : $(OBJDIR)/%.o : %.s
@$(MAKE_OBJDIR)
$(SOLARIS_AS) -o $@ $(SOLARIS_AS_FLAGS) $*.s
# $(SPARCFIX) $@
$(OBJDIR)/mpv_sparc.o: vis_64.il vis_proto.h mpv_sparc.c
@$(MAKE_OBJDIR)
$(CC) -o $@ $(SOLARIS_FLAGS) -c vis_64.il mpv_sparc.c
# $(SPARCFIX) $@
$(OBJDIR)/mpmontg.o: mpmontg.c montmulf.h
endif
ifeq ($(OS_ARCH), HP-UX)
$(OBJDIR)/mpmontg.o: mpmontg.c montmulf.h
endif