4 Commits

Author SHA1 Message Date
Ville Lindholm
9b0662865e
WIP: switch build to SDL 3 (does not compile yet)
This is the first commit of the SDL 1.2 -> SDL 3 migration. It lands
the build-system change and the include-path rewrites; the code does
NOT compile against SDL 3 yet, by design. Stays on this branch until
the migration is finished.

- CMakeLists.txt: find_package(SDL3 CONFIG) + SDL3::SDL3 /
  SDL3_image::SDL3_image. Drops the legacy FindSDL machinery.
- glSDL.h, sprite.c, glSDL.c, filters.c, gfxengine.cpp, audio.c:
  rewrite #include "SDL*.h" -> <SDL3/...> / <SDL3_image/...>.

Known wall: graphics/glSDL.{c,h} collides with SDL 3's surface API
renames (SDL_FreeSurface, SDL_FillRect, SDL_SetColorKey,
SDL_SetClipRect, SDL_bool). The next phase deletes the entire glSDL
shim and rewrites graphics/ against SDL_Renderer / SDL_Texture.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-05-28 21:23:08 +03:00
Ville Lindholm
9eaf27b297
Migrate build system from autotools to CMake
Replace configure.in + 7 Makefile.am files with a CMake build:
- Top-level CMakeLists.txt with feature detection (SDL 1.2,
  SDL_image, OpenGL, optional OSS/ALSA), platform-specific install
  layouts (macOS .app bundle, Windows simple bundle, Unix), and a
  shared kobo_deps INTERFACE target for flags and link libraries.
- Sub-CMakeLists for graphics/, sound/, eel/ static libraries.
- aconfig.h.cmake.in and Info.plist.cmake.in templates (minimal:
  only the HAVE_* macros actually referenced by the code).

Remove all autotools machinery: configure, configure.in, aclocal.m4,
Makefile.am files, generated Makefile.in files, install-sh, missing,
depcomp, compile, mkinstalldirs, config.guess, config.sub, the
buildpkg.sh Solaris helper, and the cfg-* configure shortcuts.

Update .gitignore for CMake out-of-tree builds, and point
run-kobodl.sh at build/kobodl (overridable via KOBODL_BIN).

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-05-28 21:08:58 +03:00
Ville Lindholm
72d4cd0102
Build on modern macOS
Three source patches the modern clang/C++ frontend requires:
- graphics/window.cpp: strchr on const char* now returns const char*
- filemap.cpp, prefs.cpp: C++11 forbids no-space concatenation of a
  string literal with an adjacent macro identifier

Autotools state regenerated with autoreconf -fi against current
autoconf/automake so configure can be run on macOS 26 / Apple Silicon.

Added run-kobodl.sh to launch the binary from the source tree (the
compiled-in data paths assume a .app bundle), and a .gitignore for
build artifacts.

Out-of-tree dependency: SDL_image 1.2 must be built with
--disable-imageio. Apple's ImageIO backend in IMG_ImageIO.m yields
SDL_Surfaces with all-zero pixel data on current macOS, leaving every
sprite invisible; libpng decodes correctly.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-05-28 20:39:48 +03:00
Ville Lindholm
dbc223eb84
Initial commit
Import existing source tree; original VCS history is no longer available.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-05-28 16:35:31 +03:00