No description
Find a file
H. Peter Anvin (Intel) c68bf5ef57 ci: add a real-MSVC (cl.exe/nmake) build job
Add a build-msvc job on windows-latest that uses
step-security/msvc-dev-cmd to set up the MSVC developer environment,
builds NASM with 'nmake /f Mkfiles/msvc.mak', and smoke-tests the
resulting nasm.exe/ndisasm.exe by assembling and disassembling a tiny
program and building a win64 object file.

step-security/msvc-dev-cmd is a StepSecurity-maintained, drop-in
replacement for the more widely known ilammy/msvc-dev-cmd@v1 action;
the latter's newest release (v1.13.0, Jan 2024) still targets the
now-deprecated Node.js 20 runtime with no newer release in sight,
while step-security's fork tracks Node.js 24.

This is the first CI coverage of the MSVC build path (Mkfiles/msvc.mak
+ config/msvc.h), which previously had no automated verification.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-07-07 13:22:36 -07:00
.github/workflows ci: add a real-MSVC (cl.exe/nmake) build job 2026-07-07 13:22:36 -07:00
asm files: formalize storing "mapped" file names in the filenames system 2026-07-06 17:08:01 -07:00
autoconf autoconf: sync with upstream pa_option_lto.m4 2026-06-04 10:50:54 -07:00
common files: formalize storing "mapped" file names in the filenames system 2026-07-06 17:08:01 -07:00
config config/msvc.h: fill in gaps versus configure.ac/config.h.in 2026-07-07 12:57:50 -07:00
contrib contrib/MSVC6.txt: Add guide how to use nasm in MSVC6 2010-01-24 23:17:55 +03:00
disasm Merge remote-tracking branch 'maciej/for-hpa-fixes' 2026-02-26 15:32:29 -08:00
doc doc: fix the example for saving and restoring list options 2026-06-29 07:10:26 -07:00
editors editors/nasmtok.pl: break nasmtok.json into lines 2026-07-04 19:58:07 -07:00
include files: formalize storing "mapped" file names in the filenames system 2026-07-06 17:08:01 -07:00
macros Disable other warnings in endstruc 2025-10-03 10:30:33 -07:00
misc omfdump.c: add updates from Bernd Böckmann 2026-06-07 21:00:04 -07:00
Mkfiles Mkfiles/: sync with Makefile.in 2026-07-06 13:54:38 -07:00
nasmlib file.c: include <windows.h> before <stringapiset.h> 2026-07-07 13:12:06 -07:00
nsis nsis: remove references to RDOFF tools 2022-11-08 18:22:25 -08:00
output Add --debug-prefix-map option 2026-07-04 19:22:48 -07:00
perllib Fix some typos 2022-01-09 17:34:35 +01:00
stdlib nasmlib: move filename_set_extension() into path.c 2025-12-15 09:58:42 -08:00
templates Rename "headers" directory to "templates", add .h template 2025-10-15 17:34:29 -07:00
test test: remove test/performtest.pl and redirect {test,golden} targets 2026-07-06 13:58:35 -07:00
tools Add --debug-prefix-map option 2026-07-04 19:22:48 -07:00
travis Add --debug-prefix-map option 2026-07-04 19:22:48 -07:00
win windows host: add embedded manifest file 2024-01-29 17:19:32 -08:00
x86 x86/insns.pl, tools/testgen: share cc/scc condition-code tables 2026-07-02 00:05:47 -07:00
zlib zlib: yet one more portability hack 2025-09-05 20:08:18 -07:00
.editorconfig .editorconfig: hard tabs are still 8 spaces 2024-06-10 21:12:52 -07:00
.gitattributes gitattributes: don't try to merge the version file 2020-06-30 13:48:13 -07:00
.gitignore Rename travis.mk[.in] -> travis.mak[.in] 2026-07-06 14:09:02 -07:00
.travis.yml travis: Disable osx for a while 2018-10-17 21:40:14 +03:00
AUTHORS Correct name spelling and email address 2015-01-18 20:21:14 +02:00
autogen.sh autogen.sh: Use $PATH_SEPARATOR as a path separator of ACLOCAL_PATH 2025-10-03 10:29:57 -07:00
ChangeLog Fix some typos 2022-01-09 17:34:35 +01:00
CHANGES Move the revision history into the documentation 2008-07-14 02:45:57 -04:00
configure.ac Rename travis.mk[.in] -> travis.mak[.in] 2026-07-06 14:09:02 -07:00
INSTALL Fix some typos 2022-01-09 17:34:35 +01:00
LICENSE treewide: replace verbose copyright headers with SPDX tags 2025-10-01 11:45:31 -07:00
Makefile.in Rename travis.mk[.in] -> travis.mak[.in] 2026-07-06 14:09:02 -07:00
nasm.spec.in nasm.spec.in: change http:// to https:// 2025-10-09 17:19:54 -07:00
nasm.spec.sed nasm.spec: use a sed file to insert perl dependencies 2017-04-23 18:54:23 -07:00
nasm.txt Add --debug-prefix-map option 2026-07-04 19:22:48 -07:00
ndisasm.txt ndisasm: man -- Add missing -p option 2013-04-20 20:18:46 +04:00
README.md doc: remove references to sourceforge 2020-07-01 21:48:44 -07:00
SubmittingPatches SubmittingPatches: more up to date information about the patch format 2026-06-11 12:47:32 -07:00
travis.mak.in Rename travis.mk[.in] -> travis.mak[.in] 2026-07-06 14:09:02 -07:00
version NASM 3.02 2026-06-28 20:37:13 -07:00
version.pl Move editor help files to editors/, add NASM version number 2025-10-02 13:49:43 -07:00

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.