nasm: don't depend on canonicalize_file_name(3)

It is a glibc-specific function that has a portable replacement, and
nasm already has code to fall back to this portable replacement.
Having nasm depend on the glibc-specific function is one of the
obstacles to chromium building with other libcs, so getting rid of
it is nice.

Note that the relevant config header (config/config-linux.h) is an
indirect result of running autoconf + configure on a developer
workstation when rolling a new nasm version, so those config
headers do not necessarily reflect the environment chromium is being
built in when we ship source tarballs. To work around that, this
change adds a post-processing step that corrects configure's output,
and adds a note to run it as part of the nasm uprev process.

Since I was touching nasm anyway, this change also ports
generate_nasm_sources.py from python2 to python3.

Bug: 1380656
Change-Id: I59dc3bda4a119cd440d05674550aa5c3af6b2390
4 files changed
tree: e7983f5b6458f9019cf9dfbf91d06caf63ad803f
  1. asm/
  2. autoconf/
  3. common/
  4. config/
  5. contrib/
  6. disasm/
  7. doc/
  8. headers/
  9. include/
  10. macros/
  11. misc/
  12. Mkfiles/
  13. nasmlib/
  14. nsis/
  15. output/
  16. perllib/
  17. rdoff/
  18. stdlib/
  19. test/
  20. tools/
  21. travis/
  22. x86/
  23. .gitattributes
  24. .gitignore
  25. .travis.yml
  26. AUTHORS
  27. autogen.sh
  28. BUILD.gn
  29. ChangeLog
  30. CHANGES
  31. codereview.settings
  32. configure.ac
  33. DIR_METADATA
  34. find_patches.py
  35. generate_nasm_configs.py
  36. generate_nasm_sources.py
  37. INSTALL
  38. LICENSE
  39. Makefile.in
  40. nasm.spec.in
  41. nasm.spec.sed
  42. nasm.txt
  43. nasm_assemble.gni
  44. nasm_sources.gni
  45. ndisasm.txt
  46. OWNERS
  47. PRESUBMIT.py
  48. README.chromium
  49. README.md
  50. README.patches
  51. SubmittingPatches
  52. version
  53. version.h
  54. version.pl
README.md

NASM, the Netwide Assembler

master

Many many developers all over the net respect NASM for what it is: a widespread (thus netwide), portable (thus netwide!), very flexible and mature assembler tool with support for many output formats (thus netwide!!).

Now we have good news for you: NASM is licensed under the "simplified" (2-clause) BSD license. This means its development is open to even wider society of programmers wishing to improve their lovely assembler.

Visit our nasm.us website for more details.

With best regards, the NASM crew.