Bundle source files (Main.cpp, ExtractCallbackConsole.cpp, MainAr.cpp,
StdAfx.h) use relative #includes like ../../../Common/ and ../../IPassword.h
that work on Linux via POSIX symlinks but fail on Windows where no symlinks
exist in the bundle tree.
Adding versions/VER/CPP/7zip/UI/Common/ as an AdditionalIncludeDirectory
makes MSVC resolve the ../ segments correctly against that anchor directory,
reaching the vendor files without requiring symlinks.
Fixes all three bundles: 25.01, 26.00, 26.01.
Windows builds now use direct relative paths to the vendor submodules
(same pattern as versions/zstd bundle) instead of relying on POSIX
symlinks that git cannot materialise correctly on Windows without
Developer Mode / core.symlinks=true.
Changes:
- Remove all 66 symlinks from each of 25.01-bundle, 26.00-bundle,
26.01-bundle (198 total). POSIX symlinks are still created on Linux
by setup_bundle_symlinks.py for the GNU make builds.
- Update Nsis7z.vcxproj / Nsis7z_vs2026.vcxproj in all three bundles:
depth-4 ..\..\..\..\C\ -> ..\..\..\..\..\VER\C depth-3 ..\..\..\{Common,Windows}\ -> ..\..\..\..\..\VER\CPP\{...} depth-2 (non-NSIS) -> ..\..\..\..\..\VER\CPP\7zip\...
UI\NSIS paths unchanged (real bundle files)
AdditionalIncludeDirectories patched to point at vendor CPP/
- Add tools/fix_bundle_vcxproj_paths.py (idempotent helper used to
perform the rewrite; kept for future reference / re-runs)
Mirror the 26.01-bundle approach for 26.00:
- versions/26.00-bundle/CPP/7zip/Bundles/Nsis7z/: project-owned NSIS plugin
wrapper sources (api.h, nsis7z.cpp, pluginapi.*, resource.*, StdAfx*,
Nsis7z.sln, Nsis7z.vcxproj, Nsis7z.vcxproj.filters, Nsis7z_vs2026.vcxproj).
- versions/26.00-bundle/CPP/7zip/UI/NSIS/: NSIS UI sources (Main.cpp,
ExtractCallbackConsole.*, NSISBreak.*, UserInputUtils2.*, StdAfx.h).
- versions/26.00-bundle/CPP/7zip/LzmaDec_gcc.mak: forwarding stub so that
the CWD-relative `include ../../LzmaDec_gcc.mak` in Arc_gcc.mak resolves
correctly when make runs from the Nsis7z bundle dir.
- versions/26.00-bundle/{C,Asm} and CPP sub-trees: symlinks into versions/26.00/
so the vendor headers and sources are visible without modifying the submodule.
- tools/linux/setup_26_00_bundle_symlinks.py: idempotent script to recreate
all symlinks after a fresh clone + submodule initialisation.