mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-03-09 18:10:29 +01: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
3 changed files with 28 additions and 2 deletions
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…
Add table
Reference in a new issue