Name: Netwide Assembler Short Name: nasm URL: https://www.nasm.us/ Version: 2.15.03rc6 / f1cf95480d9df9e7854a4be6844f86ff854e03d2 CPEPrefix: cpe:/a:nasm:netwide_assembler:2.15.03rc6 License: 2-Clause BSD License File: LICENSE Security Critical: no Source: https://github.com/netwide-assembler/nasm --[ DESCRIPTION ] ------------------ This contains the source to NASM, the assembler used for parts of Chromium. --[ PATCHES ] ------------------ * See README.patches for the full listing. If you make any changes to nasm which are not in upstream, please update the README.patches file with the following command: ./find_patches.py > README.patches Note: This script only works if you have added upstream as a remote per the directions in updating below. --[ UPDATING ] ------------------ To update, have clang in your system path (from //third_party/llvm- build/Release+Asserts/bin) then do the following: git remote add upstream https://github.com/netwide-assembler/nasm.git git fetch upstream git merge upstream/master # Maybe use git mergetool to resolve any conflicts with local patches. # ***DO NOT USE*** git cl upload for this part or you will spam every author # who committed something upstream with a Gerrit issue... :O You must also # have the correct Gerrit permissions from one of the OWNERS to do this. git push origin master # You can safely use git cl upload for all of your own modifications past this # point; I.e., once you have pushed all the commits from the git merge. CC=clang CXX=clang++ CFLAGS="-std=c11 -Werror" ./autogen.sh CC=clang CXX=clang++ CFLAGS="-std=c11 -Werror" ./configure make perlreq ./generate_nasm_sources.py git add # Copy config/config.h to config-(mac|linux).h # Revert config/config.h to the checked in version git commit -a --[ CONFIG_H_ ] ------------------ In the event any new config.h flags are added, you may need to regenerate the config.h for Linux and Mac -- maybe for Windows if they haven't fixed msvc.h. To run the script on macOS you can follow the same instructions as above after setting up autoconf; with Homebrew: brew install autoconf automake libtool You will likely need to set SDKROOT to point to the macOS SDK if you haven't setup Xcode in the past. If you have the hermetic macOS toolchain in your checkout just add: export SDKROOT=$path_to_chrome_src/build/mac_files/xcode_binaries/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk You can stop after configure. Then just follow the copy instructions above. --[ TODOS ] ------------------ None at this time.