blob: 63ba29fe7daaf6a6e304998ec464e0c5cd36025a [file] [log] [blame]
Dale Curtis9596cc02018-10-31 14:25:55 -07001Name: Netwide Assembler
2Short Name: nasm
3URL: https://www.nasm.us/
4Version: bfa1ed0ae9cb15b54b008431d122db3c22cd45eb
Adrian Taylore64bc6c2020-06-29 11:40:55 -07005CPEPrefix: cpe:/a:nasm:netwide_assembler:2.14:rc15
Dale Curtis9596cc02018-10-31 14:25:55 -07006License: 2-Clause BSD
Raphael Kubo da Costa63707e52018-12-05 12:18:29 +01007License File: LICENSE
Dale Curtis9596cc02018-10-31 14:25:55 -07008Security Critical: no
9Source: https://repo.or.cz/nasm.git
10
Dale Curtis417709d2018-11-19 15:46:52 -080011--[ DESCRIPTION ] ------------------
Dale Curtis9596cc02018-10-31 14:25:55 -070012This contains the source to NASM, the assembler used for parts of Chromium.
13
Dale Curtis9596cc02018-10-31 14:25:55 -070014
Dale Curtis417709d2018-11-19 15:46:52 -080015--[ PATCHES ] ------------------
16* See README.patches for the full listing.
17
18If you make any changes to nasm which are not in upstream, please update the
19README.patches file with the following command:
20
21 ./find_patches.py > README.patches
22
23Note: This script only works if you have added upstream as a remote per the
24directions in updating below.
25
26
27--[ UPDATING ] ------------------
Dale Curtis9596cc02018-10-31 14:25:55 -070028To update, have clang in your system path (from //third_party/llvm-
29build/Release+Asserts/bin) then do the following:
30
Dale Curtis3dacc5e2018-11-01 10:48:41 -070031 git remote add upstream https://repo.or.cz/nasm.git
32 git fetch upstream
33 git merge upstream/master
Dale Curtis0e9e5be2018-11-01 17:34:21 -070034
35 # Maybe use git mergetool to resolve any conflicts with local patches.
36
37 # ***DO NOT USE*** git cl upload for this part or you will spam every author
38 # who committed something upstream with a Gerrit issue... :O You must also
39 # have the correct Gerrit permissions from one of the OWNERS to do this.
40 git push origin master
41
42 # You can safely use git cl upload for all of your own modifications past this
43 # point; I.e., once you have pushed all the commits from the git merge.
44
Dale Curtis3dacc5e2018-11-01 10:48:41 -070045 CC=clang CXX=clang++ ./autogen.sh
46 CC=clang CXX=clang++ ./configure
47 make perlreq
48 ./generate_nasm_sources.py
49 git add <any new .c/.h files which show up>
Dale Curtis9596cc02018-10-31 14:25:55 -070050
Dale Curtis3dacc5e2018-11-01 10:48:41 -070051 # Copy config/config.h to config-(mac|win|linux).h
52 # Revert config/config.h to the checked in version
53
54 git commit -a
55
Dale Curtis417709d2018-11-19 15:46:52 -080056
57--[ CONFIG_H_ ] ------------------
Dale Curtis3dacc5e2018-11-01 10:48:41 -070058In the event any new config.h flags are added, you may need to regenerate the
Dale Curtis0e9e5be2018-11-01 17:34:21 -070059config.h for Linux and Mac. You may be able to just copy new flags into all
Dale Curtis3dacc5e2018-11-01 10:48:41 -070060platform configurations, but this may not always work.
61
62The mac configuration may need some additional changes depending on the current
63SDK version being targeted by Chrome; the following change was made for 10.9:
64/* #undef HAVE_FACCESSAT */
65
Dale Curtis417709d2018-11-19 15:46:52 -080066
67--[ TODOS ] ------------------
Dale Curtis0e9e5be2018-11-01 17:34:21 -070068TODO(dalecurtis): See if there's a CFLAG that can be given to configure to avoid
69it using 10.10 features while Chrome targets 10.9 SDK.