1
0
mirror of https://github.com/veracrypt/VeraCrypt.git synced 2025-11-11 11:08:02 -06:00

Linux/MacOSX: use yasm instead of nasm for compiling all assembly files.

This commit is contained in:
Mounir IDRASSI
2017-06-23 18:08:24 +02:00
parent f27b37b73f
commit 52ec6faec3
4 changed files with 24 additions and 25 deletions

View File

@@ -31,8 +31,8 @@ clean:
ifeq "$(PLATFORM)" "MacOSX" ifeq "$(PLATFORM)" "MacOSX"
%.o: %.asm %.o: %.asm
@echo Assembling $(<F) @echo Assembling $(<F)
$(AS) $(ASFLAGS) -f macho32 -o $@.32 $< $(AS) $(ASFLAGS32) -f macho32 -o $@.32 $<
$(AS) $(ASFLAGS) -f macho64 -o $@.64 $< $(AS) $(ASFLAGS64) -f macho64 -o $@.64 $<
lipo -create $@.32 $@.64 -output $@ lipo -create $@.32 $@.64 -output $@
else else
%.o: %.asm %.o: %.asm

Binary file not shown.

View File

@@ -38,14 +38,13 @@ export BUILD_INC := $(BASE_DIR)/Build/Include
export AR ?= ar export AR ?= ar
export CC ?= gcc export CC ?= gcc
export CXX ?= g++ export CXX ?= g++
export AS := nasm export AS := yasm
export YASM := yasm
export RANLIB ?= ranlib export RANLIB ?= ranlib
export CFLAGS := -Wall export CFLAGS := -Wall
export CXXFLAGS := -Wall -Wno-unused-parameter export CXXFLAGS := -Wall -Wno-unused-parameter
C_CXX_FLAGS := -MMD -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGE_FILES -I$(BASE_DIR) -I$(BASE_DIR)/Crypto C_CXX_FLAGS := -MMD -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGE_FILES -I$(BASE_DIR) -I$(BASE_DIR)/Crypto
export ASFLAGS := -Ox -D __GNUC__ export ASFLAGS := -D __GNUC__
export LFLAGS := export LFLAGS :=
export PKG_CONFIG_PATH ?= /usr/local/lib/pkgconfig export PKG_CONFIG_PATH ?= /usr/local/lib/pkgconfig
@@ -136,10 +135,10 @@ ARCH = $(shell uname -m)
ifneq (,$(filter i386 i486 i586 i686 x86,$(ARCH))) ifneq (,$(filter i386 i486 i586 i686 x86,$(ARCH)))
CPU_ARCH = x86 CPU_ARCH = x86
ASFLAGS += -f elf32 ASFLAGS += -f elf32 -D __BITS__=32
else ifneq (,$(filter x86_64 x86-64 amd64 x64,$(ARCH))) else ifneq (,$(filter x86_64 x86-64 amd64 x64,$(ARCH)))
CPU_ARCH = x64 CPU_ARCH = x64
ASFLAGS += -f elf64 ASFLAGS += -f elf64 -D __BITS__=64
endif endif
ifeq "$(origin NOASM)" "command line" ifeq "$(origin NOASM)" "command line"
@@ -251,9 +250,9 @@ ifeq "$(shell uname -s)" "Darwin"
CXXFLAGS += -mssse3 -msse4.1 CXXFLAGS += -mssse3 -msse4.1
endif endif
AS := $(BASE_DIR)/Build/Tools/MacOSX/nasm AS := $(BASE_DIR)/Build/Tools/MacOSX/yasm
YASM := $(BASE_DIR)/Build/Tools/MacOSX/yasm export ASFLAGS32 := -D __GNUC__ -D __BITS__=32 --prefix _ -f macho32
ASFLAGS += --prefix _ export ASFLAGS64 := -D __GNUC__ -D __BITS__=64 --prefix _ -f macho64
ifeq "$(TC_BUILD_CONFIG)" "Release" ifeq "$(TC_BUILD_CONFIG)" "Release"

View File

