Commit Graph

2 Commits

Author SHA1 Message Date
Simone 2207fbf217 refactor: replace bundle symlinks with direct vendor paths in vcxproj
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)
2026-05-03 02:02:01 +02:00
Simone e125ea5f9c feat(26.01): add bundle wrapper directory with NSIS sources and vendor symlinks
7-Zip 26.01 (ip7z/7zip) never shipped NSIS plugin sources, so they live in
a separate bundle directory (versions/26.01-bundle/) that mirrors the layout
expected by the shared overlay makefile and by MSBuild.

Bundle contents:
- CPP/7zip/Bundles/Nsis7z/: NSIS plugin wrapper sources (nsis7z.cpp,
  pluginapi.cpp, api.h, resource.rc, StdAfx.h, …) and the Windows build
  project file (Nsis7z_vs2026.vcxproj, adapted from versions/26.00/).
  The vcxproj references the vendor submodule tree via relative paths
  (../../../../../26.01/…), keeping the submodule pristine.
- CPP/7zip/UI/NSIS/: NSIS UI adapter sources (Main.cpp, MainAr.cpp,
  NSISBreak.cpp, ExtractCallbackConsole.cpp, UserInputUtils2.cpp and
  corresponding headers), copied from versions/26.00/.
- CPP/7zip/LzmaDec_gcc.mak: forwarding stub; GNU make resolves relative
  `include` paths against the CWD, so when make runs from Bundles/Nsis7z
  the upstream Arc_gcc.mak's `include ../../LzmaDec_gcc.mak` lands here.
  The stub re-includes the real file via $(VENDOR_7ZIP).
- Symlinks (C, Asm, CPP/7zip/*, CPP/Common, CPP/Windows, …) pointing into
  the versions/26.01 submodule.  These are required because the vendor
  makefile uses CWD-relative source paths (../../../../C/…, ../../Common/…).
  tools/linux/setup_26_01_bundle_symlinks.py recreates them if needed.
2026-05-03 01:19:44 +02:00