blob: acaf77a105b23c778bdea9f3cbdb11412182eed4 [file]
Name: Netwide Assembler
Short Name: nasm
URL: https://www.nasm.us/
Version: 2.16.03 / 888d9ab55012d25059da81fed6575ef3a004726f
CPEPrefix: cpe:/a:nasm:netwide_assembler:2.16.03
License: 2-Clause BSD
License File: LICENSE
Security Critical: no
Shipped: 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.
# You must be a member of the nasm-owners Gerrit group to do the next step.
# You may need to follow go/looker-gob-dev-guide#set-up-change-id-hook to
# setup a Change-Id for the pushed change. You'll get a warning during push
# if you don't have the hook setup.
git push origin HEAD:refs/for/main
# 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
# Note: If make perlreq says everything is up-to-date, you may need to run
# "make spotless" and then rerun the autogen/configure/make steps above.
./generate_nasm_sources.py
git add <any new .c/.h files which show up>
# Copy config/config.h to config-(mac|linux).h
# Revert config/config.h to the checked in version
./generate_nasm_configs.py
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.