@@ -91,46 +91,46 @@ VolumeLibrary: Volume.a
ifeq "$(PLATFORM)" "MacOSX" ifeq "$(PLATFORM)" "MacOSX"
../Crypto/Aes_asm.oo: ../Crypto/Aes_x86.asm ../Crypto/Aes_x64.asm ../Crypto/Aes_asm.oo: ../Crypto/Aes_x86.asm ../Crypto/Aes_x64.asm
@echo Assembling $(<F) @echo Assembling $(<F)
$(AS) $(ASFLAGS) -f macho32 -o ../Crypto/Aes_x86.o ../Crypto/Aes_x86.asm $(AS) $(ASFLAGS32) -o ../Crypto/Aes_x86.o ../Crypto/Aes_x86.asm
$(AS) $(ASFLAGS) -f macho64 -o ../Crypto/Aes_x64.o ../Crypto/Aes_x64.asm $(AS) $(ASFLAGS64) -o ../Crypto/Aes_x64.o ../Crypto/Aes_x64.asm
lipo -create ../Crypto/Aes_x86.o ../Crypto/Aes_x64.o -output ../Crypto/Aes_asm.oo lipo -create ../Crypto/Aes_x86.o ../Crypto/Aes_x64.o -output ../Crypto/Aes_asm.oo
rm -fr ../Crypto/Aes_x86.o ../Crypto/Aes_x64.o rm -fr ../Crypto/Aes_x86.o ../Crypto/Aes_x64.o
../Crypto/Twofish_asm.oo: ../Crypto/Twofish_x64.S ../Crypto/Twofish_asm.oo: ../Crypto/Twofish_x64.S
@echo Assembling $(<F) @echo Assembling $(<F)
$(YASM) -p gas -f macho64 -o ../Crypto/Twofish_asm.oo ../Crypto/Twofish_x64.S $(AS) $(ASFLAGS64) -p gas -o ../Crypto/Twofish_asm.oo ../Crypto/Twofish_x64.S
../Crypto/Camellia_asm.oo: ../Crypto/Camellia_x64.S ../Crypto/Camellia_asm.oo: ../Crypto/Camellia_x64.S
@echo Assembling $(<F) @echo Assembling $(<F)
$(YASM) -p gas -f macho64 -o ../Crypto/Camellia_asm.oo ../Crypto/Camellia_x64.S $(AS) $(ASFLAGS64) -p gas -o ../Crypto/Camellia_asm.oo ../Crypto/Camellia_x64.S
../Crypto/Camellia_aesni_asm.oo: ../Crypto/Camellia_aesni_x64.S ../Crypto/Camellia_aesni_asm.oo: ../Crypto/Camellia_aesni_x64.S
@echo Assembling $(<F) @echo Assembling $(<F)
$(YASM) -p gas -f macho64 -o ../Crypto/Camellia_aesni_asm.oo ../Crypto/Camellia_aesni_x64.S $(AS) $(ASFLAGS64) -p gas -o ../Crypto/Camellia_aesni_asm.oo ../Crypto/Camellia_aesni_x64.S
../Crypto/sha256-nayuki.oo: ../Crypto/sha256-x86-nayuki.S ../Crypto/sha256-nayuki.oo: ../Crypto/sha256-x86-nayuki.S
@echo Assembling $(<F) @echo Assembling $(<F)
$(YASM) -p gas -f macho32 -o ../Crypto/sha256-nayuki.oo ../Crypto/sha256-x86-nayuki.S $(AS) $(ASFLAGS32) -p gas -o ../Crypto/sha256-nayuki.oo ../Crypto/sha256-x86-nayuki.S
../Crypto/sha256_avx1.oo: ../Crypto/sha256_avx1_x64.asm ../Crypto/sha256_avx1.oo: ../Crypto/sha256_avx1_x64.asm
@echo Assembling $(<F) @echo Assembling $(<F)
$(YASM) -f macho64 -o ../Crypto/sha256_avx1.oo ../Crypto/sha256_avx1_x64.asm $(AS) $(ASFLAGS64) -o ../Crypto/sha256_avx1.oo ../Crypto/sha256_avx1_x64.asm
../Crypto/sha256_avx2.oo: ../Crypto/sha256_avx2_x64.asm ../Crypto/sha256_avx2.oo: ../Crypto/sha256_avx2_x64.asm
@echo Assembling $(<F) @echo Assembling $(<F)
$(YASM) -f macho64 -o ../Crypto/sha256_avx2.oo ../Crypto/sha256_avx2_x64.asm $(AS) $(ASFLAGS64) -o ../Crypto/sha256_avx2.oo ../Crypto/sha256_avx2_x64.asm
../Crypto/sha256_sse4.oo: ../Crypto/sha256_sse4_x64.asm ../Crypto/sha256_sse4.oo: ../Crypto/sha256_sse4_x64.asm
@echo Assembling $(<F) @echo Assembling $(<F)
$(YASM) -f macho64 -o ../Crypto/sha256_sse4.oo ../Crypto/sha256_sse4_x64.asm $(AS) $(ASFLAGS64) -o ../Crypto/sha256_sse4.oo ../Crypto/sha256_sse4_x64.asm
../Crypto/sha512-nayuki.oo: ../Crypto/sha512-x86-nayuki.S ../Crypto/sha512-x64-nayuki.S ../Crypto/sha512-nayuki.oo: ../Crypto/sha512-x86-nayuki.S ../Crypto/sha512-x64-nayuki.S
@echo Assembling $(<F) @echo Assembling $(<F)
$(YASM) -p gas -f macho32 -o ../Crypto/sha512-x86-nayuki.o ../Crypto/sha512-x86-nayuki.S $(AS) -p gas $(ASFLAGS32) -o ../Crypto/sha512-x86-nayuki.o ../Crypto/sha512-x86-nayuki.S
$(YASM) -p gas -f macho64 -o ../Crypto/sha512-x64-nayuki.o ../Crypto/sha512-x64-nayuki.S $(AS) -p gas $(ASFLAGS64) -o ../Crypto/sha512-x64-nayuki.o ../Crypto/sha512-x64-nayuki.S
lipo -create ../Crypto/sha512-x64-nayuki.o ../Crypto/sha512-x64-nayuki.o -output ../Crypto/sha512-nayuki.oo lipo -create ../Crypto/sha512-x86-nayuki.o ../Crypto/sha512-x64-nayuki.o -output ../Crypto/sha512-nayuki.oo
rm -fr ../Crypto/sha512-x86-nayuki.o ../Crypto/sha512-x64-nayuki.o rm -fr ../Crypto/sha512-x86-nayuki.o ../Crypto/sha512-x64-nayuki.o
../Crypto/sha512_avx1.oo: ../Crypto/sha512_avx1_x64.asm ../Crypto/sha512_avx1.oo: ../Crypto/sha512_avx1_x64.asm
@echo Assembling $(<F) @echo Assembling $(<F)
$(YASM) -f macho64 -o ../Crypto/sha512_avx1.oo ../Crypto/sha512_avx1_x64.asm $(AS) $(ASFLAGS64) -o ../Crypto/sha512_avx1.oo ../Crypto/sha512_avx1_x64.asm
../Crypto/sha512_avx2.oo: ../Crypto/sha512_avx2_x64.asm ../Crypto/sha512_avx2.oo: ../Crypto/sha512_avx2_x64.asm
@echo Assembling $(<F) @echo Assembling $(<F)
$(YASM) -f macho64 -o ../Crypto/sha512_avx2.oo ../Crypto/sha512_avx2_x64.asm $(AS) $(ASFLAGS64) -o ../Crypto/sha512_avx2.oo ../Crypto/sha512_avx2_x64.asm
../Crypto/sha512_sse4.oo: ../Crypto/sha512_sse4_x64.asm ../Crypto/sha512_sse4.oo: ../Crypto/sha512_sse4_x64.asm
@echo Assembling $(<F) @echo Assembling $(<F)
$(YASM) -f macho64 -o ../Crypto/sha512_sse4.oo ../Crypto/sha512_sse4_x64.asm $(AS) $(ASFLAGS64) -o ../Crypto/sha512_sse4.oo ../Crypto/sha512_sse4_x64.asm
endif endif
include $(BUILD_INC)/Makefile.inc include $(BUILD_INC)/Makefile.inc