21 Commits
Author SHA1 Message Date
Ole André Vadla Ravnås 983eb7432a deps: Let an SDK be built for a Darwin kernel
Compile a machine whose config is kernel with the kernel's ABI,
against no system headers, and against the prefix being filled:
picolibc and the compiler-rt builtins are packages here, as they
are for a machine with no operating system at all.

Say the system is none, which is what a Darwin kernel is to
anything built here, and leave out the packages that belong to an
operating system.

Make a link work, since a build system asks its questions by
linking one: no dynamic linker, and the entry point named.
2026-08-27 17:45:36 +02:00
Ole André Vadla Ravnås 30a82e7a98 devkit: Carry GUnixFDMessage on POSIX
GIO's own gio.h pulls in the rest of the UNIX half but leaves this
one out, so a devkit had no way to hand a descriptor to a peer over
a socket.
2026-08-18 15:26:23 +02:00
Ole André Vadla Ravnås c9cc18138b Keep the libc out of devkit headers
The SDK puts it inside the tree the devkit inlines from, so a bare-metal
target ended up with half of picolibc pasted into the header and the
other half missing. It is the consumer's libc to provide.
2026-08-04 14:13:09 +02:00
Ole André Vadla Ravnås 10b201e27d devkit: Prefer wrap-built libs over SDK
A static linker searches -L dirs in command-line order, and
pkg-config emits the SDK's libdir before the wrap's, so feeding
its --libs output to a linker would pick the SDK's stale
libfoo.a. The actual frida-core link works because Meson
resolves the wrap as a target dependency, bypassing pkg-config —
but devkit assembly derives its archive list from pkg-config and
so picks up the SDK copy.

Walk up from the devkit output to find the Meson build root,
then partition library_dirs so build-tree dirs come first.
2026-04-26 17:19:11 +02:00
Ole André Vadla Ravnås db9b211f43 devkit: Add gumbarebone.h for bare-metal
Also omit guminspectorserver.h in that case, since GIO doesn't support
sockets without an OS.
2025-07-07 00:59:12 +02:00
Grant DouglasandOle André Vadla Ravnås 358bc0bbdf devkit: Make symbol prefixing optional
Introduce --dep-symbol-scope={prefixed,original} so consumers can
*enable* the “_frida_” prefix (default) to avoid clashes with their
own copies of third-party libraries, or switch to “original” when
they need unmodified symbol names (e.g. for debugging or when no
conflicts are expected).

Co-authored-by: Ole André Vadla Ravnås <[email protected]>
2025-07-06 19:09:17 +02:00
Ole André Vadla Ravnås 2eecc41cbe devkit: Also define GUM_STATIC for the Gum devkit
So the consumer won't have to define it.
2025-03-19 13:57:35 +01:00
JunGe-Y 8870e5861b Support non-UTF-8 locales (#5) 2024-11-14 00:28:00 +01:00
Ole André Vadla Ravnås bfb791a473 devkit: Drop support for the defunct MSVS build system 2024-03-21 22:24:51 +01:00
Ole André Vadla Ravnås b9400305ec Rename “native_machine” ⇒ “build_machine”
For consistency with Meson's naming conventions.
2024-03-20 22:24:15 +01:00
Ole André Vadla Ravnås dcc2c8a2ec devkit: Simplify the .gir logic
Now that we can rely on the .gir being installed in case of Meson.
2024-03-19 23:09:16 +01:00
Ole André Vadla Ravnås 5fc2869080 devkit: Dynamically detect girdir when possible 2024-03-05 21:08:47 +01:00
Ole André Vadla Ravnås 14dc1e3143 devkit: Do not attempt to bundle Linux libc libraries 2024-02-23 23:07:51 +01:00
Ole André Vadla Ravnås 122623a438 devkit: Simplify _do_generate_library_msvc() 2024-02-23 23:06:42 +01:00
Ole André Vadla Ravnås 9468e06eec devkit: Fix _generate_gir() for non-MSVC 2024-02-13 11:22:07 +01:00
Ole André Vadla Ravnås 527b69c340 devkit: Fix machine file binary ID used for pkg-config 2024-02-13 10:00:01 +01:00
Ole André Vadla Ravnås 8d070a2604 devkit: Fix support for non-Meson logic on Windows 2024-02-12 16:07:26 +01:00
Ole André Vadla Ravnås 15f999bce4 devkit: Fix fragile parsing of $CC -E -M output
To handle cases where there is more than one entry per line, and spaces
in paths.
2024-02-12 14:13:51 +01:00
Ole André Vadla Ravnås 10392268ce Refactor to improve portability
- Add modules to assist with autoconf-style CLI wrappers.
- Implement deps.sync() for non-Windows.
- Improve devkit.py to support using pkg-config on Windows.
2024-02-12 14:13:47 +01:00
Ole André Vadla Ravnås e81a4ac048 devkit: Show output when a subprocess fails unexpectedly 2024-01-26 00:12:15 +01:00
Ole André Vadla Ravnås ddce7b6084 Move releng to root of repo 2024-01-25 21:54:04 +01:00