From 46d1ef68bda5bbd19baec078f3156a7b2132243e Mon Sep 17 00:00:00 2001 From: David Anderson Date: Sun, 26 Aug 2018 11:28:25 -0700 Subject: [PATCH] Build assembly files with AMBuild. (#481) * Remove prebuilt nasm-generated object files from the tree, and use AMBuild to compile them. * Add commands in VS project to build the object files * Rename elf to elf32 for consistency --- .gitignore | 2 ++ .travis.yml | 3 +- AMBuildScript | 57 ++++++++++++++++++++++++++++++ amxmodx/AMBuilder | 29 +++++---------- amxmodx/JIT/amxexecn-darwin.o | Bin 12049 -> 0 bytes amxmodx/JIT/amxexecn.o | Bin 13024 -> 0 bytes amxmodx/JIT/amxexecn.obj | Bin 12627 -> 0 bytes amxmodx/JIT/amxjitsn-darwin.o | Bin 24220 -> 0 bytes amxmodx/JIT/amxjitsn.o | Bin 25968 -> 0 bytes amxmodx/JIT/amxjitsn.obj | Bin 26250 -> 0 bytes amxmodx/JIT/helpers-darwin-x86.o | Bin 365 -> 0 bytes amxmodx/JIT/helpers-x86.o | Bin 592 -> 0 bytes amxmodx/JIT/helpers-x86.obj | Bin 381 -> 0 bytes amxmodx/JIT/natives-amd64.o | Bin 2304 -> 0 bytes amxmodx/JIT/natives-darwin-x86.o | Bin 708 -> 0 bytes amxmodx/JIT/natives-x86.o | Bin 1040 -> 0 bytes amxmodx/JIT/natives-x86.obj | Bin 788 -> 0 bytes amxmodx/msvc12/amxmodx_mm.vcxproj | 18 +++++++++- appveyor.yml | 9 +++-- configure.py | 2 ++ support/checkout-deps.sh | 39 +++++++++++++++----- 21 files changed, 127 insertions(+), 32 deletions(-) delete mode 100644 amxmodx/JIT/amxexecn-darwin.o delete mode 100755 amxmodx/JIT/amxexecn.o delete mode 100755 amxmodx/JIT/amxexecn.obj delete mode 100644 amxmodx/JIT/amxjitsn-darwin.o delete mode 100755 amxmodx/JIT/amxjitsn.o delete mode 100755 amxmodx/JIT/amxjitsn.obj delete mode 100644 amxmodx/JIT/helpers-darwin-x86.o delete mode 100644 amxmodx/JIT/helpers-x86.o delete mode 100644 amxmodx/JIT/helpers-x86.obj delete mode 100755 amxmodx/JIT/natives-amd64.o delete mode 100644 amxmodx/JIT/natives-darwin-x86.o delete mode 100755 amxmodx/JIT/natives-x86.o delete mode 100755 amxmodx/JIT/natives-x86.obj diff --git a/.gitignore b/.gitignore index 75af3bbf..8692a2f5 100644 --- a/.gitignore +++ b/.gitignore @@ -84,3 +84,5 @@ Thumbs.db # AMXX plugin build related files plugins/compile.dat plugins/compiled/ + +build_deps/ diff --git a/.travis.yml b/.travis.yml index 0237f218..5dfce31c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -8,6 +8,7 @@ addons: - linux-libc-dev - gcc-multilib - g++-multilib + - nasm sources: - llvm-toolchain-precise-3.7 - ubuntu-toolchain-r-test @@ -23,4 +24,4 @@ script: - mkdir build && cd build - PATH="~/.local/bin:$PATH" - CC=clang-3.7 CXX=clang-3.7 python ../configure.py --enable-optimize - - ambuild \ No newline at end of file + - ambuild diff --git a/AMBuildScript b/AMBuildScript index 7c4388bf..12f361ed 100644 --- a/AMBuildScript +++ b/AMBuildScript @@ -20,6 +20,7 @@ class AMXXConfig(object): self.utf8rewind = None self.csx_app = None self.stdcxx_path = None + self.nasm_path = None def use_auto_versioning(self): if builder.backend != 'amb2': @@ -105,6 +106,31 @@ class AMXXConfig(object): if not self.mysql_path: raise Exception('Could not find MySQL! Try passing --mysql to configure.py.') + def detectNASM(self): + import subprocess + + nasm_paths = [ + getattr(builder.options, 'nasm_path', 'nasm'), + ] + if builder.target_platform == 'windows': + nasm_paths += [os.path.join( + builder.sourcePath, + 'build_deps', + 'nasm', + 'nasm.exe') + ] + + for nasm_path in nasm_paths: + try: + subprocess.check_output([nasm_path, '-v']) + self.nasm_path = nasm_path + break + except: + pass + + if self.nasm_path is None: + raise Exception('Could not find a suitable path for nasm') + # Returns list of lines of output from the compiler @staticmethod def invokeCompiler(args): @@ -369,11 +395,42 @@ class AMXXConfig(object): binary = context.compiler.Program(name) return self.AddVersioning(binary) + def AddAssembly(self, context, binary, input_file, output_file, includes=[], extra_argv=[]): + if builder.target_platform == 'windows': + obj_type = 'win32' + elif builder.target_platform == 'linux': + obj_type = 'elf32' + elif builder.target_platform == 'mac': + obj_type = 'macho32' + + input_path = os.path.join(context.currentSourcePath, input_file) + output_path = output_file + + argv = [ + self.nasm_path, + '-I{0}{1}'.format(context.currentSourcePath, os.sep), + input_path, + '-f', obj_type, + '-o', output_path, + ] + extra_argv + + extra_includes = [] + for include_file in includes: + extra_includes.append(os.path.join(context.currentSourcePath, include_file)) + + cmd_node, output_nodes = context.AddCommand( + inputs = [input_path] + extra_includes, + argv = argv, + outputs = [output_path]) + + binary.compiler.linkflags += [output_nodes[0]] + AMXX = AMXXConfig() AMXX.detectProductVersion() AMXX.detectMetamod() AMXX.detectHlsdk() AMXX.detectMysql() +AMXX.detectNASM() AMXX.configure() if AMXX.use_auto_versioning(): diff --git a/amxmodx/AMBuilder b/amxmodx/AMBuilder index 92da4709..815271f7 100644 --- a/amxmodx/AMBuilder +++ b/amxmodx/AMBuilder @@ -9,36 +9,25 @@ binary.compiler.defines += [ 'HAVE_STDINT_H', ] +AMXX.AddAssembly(builder, binary, 'helpers-x86.asm', 'helpers-asm.obj') +AMXX.AddAssembly(builder, binary, 'natives-x86.asm', 'natives-asm.obj') +AMXX.AddAssembly(builder, binary, 'amxexecn.asm', 'amxexecn-asm.obj', + includes=['amxdefn.asm']) +AMXX.AddAssembly(builder, binary, 'amxjitsn.asm', 'amxjitsn-asm.obj', + includes=['amxdefn.asm'], + # Opcode sizes must be maximum width for patching to work. + extra_argv=['-O0']) + if builder.target_platform == 'mac': - jit_objects = [ - binary.Dep('JIT/amxexecn-darwin.o'), - binary.Dep('JIT/amxjitsn-darwin.o'), - binary.Dep('JIT/natives-darwin-x86.o'), - binary.Dep('JIT/helpers-darwin-x86.o'), - ] binary.compiler.postlink += [ '-Wl,-read_only_relocs,suppress' ] -elif builder.target_platform == 'linux': - jit_objects = [ - binary.Dep('JIT/amxexecn.o'), - binary.Dep('JIT/amxjitsn.o'), - binary.Dep('JIT/natives-x86.o'), - binary.Dep('JIT/helpers-x86.o'), - ] elif builder.target_platform == 'windows': - jit_objects = [ - binary.Dep('JIT/amxexecn.obj'), - binary.Dep('JIT/amxjitsn.obj'), - binary.Dep('JIT/helpers-x86.obj'), - binary.Dep('JIT/natives-x86.obj'), - ] binary.compiler.linkflags += [ '/EXPORT:GiveFnptrsToDll=_GiveFnptrsToDll@8,@1', '/SECTION:.data,RW', ] -binary.compiler.linkflags += jit_objects binary.compiler.linkflags += [AMXX.zlib.binary, AMXX.hashing.binary, AMXX.utf8rewind.binary] binary.sources = [ diff --git a/amxmodx/JIT/amxexecn-darwin.o b/amxmodx/JIT/amxexecn-darwin.o deleted file mode 100644 index b215a7fb52d9f2093e7218025ab3913119209e07..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12049 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 Pf5=HBhvAC%gvI}V*K0_+ diff --git a/amxmodx/JIT/amxjitsn-darwin.o b/amxmodx/JIT/amxjitsn-darwin.o deleted file mode 100644 index 1a6d578d5d57eba6f9dceaf6902dd1be98d20686..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24220 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 diff --git a/amxmodx/JIT/amxjitsn.o b/amxmodx/JIT/amxjitsn.o deleted file mode 100755 index 2a4375ed8d690a249554b03274f6065f4ed58067..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25968 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 Mk?Ta_aWlXF147`ucK`qY diff --git a/amxmodx/JIT/amxjitsn.obj b/amxmodx/JIT/amxjitsn.obj deleted file mode 100755 index c96c9a8ea2496c3e2167c46fec1251c639ce20dc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26250 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 SdTEK7IT*_HQu9(kRsjG`{7onT diff --git a/amxmodx/JIT/helpers-x86.obj b/amxmodx/JIT/helpers-x86.obj deleted file mode 100644 index d9268b7f526d8d3a53c2d1682129c26f5fef3af6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 381 zcmeZaWMtTKQre}Pfq{V&h(SQFB(2Ad3)wFZ(taFGBYD>1jCBHp>6G`O^&Ait=D UA)b(cURq*i4u&$l)Vvf10JykGb^rhX diff --git a/amxmodx/JIT/natives-amd64.o b/amxmodx/JIT/natives-amd64.o deleted file mode 100755 index ed6413e26146c1eb0d6a46f8dba100a2c12307f0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2304 zcmbuAOHUL*5XXy$qKJn0jv5t24Ms*J_y~yz%diY_i3bEtjMic(o0*+`?8XtS6h` zXHc1P%3qxF52yUcd0(3D--+g|C~N)Gt%~zjO;%~bD3(TUTez*QM}pZQ$Q!=P=&)Rf zR872K*=GmcWPq`rICin_5*x~qQ(+N_e zZ8}N&W8O^%V*3;wjP28OD7Jg(SZtr+nIf^NmwIBmkNVj@$E`YN&`50Uu5CUwoE^lb z6ooew+9TmvM?6j2V6fQa(4NR-dz_BM_7y$}qBOVabu$uyu~XVvO~-S360ut}-ipcz z=qNrc;Al!NiUFqH0?=2D?+_cx!)3D|UhNb8WsPqIP*QY**@c|n;}*R0{g&$&$Sssg zS$nbQju&Txf%Mq~Ot|-QRUm!8I0KN4$AF9$JwPHW$dv-JJU4L3n$P830e;}#77&^E z`oTO|{0V*jVj7N9MeoKl?z7kBL>x`g6v}$-tct ztQj|-uj?qxE#wRbACy7DIcO|%H8q^cjtyTMRo7Hc<4T+9`+7ZJ6MIbg76PrtQDj=HJKAa^j2$tQ%X zTB^pNRwCZycZHkh@NfgJ=KEir;t5oJ)#q9gm{c9zo7jCDjQ=R(eWw;QRqx?OGjD!~8N|Hz_6Wyc{7-6MG0`iDa71G}h%?u3VTSe1GyKI2 zqT-`o?OND}Y*B@TdQEyS#Hs43%C$}WhgmBoC{)XGsLuoSE^l7n!Q@y#N3J diff --git a/amxmodx/JIT/natives-darwin-x86.o b/amxmodx/JIT/natives-darwin-x86.o deleted file mode 100644 index 9ad779d29ebf8ac2a2b709718302802ccbd40bbd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 708 zcmZ`#!Ab&A6n)izE`|glh=RVLWxF7lauPu?a5Oje7<2@S#>g?Iz?CbRRo_tb4bvt9 zg?6p`ftIam6_K4YzH|b+aNa%VzI*O{yywri?}QLy30MFYffs;5{YWw=>ZpAH%=8oV zGNkkz-<$A>w#=$E(@_lv{fsIWalg=bOhU?r?b*MIGc$%|#55?|OMK)%!S}2JXXw${ zgTe@@Ja`Svt{8f!xwLgWFg)7Fu(LsS2w^`Mtg;G%2AcaZNCFC&NKFmv`XkU~G}ImPKs zDUKvI6;C5q6=#3cr*c)T|A}Hc56|th=4Hp`ZHe%7H(4>-z;=+}5w|5MnscAVc7Qr6hZwz z#yxqp1eP>eo&m}!2TtT{X z;J7(g>>?^;Dn8(xbyQK-@BT&d+*}CLXIT~0e<}R@LUaHDAFN^;og$c!h$nP~cunD# zYRo~1+7*sN&+kPVvkvG863pWbya1N-xxU%J{3hgluHQB=*}_d9Th5?2I-(0FLn7mO z=4`aMNVzLm_4?Z_V*o2P4Yg&PSx&cCY!RH l^ocsSnwm>4O;07wxv5nHC#;$Of8m?$MM}fJkYo>*_5)fjkX--( diff --git a/amxmodx/JIT/natives-x86.obj b/amxmodx/JIT/natives-x86.obj deleted file mode 100755 index 60855c6ab7206c8235be58de78974fbd33623d17..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 788 zcmZvY%}T>S5P&Cb(H?q`q8GjB0~mV{5d>+~ScH^TwDll0t|pOSn}SJ76g<^S>D?F5 zgD)Ud1Q9CqIXv_UJSxVSq)oQeftj88c7AqN7Gm)HJ+nUmfLT-$(bil$aDA(wRZ)9G z7RPfDN~faAY&K+cBv3z5snjh04F!2;Tt@5v!U2SnYdY2={% zdH@%K$!w#kSe38puYP$g9b^7`f+2@WQ7F@`{AS-yO2L z#%wW@p{~KEee_t}b(NiKlkJ&?4a#^JMg?}MahHA=UhX>PId}O_cwngnbB7ZA0Uf=R`~Uy| diff --git a/amxmodx/msvc12/amxmodx_mm.vcxproj b/amxmodx/msvc12/amxmodx_mm.vcxproj index 5ced2abd..e1675884 100644 --- a/amxmodx/msvc12/amxmodx_mm.vcxproj +++ b/amxmodx/msvc12/amxmodx_mm.vcxproj @@ -96,6 +96,14 @@ false .data,RW + + cd .. +md -p JIT 2>NUL +%NASM_PATH%nasm.exe -f win32 helpers-x86.asm -o JIT/helpers-x86.obj +%NASM_PATH%nasm.exe -f win32 natives-x86.asm -o JIT/natives-x86.obj +%NASM_PATH%nasm.exe -f win32 amxexecn.asm -o JIT/amxexecn.obj +%NASM_PATH%nasm.exe -O0 -f win32 amxjitsn.asm -o JIT/amxjitsn.obj + @@ -148,6 +156,14 @@ false .data,RW + + cd .. +md -p JIT 2>NUL +%NASM_PATH%nasm.exe -f win32 helpers-x86.asm -o JIT/helpers-x86.obj +%NASM_PATH%nasm.exe -f win32 natives-x86.asm -o JIT/natives-x86.obj +%NASM_PATH%nasm.exe -f win32 amxexecn.asm -o JIT/amxexecn.obj +%NASM_PATH%nasm.exe -O0 -f win32 amxjitsn.asm -o JIT/amxjitsn.obj + @@ -474,4 +490,4 @@ - + \ No newline at end of file diff --git a/appveyor.yml b/appveyor.yml index 6fa4a461..71556206 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -3,6 +3,11 @@ clone_folder: c:\projects\amxmodx install: - git submodule update --init --recursive - 'c:' +- mkdir c:\nasm +- set PATH=c:\nasm\nasm-2.13.03;%PATH% +- curl -o "c:\nasm\nasm.zip" http://www.nasm.us/pub/nasm/releasebuilds/2.13.03/win32/nasm-2.13.03-win32.zip +- chdir c:\nasm +- 7z x nasm.zip - chdir c:\projects - git clone https://github.com/alliedmodders/ambuild - git clone https://github.com/alliedmodders/metamod-hl1 @@ -22,5 +27,5 @@ build_script: - '"%VS120COMNTOOLS%\vsvars32.bat"' - mkdir build - cd build -- c:\python27\python ../configure.py --enable-optimize -- c:\python27\scripts\ambuild \ No newline at end of file +- c:\python27\python ../configure.py --enable-optimize --nasm="C:\nasm\nasm-2.13.03\nasm.exe" +- c:\python27\scripts\ambuild diff --git a/configure.py b/configure.py index 6c8ab69d..567b09fd 100644 --- a/configure.py +++ b/configure.py @@ -30,4 +30,6 @@ run.options.add_option('--mysql', type='string', dest='mysql_path', default='', help='Path to MySQL') run.options.add_option('--disable-auto-versioning', action='store_true', dest='disable_auto_versioning', default=False, help='Disable the auto versioning script') +run.options.add_option('--nasm', type='string', dest='nasm_path', + default='nasm', help='Path to NASM') run.Configure() diff --git a/support/checkout-deps.sh b/support/checkout-deps.sh index 0153595f..df15be39 100755 --- a/support/checkout-deps.sh +++ b/support/checkout-deps.sh @@ -5,6 +5,22 @@ if [ ! -d "amxmodx" ]; then git clone --recursive https://github.com/alliedmodders/amxmodx.git fi +if [ ! -d "amxmodx/build_deps" ]; then + mkdir amxmodx/build_deps +fi + +download_archive () +{ + if [ `command -v wget` ]; then + wget "$url" -O "$dest" + elif [ `command -v curl` ]; then + curl -o $dest $url + else + echo "Failed to locate wget or curl. Please install one of these programs." + exit 1 + fi +} + if [ "$1" != "--no-mysql" ]; then ismac=0 iswin=0 @@ -34,14 +50,9 @@ if [ "$1" != "--no-mysql" ]; then fi if [ ! -d "mysql-5.5" ]; then - if [ `command -v wget` ]; then - wget $mysqlurl -O mysql.$archive_ext - elif [ `command -v curl` ]; then - curl -o mysql.$archive_ext $mysqlurl - else - echo "Failed to locate wget or curl. Install one of these programs to download MySQL." - exit 1 - fi + url=$mysqlurl + dest=mysql.$archive_ext + download_archive $decomp mysql.$archive_ext mv $mysqlver mysql-5.5 rm mysql.$archive_ext @@ -95,3 +106,15 @@ if [ $? -eq 1 ]; then python setup.py install --user fi fi + +if [ $iswin -eq 1 ]; then + if [ ! -d "amxmodx/build_deps/nasm-2.13.03" ]; then + url=http://www.nasm.us/pub/nasm/releasebuilds/2.13.03/win32/nasm-2.13.03-win32.zip + dest=amxmodx/build_deps/nasm-2.13.03-win32.zip + download_archive + cd amxmodx/build_deps + unzip nasm-2.13.03-win32.zip + rm nasm-2.13.03-win32.zip + mv nasm-2.13.03 nasm + fi +fi