mirror of
https://gitee.com/openharmony/third_party_mesa3d
synced 2024-11-24 16:00:56 +00:00
automake: check if the linker supports --dynamic-list
As older versions of gnu ld did not support --dynamic-list check to see if it is supported before using it. Non gnu linkers such the apple one likely lack this option as well. Fixes the build on OpenBSD which has binutils 2.15 and 2.17. The --dynamic-list option seems to been have introduced sometime after binutils 2.17 was released as it is present in 2.18. Cc: mesa-stable@lists.freedesktop.org Signed-off-by: Jonathan Gray <jsg@jsg.id.au> Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
This commit is contained in:
parent
d3dee3df97
commit
635477dc4b
18
configure.ac
18
configure.ac
@ -357,6 +357,24 @@ AC_LINK_IFELSE(
|
||||
LDFLAGS=$save_LDFLAGS
|
||||
AM_CONDITIONAL(HAVE_LD_VERSION_SCRIPT, test "$have_ld_version_script" = "yes")
|
||||
|
||||
dnl
|
||||
dnl Check if linker supports dynamic list files
|
||||
dnl
|
||||
AC_MSG_CHECKING([if the linker supports --dynamic-list])
|
||||
save_LDFLAGS=$LDFLAGS
|
||||
LDFLAGS="$LDFLAGS -Wl,--dynamic-list=conftest.dyn"
|
||||
cat > conftest.dyn <<EOF
|
||||
{
|
||||
radeon_drm_winsys_create;
|
||||
};
|
||||
EOF
|
||||
AC_LINK_IFELSE(
|
||||
[AC_LANG_SOURCE([int main() { return 0;}])],
|
||||
[have_ld_dynamic_list=yes;AC_MSG_RESULT(yes)],
|
||||
[have_ld_dynamic_list=no; AC_MSG_RESULT(no)])
|
||||
LDFLAGS=$save_LDFLAGS
|
||||
AM_CONDITIONAL(HAVE_LD_DYNAMIC_LIST, test "$have_ld_dynamic_list" = "yes")
|
||||
|
||||
dnl
|
||||
dnl compatibility symlinks
|
||||
dnl
|
||||
|
@ -26,7 +26,6 @@ gallium_dri_la_LDFLAGS = \
|
||||
-shrext .so \
|
||||
-module \
|
||||
-avoid-version \
|
||||
-Wl,--dynamic-list=$(top_srcdir)/src/gallium/targets/dri-vdpau.dyn \
|
||||
$(GC_SECTIONS)
|
||||
|
||||
if HAVE_LD_VERSION_SCRIPT
|
||||
@ -34,6 +33,11 @@ gallium_dri_la_LDFLAGS += \
|
||||
-Wl,--version-script=$(top_srcdir)/src/gallium/targets/dri/dri.sym
|
||||
endif # HAVE_LD_VERSION_SCRIPT
|
||||
|
||||
if HAVE_LD_DYNAMIC_LIST
|
||||
gallium_dri_la_LDFLAGS += \
|
||||
-Wl,--dynamic-list=$(top_srcdir)/src/gallium/targets/dri-vdpau.dyn
|
||||
endif # HAVE_LD_DYNAMIC_LIST
|
||||
|
||||
gallium_dri_la_LIBADD = \
|
||||
$(top_builddir)/src/mesa/libmesagallium.la \
|
||||
$(top_builddir)/src/mesa/drivers/dri/common/libdricommon.la \
|
||||
|
@ -15,7 +15,6 @@ libvdpau_gallium_la_LDFLAGS = \
|
||||
-module \
|
||||
-no-undefined \
|
||||
-version-number $(VDPAU_MAJOR):$(VDPAU_MINOR) \
|
||||
-Wl,--dynamic-list=$(top_srcdir)/src/gallium/targets/dri-vdpau.dyn \
|
||||
$(GC_SECTIONS) \
|
||||
$(LD_NO_UNDEFINED)
|
||||
|
||||
@ -24,6 +23,11 @@ libvdpau_gallium_la_LDFLAGS += \
|
||||
-Wl,--version-script=$(top_srcdir)/src/gallium/targets/vdpau/vdpau.sym
|
||||
endif # HAVE_LD_VERSION_SCRIPT
|
||||
|
||||
if HAVE_LD_DYNAMIC_LIST
|
||||
libvdpau_gallium_la_LDFLAGS += \
|
||||
-Wl,--dynamic-list=$(top_srcdir)/src/gallium/targets/dri-vdpau.dyn
|
||||
endif # HAVE_LD_DYNAMIC_LIST
|
||||
|
||||
libvdpau_gallium_la_LIBADD = \
|
||||
$(top_builddir)/src/gallium/state_trackers/vdpau/libvdpautracker.la \
|
||||
$(top_builddir)/src/gallium/auxiliary/libgallium.la \
|
||||
|
Loading…
Reference in New Issue
Block a user