Update config scripts to account for changes in upstream nasm.
Notes:
* Some names have changed in the Makefile.
* We don't need the disassembler, so don't include those sources,
they have some compiler warnings we don't need to exclude.
* configure detection of strlcpy isn't working properly for some
reasons, so generate_nasm_config force disables it.
Bug: 406089864
Change-Id: I3817fe2a364e22711086963831f3d516b43d1290
diff --git a/generate_nasm_configs.py b/generate_nasm_configs.py
index b419879..51d71ac 100755
--- a/generate_nasm_configs.py
+++ b/generate_nasm_configs.py
@@ -31,8 +31,11 @@
# doesn't exist.
(r'#define HAVE_CANONICALIZE_FILE_NAME 1',
r'/* #undef HAVE_CANONICALIZE_FILE_NAME */ // Controlled by the Chromium build process - see generate_nasm_configs.py'
+ ),
+ (r'#define HAVE_STRLCPY 1',
+ r'/* #undef HAVE_STRLCPY */ // Shouldn\'t work with -std=c11, but configure still detects it.'
)
- ])
+ ])
def UpdateMacConfig(path):
diff --git a/generate_nasm_sources.py b/generate_nasm_sources.py
index 4621c7e..11936f2 100755
--- a/generate_nasm_sources.py
+++ b/generate_nasm_sources.py
@@ -30,14 +30,14 @@
split_line = line[:-1]
continue
line = line.strip()
- if not line:
+ if not line or line.startswith('#'):
continue
name, value = line.split('=')
name = name.strip()
value = value.replace("$(O)", "c")
files = value.split()
files.sort()
- files = [file for file in files]
+ files = [file for file in files if file.endswith(('.c', '.h'))]
ret[name] = files
return ret
@@ -65,10 +65,15 @@
""",
file=out)
# Results in duplicated symbols in nasm.c
- file_lists['LIBOBJ'].remove('nasmlib/errfile.c')
+ file_lists['LIBOBJ_NW'].remove('nasmlib/errfile.c')
- PrintFileList(out, "ndisasm_sources", file_lists['NDISASM'])
- PrintFileList(out, "nasmlib_sources", file_lists['LIBOBJ'])
+ # We don't use the disassembler and these files have compiler warnings.
+ file_lists['LIBOBJ_NW'].remove('disasm/disasm.c')
+ file_lists['LIBOBJ_NW'].remove('disasm/sync.c')
+
+ PrintFileList(out, "nasmlib_sources",
+ file_lists['LIBOBJ_NW'] + file_lists['WARNOBJ'] +
+ file_lists['WARNFILES'])
PrintFileList(out, "nasm_sources", file_lists['NASM'])
if __name__ == "__main__":