Skip to content

build: remove Windows CE platform support#35

Merged
gburd merged 2 commits into
masterfrom
build/drop-wince
Jun 25, 2026
Merged

build: remove Windows CE platform support#35
gburd merged 2 commits into
masterfrom
build/drop-wince

Conversation

@gburd

@gburd gburd commented Jun 25, 2026

Copy link
Copy Markdown
Collaborator

What

Remove Windows CE / Windows Mobile platform support.

Why

Windows CE is an obsolete target. Its support was woven through the Windows OS
layer as DB_WINCE conditionals alongside the desktop Windows code, plus a
dedicated Visual Studio build tree and ADO.NET project generation, all adding
maintenance cost for a platform that is no longer built or tested.

Changes

OS layer and headers:

  • Resolve every DB_WINCE / _WIN32_WCE conditional in src/os_windows/ and
    src/dbinc/ to its desktop-Windows branch (os_open.c, os_map.c, os_config.c,
    os_handle.c, os_clock.c, os_errno.c, os_flock.c, os_getenv.c, os_rename.c,
    os_rw.c, os_stat.c, os_dir.c, mut_win32.c, win_db.h, globals.h, mutex_int.h,
    atomic.h, env_globals.c, os_atomic.c).
  • Drop the WinCE-only db_atomic_t dummy field and the WINCE_ATOMIC_MAGIC
    writes that padded it.
  • db_env_set_win_security is now unconditional on Windows; its generated
    prototype guard is updated accordingly.
  • Remove the WinCE vsnprintf shim in the SQL adapter.

Build system:

  • Delete build_wince/, dist/wince_config.in, the WinCE win_projects files,
    the WinCE ADO.NET generator and testce.2008.csproj, dist/errno.h (only
    copied into build_wince), and the SQLite WinCE makefile.
  • Remove the WinCE steps from s_windows, s_windows_dsp, s_sql_drivers,
    the shared ADO.NET adapt_*.xq.in scripts, the validate scripts, and the
    clib_port.in / srcfiles.in comments.

Docs:

  • Delete the Windows Mobile installation pages and remove their chapter from the
    installation table of contents.

Scope

No configure regeneration is needed: DB_WINCE was never an Autoconf
template, only set by the deleted build_wince config header and the Visual
Studio preprocessor. Incidental historical mentions in reference prose and
vendored third-party files (config.sub, libtool, the SQLite amalgamation) are
left untouched.

Verification

Builds clean with meson (macOS clang) after the removal. The src/os_windows/
sources are compiled only on Windows (not by the gating CI matrix); each
DB_WINCE block was resolved to the existing desktop branch and the edited
files were checked for brace/preprocessor balance.

gburd added 2 commits June 25, 2026 09:14
Windows CE / Windows Mobile is an obsolete target.  Its support was woven
through the Windows OS layer as DB_WINCE conditionals alongside the desktop
Windows code, plus a dedicated Visual Studio build tree and ADO.NET project
generation.  Remove it, keeping the desktop Windows paths the conditionals
fell through to.

OS layer and headers:
- Resolve every DB_WINCE / _WIN32_WCE conditional in src/os_windows/ and
  src/dbinc/ to its desktop-Windows branch: os_open.c, os_map.c, os_config.c,
  os_handle.c, os_clock.c, os_errno.c, os_flock.c, os_getenv.c, os_rename.c,
  os_rw.c, os_stat.c, os_dir.c, mut_win32.c, win_db.h, globals.h, mutex_int.h,
  atomic.h, env_globals.c, os_atomic.c.
- Drop the WinCE-only db_atomic_t "dummy" field and the WINCE_ATOMIC_MAGIC
  writes that padded it.
- db_env_set_win_security is now unconditional on Windows; update its prototype
  guard in the generated ext_prot.in / ext_def.in.
- Remove the WinCE vsnprintf shim in the SQL adapter.

Build system:
- Delete build_wince/, dist/wince_config.in, dist/win_projects/db_wince.projects
  and projects_wince.template.xml, dist/adodotnet/gen_wince_project.xq.in and
  testce.2008.csproj, dist/errno.h (only copied into build_wince), and
  lang/sql/sqlite/Makefile.arm-wince-mingw32ce-gcc.
- Remove the WinCE steps from s_windows, s_windows_dsp, s_sql_drivers, and the
  WinCE variables and branches from the shared ADO.NET adapt_*.xq.in scripts.
- Drop the build_wince filters from the validate scripts and the WinCE comment
  in clib_port.in and srcfiles.in.

Docs:
- Delete the Windows Mobile installation pages and remove their chapter from the
  installation table of contents.

No configure regeneration is required: DB_WINCE was never an Autoconf template,
only set by the deleted build_wince config header and the VS preprocessor.
Incidental historical mentions in reference prose and vendored third-party files
(config.sub, libtool, the SQLite amalgamation) are left untouched.
@gburd gburd merged commit 360fd31 into master Jun 25, 2026
36 of 39 checks passed
@gburd gburd deleted the build/drop-wince branch June 25, 2026 13:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant