Revert.. [PATCH] configure: simplify creation of plugin symbol list 37650689473c4cdb5838f90cbc1aefbcd9332fb0 Index: configure --- configure.orig +++ configure @@ -81,6 +81,7 @@ TMPC="${TMPDIR1}/${TMPB}.c" TMPO="${TMPDIR1}/${TMPB}.o" TMPM="${TMPDIR1}/${TMPB}.m" TMPE="${TMPDIR1}/${TMPB}.exe" +TMPTXT="${TMPDIR1}/${TMPB}.txt" rm -f config.log @@ -1330,7 +1331,6 @@ if test "$static" = "yes" ; then plugins="no" fi fi -test "$plugins" = "" && plugins=yes cat > $TMPC << EOF @@ -1475,6 +1475,56 @@ if ! has "$pkg_config_exe"; then fi ########################################## +# plugin linker support probe + +if test "$plugins" != "no"; then + + ######################################### + # See if --dynamic-list is supported by the linker + + ld_dynamic_list="no" + cat > $TMPTXT < $TMPC < +void foo(void); + +void foo(void) +{ + printf("foo\n"); +} + +int main(void) +{ + foo(); + return 0; +} +EOF + + if compile_prog "" "-Wl,--dynamic-list=$TMPTXT" ; then + ld_dynamic_list="yes" + fi + + if test "$ld_dynamic_list" = "no" ; then + if test "$plugins" = "yes"; then + error_exit \ + "Plugin support requires dynamic linking and specifying a set of symbols " \ + "that are exported to plugins. Unfortunately your linker doesn't " \ + "support the flag (--dynamic-list) used " \ + "for this purpose." + else + plugins="no" + fi + else + plugins="yes" + fi +fi + +########################################## # glib support probe # When bumping glib_req_ver, please check also whether we should increase @@ -2404,6 +2454,15 @@ fi if test "$plugins" = "yes" ; then echo "CONFIG_PLUGIN=y" >> $config_host_mak + # Copy the export object list to the build dir + if test "$ld_dynamic_list" = "yes" ; then + echo "CONFIG_HAS_LD_DYNAMIC_LIST=yes" >> $config_host_mak + ld_symbols=qemu-plugins-ld.symbols + cp "$source_path/plugins/qemu-plugins.symbols" $ld_symbols + else + error_exit \ + "If \$plugins=yes, \$ld_dynamic_list should have been set to 'yes'." + fi fi if test -n "$gdb_bin"; then