| 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 |
| 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. |
| |
| # ***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 <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. |
| |