build: redirect 26.00 builds to bundle directory

- tools/linux/build_plugin_linux.py: point VERSION_LAYOUT['26.00'].bundle_dir
  to versions/26.00-bundle/ (was versions/26.00/); update module docstring.
- tools/legacy/build_plugin_2600_vs2026.py: point project_dir to
  versions/26.00-bundle/ (was versions/26.00/).
- tools/linux/setup_26_01_bundle_symlinks.py: refactor to use bundle_root /
  vendor_root variables and add C/Asm root-level symlink creation, matching
  the new setup_26_00_bundle_symlinks.py convention.
This commit is contained in:
2026-05-03 01:31:30 +02:00
parent eec05089cf
commit 68f5101c64
3 changed files with 24 additions and 10 deletions
+1 -1
View File
@@ -200,7 +200,7 @@ def find_msbuild(vs_version: str = 'auto') -> 'Optional[Tuple[Path, str, str]]':
def get_project_paths(toolset: str = 'v145') -> Tuple[Path, Path, Path]: def get_project_paths(toolset: str = 'v145') -> Tuple[Path, Path, Path]:
"""Get project directory, project file, and plugins directory""" """Get project directory, project file, and plugins directory"""
script_dir = Path(__file__).parent.absolute() script_dir = Path(__file__).parent.absolute()
project_dir = script_dir.parent.parent / 'versions' / '26.00' project_dir = script_dir.parent.parent / 'versions' / '26.00-bundle'
vcxproj = 'Nsis7z_vs2026.vcxproj' if toolset == 'v145' else 'Nsis7z.vcxproj' vcxproj = 'Nsis7z_vs2026.vcxproj' if toolset == 'v145' else 'Nsis7z.vcxproj'
project_file = project_dir / 'CPP' / '7zip' / 'Bundles' / 'Nsis7z' / vcxproj project_file = project_dir / 'CPP' / '7zip' / 'Bundles' / 'Nsis7z' / vcxproj
plugins_dir = script_dir.parent.parent / 'plugins' plugins_dir = script_dir.parent.parent / 'plugins'
+9 -5
View File
@@ -24,10 +24,14 @@ BUILD_DIR = ROOT / "_linux_build"
SUPPORTED = {"25.01", "26.00", "26.01", "zstd"} SUPPORTED = {"25.01", "26.00", "26.01", "zstd"}
# For 25.01/26.00 the vendor bundle dir already contains our wrapper .cpp # For 25.01 the vendor bundle dir already contains our wrapper .cpp files
# files alongside the upstream 7-zip sources. make is run with -C pointing # alongside the upstream 7-zip sources. make is run with -C pointing there so
# there so relative paths (../../UI/…) resolve correctly, but the makefile # relative paths (../../UI/…) resolve correctly, but the makefile itself comes
# itself comes from OVERLAY and the output objects go to BUILD_DIR. # from OVERLAY and the output objects go to BUILD_DIR.
#
# For 26.00, 26.01: the upstream vendor does NOT ship a Nsis7z bundle, so a
# *-bundle wrapper directory mirrors the vendor tree via symlinks and provides
# project-owned sources (NSIS UI, wrapper cpp files, vcxproj).
# #
# For zstd the 7-zip C++ sources live in the 7-zip-zstd submodule while our # For zstd the 7-zip C++ sources live in the 7-zip-zstd submodule while our
# NSIS wrapper sits in versions/zstd/. make is run with -C pointing to the # NSIS wrapper sits in versions/zstd/. make is run with -C pointing to the
@@ -40,7 +44,7 @@ VERSION_LAYOUT = {
}, },
"26.00": { "26.00": {
"vendor_7zip": ROOT / "versions" / "26.00" / "CPP" / "7zip", "vendor_7zip": ROOT / "versions" / "26.00" / "CPP" / "7zip",
"bundle_dir": ROOT / "versions" / "26.00" / "CPP" / "7zip" / "Bundles" / "Nsis7z", "bundle_dir": ROOT / "versions" / "26.00-bundle" / "CPP" / "7zip" / "Bundles" / "Nsis7z",
}, },
"26.01": { "26.01": {
"vendor_7zip": ROOT / "versions" / "26.01" / "CPP" / "7zip", "vendor_7zip": ROOT / "versions" / "26.01" / "CPP" / "7zip",
+14 -4
View File
@@ -4,10 +4,20 @@ import os
from pathlib import Path from pathlib import Path
ROOT = Path(__file__).resolve().parents[2] ROOT = Path(__file__).resolve().parents[2]
bundle_7zip = ROOT / "versions/26.01-bundle/CPP/7zip" bundle_root = ROOT / "versions/26.01-bundle"
vendor_7zip = ROOT / "versions/26.01/CPP/7zip" vendor_root = ROOT / "versions/26.01"
bundle_cpp = ROOT / "versions/26.01-bundle/CPP" bundle_7zip = bundle_root / "CPP/7zip"
vendor_cpp = ROOT / "versions/26.01/CPP" vendor_7zip = vendor_root / "CPP/7zip"
bundle_cpp = bundle_root / "CPP"
vendor_cpp = vendor_root / "CPP"
# Root-level symlinks: C and Asm
for name in ("C", "Asm"):
target = bundle_root / name
if not target.exists() and not target.is_symlink():
rel = os.path.relpath(vendor_root / name, bundle_root)
os.symlink(rel, target)
print(f" symlink: {target.relative_to(ROOT)} -> {rel}")
for item in vendor_7zip.iterdir(): for item in vendor_7zip.iterdir():
target = bundle_7zip / item.name target = bundle_7zip / item.name