mirror of
https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
synced 2025-11-13 13:29:58 -05:00
Properly check for versioning flags.
Instead of checking for GNU ld presence, check if the linker knows about the -version-script flag. Non-GNU linkers may export the same interface. It also allows to check for alternative syntax for symbol versioning.
This commit is contained in:
parent
cad3dd2887
commit
21547d7e1d
2 changed files with 15 additions and 25 deletions
20
configure.ac
20
configure.ac
|
|
@ -96,15 +96,6 @@ if test "x$M4" = xno ; then
|
||||||
AC_MSG_ERROR([m4 missing])
|
AC_MSG_ERROR([m4 missing])
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Linker
|
|
||||||
|
|
||||||
AC_PROG_LD
|
|
||||||
AC_PROG_LD_GNU
|
|
||||||
|
|
||||||
AC_SUBST(HAVE_GNU_LD)
|
|
||||||
AM_CONDITIONAL([HAVE_GNU_LD], [test "x$HAVE_GNU_LD" = x1])
|
|
||||||
|
|
||||||
|
|
||||||
dnl Compiler flags
|
dnl Compiler flags
|
||||||
DESIRED_FLAGS="-Wall -W -Wextra -pipe -Wno-long-long -Winline -Wvla -Wno-overlength-strings -Wunsafe-loop-optimizations -Wundef -Wformat=2 -Wlogical-op -Wsign-compare -Wformat-security -Wmissing-include-dirs -Wformat-nonliteral -Wold-style-definition -Wpointer-arith -Winit-self -Wdeclaration-after-statement -Wfloat-equal -Wmissing-prototypes -Wstrict-prototypes -Wredundant-decls -Wmissing-declarations -Wmissing-noreturn -Wshadow -Wendif-labels -Wcast-align -Wstrict-aliasing=2 -Wwrite-strings -Wno-unused-parameter -ffast-math -Wp,-D_FORTIFY_SOURCE=2 -fno-common -fdiagnostics-show-option"
|
DESIRED_FLAGS="-Wall -W -Wextra -pipe -Wno-long-long -Winline -Wvla -Wno-overlength-strings -Wunsafe-loop-optimizations -Wundef -Wformat=2 -Wlogical-op -Wsign-compare -Wformat-security -Wmissing-include-dirs -Wformat-nonliteral -Wold-style-definition -Wpointer-arith -Winit-self -Wdeclaration-after-statement -Wfloat-equal -Wmissing-prototypes -Wstrict-prototypes -Wredundant-decls -Wmissing-declarations -Wmissing-noreturn -Wshadow -Wendif-labels -Wcast-align -Wstrict-aliasing=2 -Wwrite-strings -Wno-unused-parameter -ffast-math -Wp,-D_FORTIFY_SOURCE=2 -fno-common -fdiagnostics-show-option"
|
||||||
|
|
||||||
|
|
@ -112,6 +103,17 @@ for flag in $DESIRED_FLAGS ; do
|
||||||
CC_CHECK_CFLAGS([$flag], [CFLAGS="$CFLAGS $flag"])
|
CC_CHECK_CFLAGS([$flag], [CFLAGS="$CFLAGS $flag"])
|
||||||
done
|
done
|
||||||
|
|
||||||
|
dnl Linker flags.
|
||||||
|
dnl Check whether the linker supports the -version-script option.
|
||||||
|
|
||||||
|
dnl This variable is used to make sure ${srcdir} is expanded and not
|
||||||
|
dnl passed to the CC_CHECK_LDFLAGS macro as a name.
|
||||||
|
tmp_ldflag="-Wl,-version-script=${srcdir}/src/map-file"
|
||||||
|
|
||||||
|
CC_CHECK_LDFLAGS([${tmp_ldflag}],
|
||||||
|
[VERSIONING_LDFLAGS='-Wl,-version-script=$(srcdir)/map-file'])
|
||||||
|
AC_SUBST([VERSIONING_LDFLAGS])
|
||||||
|
|
||||||
dnl Check whether to build tests by default (as compile-test) or not
|
dnl Check whether to build tests by default (as compile-test) or not
|
||||||
AC_ARG_ENABLE([default-build-tests],
|
AC_ARG_ENABLE([default-build-tests],
|
||||||
AS_HELP_STRING([--disable-default-build-tests], [Build test programs only during make check]))
|
AS_HELP_STRING([--disable-default-build-tests], [Build test programs only during make check]))
|
||||||
|
|
|
||||||
|
|
@ -715,10 +715,7 @@ libpulse_la_SOURCES = \
|
||||||
|
|
||||||
libpulse_la_CFLAGS = $(AM_CFLAGS)
|
libpulse_la_CFLAGS = $(AM_CFLAGS)
|
||||||
libpulse_la_LIBADD = $(AM_LIBADD) $(WINSOCK_LIBS) $(LTLIBICONV) libpulsecommon-@PA_MAJORMINORMICRO@.la
|
libpulse_la_LIBADD = $(AM_LIBADD) $(WINSOCK_LIBS) $(LTLIBICONV) libpulsecommon-@PA_MAJORMINORMICRO@.la
|
||||||
libpulse_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(LIBPULSE_VERSION_INFO)
|
libpulse_la_LDFLAGS = $(AM_LDFLAGS) $(VERSIONING_LDFLAGS) -version-info $(LIBPULSE_VERSION_INFO)
|
||||||
if HAVE_GNU_LD
|
|
||||||
libpulse_la_LDFLAGS += -Wl,-version-script=$(srcdir)/map-file
|
|
||||||
endif
|
|
||||||
|
|
||||||
if HAVE_X11
|
if HAVE_X11
|
||||||
libpulse_la_SOURCES += pulse/client-conf-x11.c pulse/client-conf-x11.h
|
libpulse_la_SOURCES += pulse/client-conf-x11.c pulse/client-conf-x11.h
|
||||||
|
|
@ -729,26 +726,17 @@ endif
|
||||||
libpulse_simple_la_SOURCES = pulse/simple.c pulse/simple.h
|
libpulse_simple_la_SOURCES = pulse/simple.c pulse/simple.h
|
||||||
libpulse_simple_la_CFLAGS = $(AM_CFLAGS)
|
libpulse_simple_la_CFLAGS = $(AM_CFLAGS)
|
||||||
libpulse_simple_la_LIBADD = $(AM_LIBADD) libpulse.la libpulsecommon-@PA_MAJORMINORMICRO@.la
|
libpulse_simple_la_LIBADD = $(AM_LIBADD) libpulse.la libpulsecommon-@PA_MAJORMINORMICRO@.la
|
||||||
libpulse_simple_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(LIBPULSE_SIMPLE_VERSION_INFO)
|
libpulse_simple_la_LDFLAGS = $(AM_LDFLAGS) $(VERSIONING_LDFLAGS) -version-info $(LIBPULSE_SIMPLE_VERSION_INFO)
|
||||||
if HAVE_GNU_LD
|
|
||||||
libpulse_simple_la_LDFLAGS += -Wl,-version-script=$(srcdir)/map-file
|
|
||||||
endif
|
|
||||||
|
|
||||||
libpulse_browse_la_SOURCES = pulse/browser.c pulse/browser.h pulsecore/avahi-wrap.c pulsecore/avahi-wrap.h
|
libpulse_browse_la_SOURCES = pulse/browser.c pulse/browser.h pulsecore/avahi-wrap.c pulsecore/avahi-wrap.h
|
||||||
libpulse_browse_la_CFLAGS = $(AM_CFLAGS) $(AVAHI_CFLAGS)
|
libpulse_browse_la_CFLAGS = $(AM_CFLAGS) $(AVAHI_CFLAGS)
|
||||||
libpulse_browse_la_LIBADD = $(AM_LIBADD) libpulse.la libpulsecommon-@PA_MAJORMINORMICRO@.la $(AVAHI_LIBS)
|
libpulse_browse_la_LIBADD = $(AM_LIBADD) libpulse.la libpulsecommon-@PA_MAJORMINORMICRO@.la $(AVAHI_LIBS)
|
||||||
libpulse_browse_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(LIBPULSE_BROWSE_VERSION_INFO)
|
libpulse_browse_la_LDFLAGS = $(AM_LDFLAGS) $(VERSIONING_LDFLAGS) -version-info $(LIBPULSE_BROWSE_VERSION_INFO)
|
||||||
if HAVE_GNU_LD
|
|
||||||
libpulse_browse_la_LDFLAGS += -Wl,-version-script=$(srcdir)/map-file
|
|
||||||
endif
|
|
||||||
|
|
||||||
libpulse_mainloop_glib_la_SOURCES = pulse/glib-mainloop.h pulse/glib-mainloop.c
|
libpulse_mainloop_glib_la_SOURCES = pulse/glib-mainloop.h pulse/glib-mainloop.c
|
||||||
libpulse_mainloop_glib_la_CFLAGS = $(AM_CFLAGS) $(GLIB20_CFLAGS)
|
libpulse_mainloop_glib_la_CFLAGS = $(AM_CFLAGS) $(GLIB20_CFLAGS)
|
||||||
libpulse_mainloop_glib_la_LIBADD = $(AM_LIBADD) libpulse.la libpulsecommon-@PA_MAJORMINORMICRO@.la $(GLIB20_LIBS)
|
libpulse_mainloop_glib_la_LIBADD = $(AM_LIBADD) libpulse.la libpulsecommon-@PA_MAJORMINORMICRO@.la $(GLIB20_LIBS)
|
||||||
libpulse_mainloop_glib_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(LIBPULSE_MAINLOOP_GLIB_VERSION_INFO)
|
libpulse_mainloop_glib_la_LDFLAGS = $(AM_LDFLAGS) $(VERSIONING_LDFLAGS) -version-info $(LIBPULSE_MAINLOOP_GLIB_VERSION_INFO)
|
||||||
if HAVE_GNU_LD
|
|
||||||
libpulse_mainloop_glib_la_LDFLAGS += -Wl,-version-script=$(srcdir)/map-file
|
|
||||||
endif
|
|
||||||
|
|
||||||
###################################
|
###################################
|
||||||
# OSS emulation #
|
# OSS emulation #
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue