Zelicra PC Emulator - corresponding source for the GPL/LGPL components
=====================================================================

The Android app "Zelicra PC Emulator" (com.zelicra.pcemulator) by Zelicra
Technologies Private Limited ships these programs as separate executables:

  libqemu-system-x86_64.so, libqemu-system-aarch64.so, libqemu-img.so
    = QEMU 11.1.2 (GPL-2.0-or-later), built for Android arm64 with the NDK.

Statically linked into those executables:
  GLib 2.88.3 (LGPL-2.1-or-later)        glib-2.88.3.tar.xz
  pixman 0.46.4 (MIT)                    pixman-0.46.4.tar.xz
  pcre2 10.46 (BSD-3-Clause), libffi 3.5.2 (MIT), proxy-libintl 0.5
  (LGPL-2.1-or-later), as built from GLib's meson subprojects:
                                         glib-subprojects-pcre2-libffi-proxy-libintl.tar.gz
  libslirp 4.7.0 (BSD-3-Clause)          libslirp-source.tar.gz      
                                         (QEMU's pinned wrap, with our patch applied)

Firmware shipped with the app (SeaBIOS, EDK II OVMF/AAVMF) is built from the
sources inside qemu-11.1.2.tar.xz (roms/seabios, roms/edk2).

Files
-----
  qemu-11.1.2.tar.xz           upstream release tarball (download.qemu.org)
  glib-2.88.3.tar.xz           upstream release tarball (download.gnome.org)
  pixman-0.46.4.tar.xz         upstream release tarball (cairographics.org)
  libslirp-source.tar.gz       QEMU subprojects/slirp as built (patched)
  glib-subprojects-pcre2-libffi-proxy-libintl.tar.gz
                               GLib subprojects/ (pcre2, libffi, proxy-libintl, gvdb) as built
  zelicra-qemu-android-patches-and-build-scripts.tar.gz
      patches/qemu/*.patch     four small Android patches to QEMU
      patches/slirp/*.patch    one Android patch to libslirp (resolv.conf path)
      android-setjmp/          the setjmp/longjmp used instead of bionic's
      scripts/00-toolchain.sh  installs the Android NDK and host tools
      scripts/10-deps.sh       builds GLib, pixman and libslirp for Android
      scripts/20-qemu.sh       configures and builds QEMU (exact flags)
  SHA256SUMS

Rebuilding
----------
On Ubuntu 24.04 (x86_64), unpack the patches/scripts tarball, then run the
scripts in order: bash scripts/00-toolchain.sh && bash scripts/10-deps.sh &&
bash scripts/20-qemu.sh. They download the same tarballs listed above (or use
copies placed in ~/zelicra/dl), apply the patches, and produce the three
executables in ~/zelicra/out.

The app's own Kotlin and Rust code is a separate, proprietary program that
talks to QEMU over QMP and the QEMU D-Bus display protocol.

Questions: hello@zelicra.com
