Skip to content

Commit 4bfe851

Browse files
committed
pthreads4w src
1 parent 9194abf commit 4bfe851

10 files changed

Lines changed: 129 additions & 51 deletions

File tree

.github/workflows/jsource.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1296,7 +1296,7 @@ jobs:
12961296
WINDRES: windres
12971297
USE_SLEEF: 1
12981298
USE_OPENMP: 0
1299-
USE_PYXES: 0
1299+
USE_PYXES: 1
13001300
USE_EMU_AVX: 1
13011301
_DEBUG: 0
13021302
run: |
@@ -1305,7 +1305,7 @@ jobs:
13051305
- name: Test JE (Windows MSYS2 x64)
13061306
shell: msys2 {0}
13071307
env:
1308-
USE_PYXES: 0
1308+
USE_PYXES: 1
13091309
USE_EMU_AVX: 1
13101310
_DEBUG: 0
13111311
run: |

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,3 +72,6 @@ jlibrary/
7272

7373
# misc
7474
jsrc/toc.txt
75+
pthreads4w/src/
76+
makemsvc/jdll/*.asm
77+
makemsvc/jamalgam/*.asm

make2/build_jamalgam.sh

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -271,15 +271,27 @@ if [ $USE_PYXES -eq 1 ]; then
271271
case "$jplatform/$j64x" in
272272
windows/j32*)
273273
common="$common -DPYXES=1 -I../pthreads4w/include"
274-
LDTHREAD=" ../pthreads4w/lib/pthreadVC3-w32.lib "
274+
if [ -n "$PTHREADS4WSRC" ]; then
275+
OBJS_PTHREADS4W=" ../pthreads4w/src/pthread.o "
276+
else
277+
LDTHREAD=" ../pthreads4w/lib/pthreadVC3-w32.lib "
278+
fi
275279
;;
276280
windows/j64arm)
277281
common="$common -DPYXES=1 -I../pthreads4w/include"
278-
LDTHREAD=" ../pthreads4w/lib/pthreadVC3-arm64.lib "
282+
if [ -n "$PTHREADS4WSRC" ]; then
283+
OBJS_PTHREADS4W=" ../pthreads4w/src/pthread.o "
284+
else
285+
LDTHREAD=" ../pthreads4w/lib/pthreadVC3-arm64.lib "
286+
fi
279287
;;
280288
windows/*)
281289
common="$common -DPYXES=1 -I../pthreads4w/include"
282-
LDTHREAD=" ../pthreads4w/lib/pthreadVC3.lib "
290+
if [ -n "$PTHREADS4WSRC" ]; then
291+
OBJS_PTHREADS4W=" ../pthreads4w/src/pthread.o "
292+
else
293+
LDTHREAD=" ../pthreads4w/lib/pthreadVC3.lib "
294+
fi
283295
;;
284296
*)
285297
common="$common -DPYXES=1"
@@ -560,6 +572,7 @@ case "$jplatform/$j64x" in
560572
CFLAGS_SIMD=" -march=skylake-avx512 -mtune=skylake-avx512 -msse4.1 -msse4.2 -mavx2 -mfma -mbmi -mbmi2 -mlzcnt -mmovbe -mpopcnt -mno-vzeroupper "
561573
OBJS_FMA=" blis/gemm_int-fma.o "
562574
OBJS_AESNI=" aes-ni.o "
575+
OBJS_SIMDUTF8="${OBJS_SIMDUTF8_ASM}"
563576
SRC_ASM="${SRC_ASM_LINUXAVX512}"
564577
NASM_FLAGS="$NASM_FLAGS -felf64"
565578
GASM_FLAGS=""
@@ -638,6 +651,7 @@ case "$jplatform/$j64x" in
638651
CFLAGS_SIMD=" -march=skylake-avx512 -mtune=skylake-avx512 -msse4.1 -msse4.2 -mavx2 -mfma -mbmi -mbmi2 -mlzcnt -mmovbe -mpopcnt -mno-vzeroupper "
639652
OBJS_FMA=" blis/gemm_int-fma.o "
640653
OBJS_AESNI=" aes-ni.o "
654+
OBJS_SIMDUTF8="${OBJS_SIMDUTF8_ASM}"
641655
SRC_ASM="${SRC_ASM_LINUXAVX512}"
642656
NASM_FLAGS="$NASM_FLAGS -felf64"
643657
GASM_FLAGS=""
@@ -697,6 +711,7 @@ case "$jplatform/$j64x" in
697711
CFLAGS_SIMD=" -march=skylake-avx512 -mtune=skylake-avx512 -msse4.1 -msse4.2 -mavx2 -mfma -mbmi -mbmi2 -mlzcnt -mmovbe -mpopcnt -mno-vzeroupper "
698712
OBJS_FMA=" blis/gemm_int-fma.o "
699713
OBJS_AESNI=" aes-ni.o "
714+
OBJS_SIMDUTF8="${OBJS_SIMDUTF8_ASM}"
700715
SRC_ASM="${SRC_ASM_LINUXAVX512}"
701716
NASM_FLAGS="$NASM_FLAGS -felf64"
702717
GASM_FLAGS=""
@@ -742,6 +757,7 @@ case "$jplatform/$j64x" in
742757
CFLAGS_SIMD=" -march=skylake-avx512 -mtune=skylake-avx512 -msse4.1 -msse4.2 -mavx2 -mfma -mbmi -mbmi2 -mlzcnt -mmovbe -mpopcnt -mno-vzeroupper "
743758
OBJS_FMA=" blis/gemm_int-fma.o "
744759
OBJS_AESNI=" aes-ni.o "
760+
OBJS_SIMDUTF8="${OBJS_SIMDUTF8_ASM}"
745761
SRC_ASM="${SRC_ASM_MAC}"
746762
NASM_FLAGS="$NASM_FLAGS -felf64"
747763
GASM_FLAGS="$macmin"
@@ -970,7 +986,7 @@ if [ ! -f ../jsrc/jversion.h ]; then
970986
fi
971987

972988
mkdir -p ../bin/$jplatform/$j64x
973-
export BACKTRACE_OBJS CFLAGS CPPFLAGS LDFLAGS TARGET CFLAGS_SIMD GASM_FLAGS NASM NASM_FLAGS FLAGS_BASE64 DLLOBJS LIBJDEF LIBJRES WINDRES OBJS_BASE64 OBJS_FMA OBJS_AESNI OBJS_AESARM OBJS_ASM SRC_ASM OBJSLN jplatform j64x
989+
export BACKTRACE_OBJS CFLAGS CPPFLAGS LDFLAGS TARGET CFLAGS_SIMD GASM_FLAGS NASM NASM_FLAGS FLAGS_BASE64 DLLOBJS LIBJDEF LIBJRES WINDRES OBJS_BASE64 OBJS_FMA OBJS_AESNI OBJS_AESARM OBJS_SIMDUTF8 OBJS_PTHREADS4 WOBJS_ASM SRC_ASM OBJSLN jplatform j64x
974990
if [ "x$MAKEFLAGS" = x'' ]; then
975991
if ([ "$unameop" = "Linux" ] || [ "$unameop" = "GNU/Linux" ]); then
976992
par=$(nproc)

make2/build_libj.sh

Lines changed: 21 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -276,15 +276,27 @@ if [ $USE_PYXES -eq 1 ]; then
276276
case "$jplatform/$j64x" in
277277
windows/j32*)
278278
common="$common -DPYXES=1 -I../pthreads4w/include"
279-
LDTHREAD=" ../pthreads4w/lib/pthreadVC3-w32.lib "
279+
if [ -n "$PTHREADS4WSRC" ]; then
280+
OBJS_PTHREADS4W=" ../pthreads4w/src/pthread.o "
281+
else
282+
LDTHREAD=" ../pthreads4w/lib/pthreadVC3-w32.lib "
283+
fi
280284
;;
281285
windows/j64arm)
282286
common="$common -DPYXES=1 -I../pthreads4w/include"
283-
LDTHREAD=" ../pthreads4w/lib/pthreadVC3-arm64.lib "
287+
if [ -n "$PTHREADS4WSRC" ]; then
288+
OBJS_PTHREADS4W=" ../pthreads4w/src/pthread.o "
289+
else
290+
LDTHREAD=" ../pthreads4w/lib/pthreadVC3-arm64.lib "
291+
fi
284292
;;
285293
windows/*)
286294
common="$common -DPYXES=1 -I../pthreads4w/include"
287-
LDTHREAD=" ../pthreads4w/lib/pthreadVC3.lib "
295+
if [ -n "$PTHREADS4WSRC" ]; then
296+
OBJS_PTHREADS4W=" ../pthreads4w/src/pthread.o "
297+
else
298+
LDTHREAD=" ../pthreads4w/lib/pthreadVC3.lib "
299+
fi
288300
;;
289301
*)
290302
common="$common -DPYXES=1"
@@ -769,8 +781,7 @@ case "$jplatform/$j64x" in
769781
# slower, use 387 fpu and truncate extra precision
770782
# CFLAGS="$common -m32 -ffloat-store "
771783
CPPFLAGS="-fPIC $OPTLEVEL -falign-functions=4 -fvisibility=hidden -Wno-psabi $DOLECOM -m32 -msse2 -mfpmath=sse -D_FILE_OFFSET_BITS=64 -D_JDLL -D_WIN32 "
772-
# windows j32 still needs libwinpthread-1.dll even with the static switch
773-
LDFLAGS=" -shared -Wl,--enable-stdcall-fixup -lm -static-libgcc -static-libstdc++ -Wl,-Bstatic -lwinpthread -Wl,-Bdynamic -lole32 -ladvapi32 -loleaut32 -lsynchronization -lpsapi -luuid $LDTHREAD $LDOPENMP "
784+
LDFLAGS=" -shared -Wl,--enable-stdcall-fixup -lm -static-libgcc -static-libstdc++ -Wl,-Bstatic -Wl,-Bdynamic -lole32 -ladvapi32 -loleaut32 -lsynchronization -lpsapi -luuid $LDTHREAD $LDOPENMP "
774785
if [ $jolecom -eq 1 ]; then
775786
DLLOBJS=" ../dllsrc/jdll.o ../dllsrc/jdllcomx.o "
776787
LIBJDEF=" ../dllsrc/jdll.def "
@@ -796,7 +807,7 @@ case "$jplatform/$j64x" in
796807
TARGET=j.dll
797808
CFLAGS="$common -march=armv8-a+crc -Wno-incompatible-pointer-types -DNO_SHA_ASM $DOLECOM -D_FILE_OFFSET_BITS=64 -D_JDLL -D_WIN32 -D_WIN64 "
798809
CPPFLAGS="-fPIC $OPTLEVEL -falign-functions=4 -fvisibility=hidden $DOLECOM -D_FILE_OFFSET_BITS=64 -D_JDLL -D_WIN32 -D_WIN64 "
799-
LDFLAGS=" -shared -Wl,--enable-stdcall-fixup -lm -static-libgcc -static-libstdc++ -Wl,-Bstatic -lwinpthread -Wl,-Bdynamic -lole32 -ladvapi32 -loleaut32 -lsynchronization -luuid $LDTHREAD $LDOPENMP "
810+
LDFLAGS=" -shared -Wl,--enable-stdcall-fixup -lm -static-libgcc -static-libstdc++ -Wl,-Bstatic -Wl,-Bdynamic -lole32 -ladvapi32 -loleaut32 -lsynchronization -luuid $LDTHREAD $LDOPENMP "
800811
if [ $jolecom -eq 1 ]; then
801812
DLLOBJS=" ../dllsrc/jdll.o ../dllsrc/jdllcomx.o "
802813
LIBJDEF=" ../dllsrc/jdll.def "
@@ -821,7 +832,7 @@ case "$jplatform/$j64x" in
821832
TARGET=j.dll
822833
CFLAGS="$common -Wno-incompatible-pointer-types $DOLECOM -DC_AVX2=1 -DC_AVX512=1 -D_FILE_OFFSET_BITS=64 -D_JDLL -D_WIN32 -D_WIN64 "
823834
CPPFLAGS="-fPIC $OPTLEVEL -falign-functions=4 -fvisibility=hidden $DOLECOM -DC_AVX2=1 -DC_AVX512=1 -D_FILE_OFFSET_BITS=64 -D_JDLL -D_WIN32 -D_WIN64 "
824-
LDFLAGS=" -shared -Wl,--enable-stdcall-fixup -lm -static-libgcc -static-libstdc++ -Wl,-Bstatic -lwinpthread -Wl,-Bdynamic -lole32 -ladvapi32 -loleaut32 -lsynchronization -luuid $LDTHREAD $LDOPENMP "
835+
LDFLAGS=" -shared -Wl,--enable-stdcall-fixup -lm -static-libgcc -static-libstdc++ -Wl,-Bstatic -Wl,-Bdynamic -lole32 -ladvapi32 -loleaut32 -lsynchronization -luuid $LDTHREAD $LDOPENMP "
825836
CFLAGS_SIMD=" -march=skylake-avx512 -mtune=skylake-avx512 -msse4.1 -msse4.2 -mavx2 -mfma -mbmi -mbmi2 -mlzcnt -mmovbe -mpopcnt -mno-vzeroupper "
826837
if [ $jolecom -eq 1 ]; then
827838
DLLOBJS=" ../dllsrc/jdll.o ../dllsrc/jdllcomx.o "
@@ -850,7 +861,7 @@ case "$jplatform/$j64x" in
850861
TARGET=j.dll
851862
CFLAGS="$common -Wno-incompatible-pointer-types $DOLECOM -DC_AVX2=1 -D_FILE_OFFSET_BITS=64 -D_JDLL -D_WIN32 -D_WIN64 "
852863
CPPFLAGS="-fPIC $OPTLEVEL -falign-functions=4 -fvisibility=hidden $DOLECOM -DC_AVX2=1 -D_FILE_OFFSET_BITS=64 -D_JDLL -D_WIN32 -D_WIN64 "
853-
LDFLAGS=" -shared -Wl,--enable-stdcall-fixup -lm -static-libgcc -static-libstdc++ -Wl,-Bstatic -lwinpthread -Wl,-Bdynamic -lole32 -ladvapi32 -loleaut32 -lsynchronization -luuid $LDTHREAD $LDOPENMP "
864+
LDFLAGS=" -shared -Wl,--enable-stdcall-fixup -lm -static-libgcc -static-libstdc++ -Wl,-Bstatic -Wl,-Bdynamic -lole32 -ladvapi32 -loleaut32 -lsynchronization -luuid $LDTHREAD $LDOPENMP "
854865
CFLAGS_SIMD=" -march=skylake -mtune=skylake -msse4.1 -msse4.2 -mavx2 -mfma -mbmi -mbmi2 -mlzcnt -mmovbe -mpopcnt -mno-vzeroupper "
855866
if [ $jolecom -eq 1 ]; then
856867
DLLOBJS=" ../dllsrc/jdll.o ../dllsrc/jdllcomx.o "
@@ -878,7 +889,7 @@ case "$jplatform/$j64x" in
878889
TARGET=j.dll
879890
CFLAGS="$common -Wno-incompatible-pointer-types -msse3 $DOLECOM -D_FILE_OFFSET_BITS=64 -D_JDLL -D_WIN32 -D_WIN64 "
880891
CPPFLAGS="-fPIC $OPTLEVEL -falign-functions=4 -fvisibility=hidden $DOLECOM -D_FILE_OFFSET_BITS=64 -D_JDLL -D_WIN32 -D_WIN64 "
881-
LDFLAGS=" -shared -Wl,--enable-stdcall-fixup -lm -static-libgcc -static-libstdc++ -Wl,-Bstatic -lwinpthread -Wl,-Bdynamic -lole32 -ladvapi32 -loleaut32 -lsynchronization -luuid $LDTHREAD $LDOPENMP "
892+
LDFLAGS=" -shared -Wl,--enable-stdcall-fixup -lm -static-libgcc -static-libstdc++ -Wl,-Bstatic -Wl,-Bdynamic -lole32 -ladvapi32 -loleaut32 -lsynchronization -luuid $LDTHREAD $LDOPENMP "
882893
if [ $jolecom -eq 1 ]; then
883894
DLLOBJS=" ../dllsrc/jdll.o ../dllsrc/jdllcomx.o "
884895
LIBJDEF=" ../dllsrc/jdll.def "
@@ -921,7 +932,7 @@ if [ ! -f ../jsrc/jversion.h ]; then
921932
fi
922933

923934
mkdir -p ../bin/$jplatform/$j64x
924-
export CC AR CFLAGS CPPFLAGS LDFLAGS LDFLAGS_a LDFLAGS_b TARGET TARGET_a CFLAGS_SIMD GASM_FLAGS NASM NASM_FLAGS FLAGS_BASE64 DLLOBJS LIBJDEF LIBJRES WINDRES OBJS_BASE64 OBJS_FMA OBJS_AESNI OBJS_AESARM OBJS_SIMDUTF8 OBJS_ASM SRC_ASM jplatform j64x WINDRES LDFLAGS_b
935+
export CC AR CFLAGS CPPFLAGS LDFLAGS LDFLAGS_a LDFLAGS_b TARGET TARGET_a CFLAGS_SIMD GASM_FLAGS NASM NASM_FLAGS FLAGS_BASE64 DLLOBJS LIBJDEF LIBJRES WINDRES OBJS_BASE64 OBJS_FMA OBJS_AESNI OBJS_AESARM OBJS_SIMDUTF8 OBJS_PTHREADS4W OBJS_ASM SRC_ASM jplatform j64x WINDRES LDFLAGS_b
925936
if [ "x$MAKEFLAGS" = x'' ]; then
926937
if ([ "$unameop" = "Linux" ] || [ "$unameop" = "GNU/Linux" ]); then
927938
par=$(nproc)

make2/makefile-jamalgam

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -192,8 +192,8 @@ ifneq (windows,$(findstring windows,$(jplatform)))
192192
$(ODIR)/$(TARGET) : $(OBJS) $(OBJS_BASE64) $(OBJS_FMA) $(OBJS_AESNI) $(OBJS_AESARM) $(OBJS_SIMDUTF8) $(SRC_ASM) $(OBJSLN) $(BACKTRACE_OBJS)
193193
$(CC) -o $@ $(OBJS) $(OBJS_BASE64) $(OBJS_FMA) $(OBJS_AESNI) $(OBJS_AESARM) $(OBJS_SIMDUTF8) $(OBJS_ASM) $(SRC_ASM) $(LDFLAGS) $(OBJSLN) $(BACKTRACE_OBJS)
194194
else
195-
$(ODIR)/$(TARGET) : $(OBJS) $(OBJS_BASE64) $(OBJS_FMA) $(OBJS_AESNI) $(OBJS_AESARM) $(OBJS_SIMDUTF8) $(SRC_ASM) $(DLLOBJS) $(LIBJDEF) $(LIBJRES) $(OBJSLN) $(BACKTRACE_OBJS)
196-
$(CXX) -o $@ $(OBJS) $(OBJS_BASE64) $(OBJS_FMA) $(OBJS_AESNI) $(OBJS_AESARM) $(OBJS_SIMDUTF8) $(OBJS_ASM) $(SRC_ASM) $(DLLOBJS) $(LIBJDEF) $(LIBJRES) $(LDFLAGS) $(OBJSLN) $(BACKTRACE_OBJS)
195+
$(ODIR)/$(TARGET) : $(OBJS) $(OBJS_BASE64) $(OBJS_FMA) $(OBJS_AESNI) $(OBJS_AESARM) $(OBJS_SIMDUTF8) $(OBJS_PTHREADS4W) $(SRC_ASM) $(DLLOBJS) $(LIBJDEF) $(LIBJRES) $(OBJSLN) $(BACKTRACE_OBJS)
196+
$(CXX) -o $@ $(OBJS) $(OBJS_BASE64) $(OBJS_FMA) $(OBJS_AESNI) $(OBJS_AESARM) $(OBJS_SIMDUTF8) $(OBJS_PTHREADS4W) $(OBJS_ASM) $(SRC_ASM) $(DLLOBJS) $(LIBJDEF) $(LIBJRES) $(LDFLAGS) $(OBJSLN) $(BACKTRACE_OBJS)
197197
endif
198198

199199
%.res: %.rc

make2/makefile-libj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -190,8 +190,8 @@ ifneq (windows,$(findstring windows,$(jplatform)))
190190
$(ODIR)/$(TARGET) : $(OBJS) $(OBJS_BASE64) $(OBJS_FMA) $(OBJS_AESNI) $(OBJS_AESARM) $(OBJS_SIMDUTF8) $(SRC_ASM)
191191
$(CC) -o $@ $(OBJS) $(OBJS_BASE64) $(OBJS_FMA) $(OBJS_AESNI) $(OBJS_AESARM) $(OBJS_SIMDUTF8) $(OBJS_ASM) $(SRC_ASM) $(LDFLAGS)
192192
else
193-
$(ODIR)/$(TARGET) : $(OBJS) $(OBJS_BASE64) $(OBJS_FMA) $(OBJS_AESNI) $(OBJS_AESARM) $(OBJS_SIMDUTF8) $(SRC_ASM) $(DLLOBJS) $(LIBJDEF) $(LIBJRES)
194-
$(CXX) -o $@ $(OBJS) $(OBJS_BASE64) $(OBJS_FMA) $(OBJS_AESNI) $(OBJS_AESARM) $(OBJS_SIMDUTF8) $(OBJS_ASM) $(SRC_ASM) $(DLLOBJS) $(LIBJDEF) $(LIBJRES) $(LDFLAGS)
193+
$(ODIR)/$(TARGET) : $(OBJS) $(OBJS_BASE64) $(OBJS_FMA) $(OBJS_AESNI) $(OBJS_AESARM) $(OBJS_SIMDUTF8) $(OBJS_PTHREADS4W) $(SRC_ASM) $(DLLOBJS) $(LIBJDEF) $(LIBJRES)
194+
$(CXX) -o $@ $(OBJS) $(OBJS_BASE64) $(OBJS_FMA) $(OBJS_AESNI) $(OBJS_AESARM) $(OBJS_SIMDUTF8) $(OBJS_PTHREADS4W) $(OBJS_ASM) $(SRC_ASM) $(DLLOBJS) $(LIBJDEF) $(LIBJRES) $(LDFLAGS)
195195
endif
196196
endif
197197

makemsvc/jamalgam/makefile

Lines changed: 21 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -58,11 +58,23 @@ ifeq (1,$(USE_OPENMP))
5858
endif
5959
ifeq (1,$(USE_PYXES))
6060
ifeq (arm64,$(TARGET_CPU))
61-
PTHREADLIB = ../pthreads4w/lib/pthreadVC3-arm64.lib
61+
ifneq ($(PTHREADS4WSRC),)
62+
OBJS_PTHREADS4W = ../pthreads4w/src/pthread.o
63+
else
64+
PTHREADLIB = ../pthreads4w/lib/pthreadVC3-arm64.lib
65+
endif
6266
else ifeq (x64,$(TARGET_CPU))
63-
PTHREADLIB = ../pthreads4w/lib/pthreadVC3.lib
67+
ifneq ($(PTHREADS4WSRC),)
68+
OBJS_PTHREADS4W = ../pthreads4w/src/pthread.o
69+
else
70+
PTHREADLIB = ../pthreads4w/lib/pthreadVC3.lib
71+
endif
6472
else
65-
PTHREADLIB = ../pthreads4w/lib/pthreadVC3-w32.lib
73+
ifneq ($(PTHREADS4WSRC),)
74+
OBJS_PTHREADS4W = ../pthreads4w/src/pthread.o
75+
else
76+
PTHREADLIB = ../pthreads4w/lib/pthreadVC3-w32.lib
77+
endif
6678
endif
6779
endif
6880

@@ -102,18 +114,18 @@ ifeq (x64,$(TARGET_CPU))
102114
endif
103115

104116
ifeq (arm64,$(TARGET_CPU))
105-
CF1 = -target arm64-pc-windows-msvc -march=armv8-a+crc+crypto -fno-strict-aliasing -Wno-unknown-warning-option -Wsign-compare -Wno-int-conversion -Wno-incompatible-function-pointer-types -Wno-parentheses -Wno-unused-variable -Wno-pointer-sign -Wno-missing-braces -Wno-missing-field-initializers -Wno-null-pointer-arithmetic -Wno-char-subscripts -Wno-pointer-to-int-cast -Wno-unused-but-set-variable -Wno-unused-value -Wno-unused-function -Wno-empty-body -Wno-sometimes-uninitialized -Wno-string-plus-int -Wno-unknown-pragmas -Wno-delete-non-abstract-non-virtual-dtor -Wno-deprecated-non-prototype -Wno-unused-variable
117+
CF1 = -target arm64-pc-windows-msvc -march=armv8-a+crc+crypto -fno-strict-aliasing -Wno-unknown-warning-option -Wsign-compare -Wno-int-conversion -Wno-incompatible-function-pointer-types -Wno-parentheses -Wno-unused-variable -Wno-pointer-sign -Wno-missing-braces -Wno-missing-field-initializers -Wno-null-pointer-arithmetic -Wno-char-subscripts -Wno-pointer-to-int-cast -Wno-unused-but-set-variable -Wno-unused-value -Wno-unused-function -Wno-empty-body -Wno-sometimes-uninitialized -Wno-string-plus-int -Wno-unknown-pragmas -Wno-delete-non-abstract-non-virtual-dtor -Wno-deprecated-non-prototype -Wno-unused-variable -Wno-single-bit-bitfield-constant-conversion
106118
CFLAGS = $(COPTION) $(CINCLUDE) /DHAVE_NEON64=1 /D JAMALGAM /DC_NA=0 /WX /W3 /O2 /GS- /Zc:strictStrings /D_USING_V110_SDK71_ /D_CRT_SECURE_NO_WARNINGS /MT $(CF1)
107119
FLAGS = $(LDEBUG) /NOLOGO /STACK:0xc00000 /MACHINE:ARM64 /SUBSYSTEM:CONSOLE,5.02
108120
ASMFLAGS = /Cx
109121
else ifeq (x64,$(TARGET_CPU))
110-
CF1 = -maes -msse3 -fno-strict-aliasing -Wno-unknown-warning-option -Wsign-compare -Wno-int-conversion -Wno-incompatible-function-pointer-types -Wno-parentheses -Wno-unused-variable -Wno-pointer-sign -Wno-missing-braces -Wno-missing-field-initializers -Wno-null-pointer-arithmetic -Wno-char-subscripts -Wno-pointer-to-int-cast -Wno-unused-but-set-variable -Wno-unused-value -Wno-unused-function -Wno-empty-body -Wno-sometimes-uninitialized -Wno-string-plus-int -Wno-unknown-pragmas -Wno-delete-non-abstract-non-virtual-dtor -Wno-deprecated-non-prototype -Wno-unused-variable
122+
CF1 = -maes -msse3 -fno-strict-aliasing -Wno-unknown-warning-option -Wsign-compare -Wno-int-conversion -Wno-incompatible-function-pointer-types -Wno-parentheses -Wno-unused-variable -Wno-pointer-sign -Wno-missing-braces -Wno-missing-field-initializers -Wno-null-pointer-arithmetic -Wno-char-subscripts -Wno-pointer-to-int-cast -Wno-unused-but-set-variable -Wno-unused-value -Wno-unused-function -Wno-empty-body -Wno-sometimes-uninitialized -Wno-string-plus-int -Wno-unknown-pragmas -Wno-delete-non-abstract-non-virtual-dtor -Wno-deprecated-non-prototype -Wno-unused-variable -Wno-single-bit-bitfield-constant-conversion
111123
CFLAGS = $(COPTION) $(CINCLUDE) /D JAMALGAM /DC_NA=0 /WX /W3 /O2 /GS- /Zc:strictStrings /D_USING_V110_SDK71_ /D_CRT_SECURE_NO_WARNINGS /MT $(CF1)
112124
FLAGS = $(LDEBUG) /NOLOGO /STACK:0xc00000 /MACHINE:X64 /SUBSYSTEM:CONSOLE,5.02
113125
ASMFLAGS = /Cx
114126
NASM_FLAGS = -fwin64
115127
else
116-
CF1 = -m32 -maes -msse2 -fno-strict-aliasing -Wno-unknown-warning-option -Wsign-compare -Wno-int-conversion -Wno-incompatible-function-pointer-types -Wno-parentheses -Wno-unused-variable -Wno-pointer-sign -Wno-missing-braces -Wno-missing-field-initializers -Wno-null-pointer-arithmetic -Wno-char-subscripts -Wno-pointer-to-int-cast -Wno-unused-but-set-variable -Wno-unused-value -Wno-unused-function -Wno-empty-body -Wno-sometimes-uninitialized -Wno-string-plus-int -Wno-unknown-pragmas -Wno-delete-non-abstract-non-virtual-dtor -Wno-deprecated-non-prototype -Wno-unused-variable
128+
CF1 = -m32 -maes -msse2 -fno-strict-aliasing -Wno-unknown-warning-option -Wsign-compare -Wno-int-conversion -Wno-incompatible-function-pointer-types -Wno-parentheses -Wno-unused-variable -Wno-pointer-sign -Wno-missing-braces -Wno-missing-field-initializers -Wno-null-pointer-arithmetic -Wno-char-subscripts -Wno-pointer-to-int-cast -Wno-unused-but-set-variable -Wno-unused-value -Wno-unused-function -Wno-empty-body -Wno-sometimes-uninitialized -Wno-string-plus-int -Wno-unknown-pragmas -Wno-delete-non-abstract-non-virtual-dtor -Wno-deprecated-non-prototype -Wno-unused-variable -Wno-single-bit-bitfield-constant-conversion
117129
# /Og fail g310r
118130
# /Oy crash ]^:_"1[0
119131
CFLAGS = $(COPTION) $(CINCLUDE) /D JAMALGAM /WX /W3 /O2 /GS- /Zc:strictStrings /D_USING_V110_SDK71_ /D_CRT_SECURE_NO_WARNINGS /MT $(CF1)
@@ -388,15 +400,15 @@ else
388400
SYNCLIB = synchronization.lib
389401
endif
390402

391-
$(ODIR)/$(TARGET) : $(OBJS) $(OBJSLN) $(SRC_ASM) $(OBJS_ASM) $(ASM) $(PTHREADLIB) $(RCS)
392-
$(LD) /NOLOGO /DEF:$(DEF) $(FLAGS) /out:$@ $(OBJS) $(OBJSLN) $(SRC_ASM) $(OBJS_ASM) $(ASM) $(PTHREADLIB) $(RCS) $(MPIRLIB) ole32.lib advapi32.lib oleaut32.lib onecore.lib $(SYNCLIB) $(LOPENMP)
403+
$(ODIR)/$(TARGET) : $(OBJS) $(OBJSLN) $(SRC_ASM) $(OBJS_ASM) $(OBJS_SIMDUTF8) $(OBJS_PTHREADS4W) $(ASM) $(PTHREADLIB) $(RCS)
404+
$(LD) /NOLOGO /DEF:$(DEF) $(FLAGS) /out:$@ $(OBJS) $(OBJSLN) $(SRC_ASM) $(OBJS_ASM) $(OBJS_SIMDUTF8) $(OBJS_PTHREADS4W) $(ASM) $(PTHREADLIB) $(RCS) $(MPIRLIB) ole32.lib advapi32.lib oleaut32.lib onecore.lib $(SYNCLIB) $(LOPENMP)
393405

394406
all : $(ODIR)/$(TARGET)
395407

396408
noclean :
397409
#
398410

399411
clean :
400-
rm -f $(ODIR)/*.lib $(ODIR)/*.exp $(ODIR)/*.ilk $(ODIR)/*.pdb $(OBJS) $(OBJSLN) $(OBJS_SIMDUTF8) $(SRC_ASM) $(RCS)
412+
rm -f $(ODIR)/*.lib $(ODIR)/*.exp $(ODIR)/*.ilk $(ODIR)/*.pdb $(OBJS) $(OBJSLN) $(OBJS_SIMDUTF8) $(OBJS_PTHREADS4W) $(SRC_ASM) $(RCS)
401413

402414
.PHONY: all clean nonclean

0 commit comments

Comments
 (0)