glib has deprecated APIs like GStaticMutex, g_thread_create(), and others. In QEMU support both old and new APIs since using deprecated APIs would flood us with warnings but legacy distros must continue to build the QEMU source code.
This patch series reduces ifdefs by moving glib compat functions into glib-compat.h, where they can be reused. There are two strategies for compat functions: 1. Implement the new API using the deprecated API. This compat function is used when building on a legacy host. Sometimes the API semantics are so different that this option is not feasible. 2. Add a new wrapper API that maps to the deprecated API. The wrapper is not marked deprecated so it works as a drop-in replacement but is implemented using the new API where possible. Stefan Hajnoczi (3): glib: move g_poll() replacement into glib-compat.h glib: add g_thread_new() compat function glib: add compat wrapper for GStaticMutex coroutine-gthread.c | 26 ++++++++++---------------- include/glib-compat.h | 44 ++++++++++++++++++++++++++++++++++++++++++++ include/qemu-common.h | 12 ------------ trace/simple.c | 31 ++++++++++--------------------- 4 files changed, 64 insertions(+), 49 deletions(-) -- 1.8.5.3
