ci(windows): build VS2010 solution retargeted to v143#17
Conversation
The legacy Berkeley_DB.sln references VS2008 .vcproj files that MSBuild can no longer load (MSB4025: root element missing), and devenv isn't on the runner. Switch to Berkeley_DB_vs2010.sln (.vcxproj), build just the `db` library target, and retarget PlatformToolset=v143 + WindowsTargetPlatformVersion=10.0.
…locked_val - The Windows/WinCE builds use checked-in pre-generated db.h; the SSI work updated db.in/api_flags.in but not these copies, so MSVC failed on DB_TXN_SNAPSHOT_SAFE/TXN_SNAPSHOT_SAFE/DB_SNAPSHOT_CONFLICT. Regenerated via dist/s_windows. - mut_win32.c referenced an undefined cast type 'interlocked_val' in the shared-latch path (pre-existing); define it as 'long volatile *' (the type the Interlocked* intrinsics expect).
atomic_read() is not an l-value on the Win32 mutex backend, so &atomic_read(&mutexp->sharecount) failed with C2102. Pass the address of the underlying storage (&mutexp->sharecount.value) to InterlockedExchange/Decrement.
|
Incremental Windows fixes landed here get the build from can't load the project all the way to compiling the whole tree. Fixed: legacy Remaining (separate modernization task): on the newest MSVC (VS18 / 14.44) the build fails with ~416 errors inside the STL |
Fixes the Windows CI build. The legacy
Berkeley_DB.slnuses VS2008.vcprojfiles MSBuild 2022 can't load (MSB4025). Switch toBerkeley_DB_vs2010.sln(.vcxproj), build only thedblibrary project, and retarget to the runner's toolset (v143) and Windows SDK. Keptcontinue-on-erroruntil confirmed green.