/ externals / xbyak / test / test_nm.bat
test_nm.bat
 1  @echo off
 2  set FILTER=cat
 3  set Y=0
 4  if /i "%1"=="Y" (
 5  	set Y=1
 6  	set EXE=yasm.exe
 7  	set OPT2=-DUSE_YASM -DXBYAK32
 8  	set OPT3=win32
 9  ) else if /i "%1"=="64" (
10  	set EXE=nasm.exe
11  	set OPT2=-DXBYAK64
12  	set OPT3=win64
13  	set FILTER=normalize_prefix
14  ) else if /i "%1"=="Y64" (
15  	set Y=1
16  	set EXE=yasm.exe
17  	set OPT2=-DUSE_YASM -DXBYAK64
18  	set OPT3=win64
19  	set FILTER=normalize_prefix
20  ) else if /i "%1"=="noexcept" (
21  	set EXE=nasm.exe
22  	set OPT2=-DXBYAK32 -DXBYAK_NO_EXCEPTION
23  	set OPT3=win32
24  ) else (
25  	set EXE=nasm.exe
26  	set OPT2=-DXBYAK32
27  	set OPT3=win32
28  )
29  call set_opt
30  bmake -f Makefile.win all
31  echo cl -I../ make_nm.cpp %OPT% %OPT2% /EHs
32  cl -I../ make_nm.cpp %OPT% %OPT2% /EHs
33  make_nm > a.asm
34  rm -rf a.lst
35  echo %EXE% -f %OPT3% -l a.lst a.asm
36  %EXE% -f %OPT3% -l a.lst a.asm
37  rem connect "?????-" and "??"
38  if /i "%Y%"=="1" (
39  	awk "NR > 1 {if (index($3, ""-"")) { conti=substr($3, 0, length($3) - 1) } else { conti = conti $3; print conti; conti = """" }} " < a.lst |%FILTER% > ok.lst
40  ) else (
41  	awk "{if (index($3, ""-"")) { conti=substr($3, 0, length($3) - 1) } else { conti = conti $3; print conti; conti = """" }} " < a.lst |%FILTER% > ok.lst
42  )
43  make_nm jit > nm.cpp
44  cl -I../ -DXBYAK_TEST nm_frame.cpp %OPT% %OPT2%
45  nm_frame |%FILTER% > x.lst
46  diff -wb x.lst ok.lst && echo "ok"