mirror of
https://github.com/izzy2lost/xemu.git
synced 2026-07-06 00:20:22 -07:00
meson: add modules infrastructure
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
committed by
Paolo Bonzini
parent
2becc36a3e
commit
3154fee4db
Executable
+20
@@ -0,0 +1,20 @@
|
||||
#! /usr/bin/env bash
|
||||
|
||||
# Before a shared module's DSO is produced, a static library is built for it
|
||||
# and passed to this script. The script generates -Wl,-u options to force
|
||||
# the inclusion of symbol from libqemuutil.a if the shared modules need them,
|
||||
# This is necessary because the modules may use functions not needed by the
|
||||
# executable itself, which would cause the function to not be linked in.
|
||||
# Then the DSO loading would fail because of the missing symbol.
|
||||
|
||||
if test $# -le 2; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
NM=$1
|
||||
staticlib=$2
|
||||
shift 2
|
||||
# Find symbols defined in static libraries and undefined in shared modules
|
||||
comm -12 \
|
||||
<( $NM -P -g $staticlib | awk '$2!="U"{print "-Wl,-u," $1}' | sort -u) \
|
||||
<( $NM -P -g "$@" | awk '$2=="U"{print "-Wl,-u," $1}' | sort -u)
|
||||
Reference in New Issue
Block a user