зеркало из https://github.com/mozilla/gecko-dev.git
Start building freebl with MPI's new floating point acceleration code.
This commit is contained in:
Родитель
d50f40cfc7
Коммит
3be31901cc
|
@ -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
|
||||
|
|
Загрузка…
Ссылка в новой задаче