mirror of
				https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
				synced 2025-11-03 09:01:50 -05:00 
			
		
		
		
	build-sys: don't use the nodelete linker flag on executables
The nodelete flag indicates that we don't want our libraries to be unloaded. It's only relevant on libraries, so let's not use it for executables. Trying to use it on executables breaks things on some platforms. BugLink: https://bugs.freedesktop.org/show_bug.cgi?id=90878
This commit is contained in:
		
							parent
							
								
									69a5d4913c
								
							
						
					
					
						commit
						b727dd540b
					
				
					 2 changed files with 20 additions and 18 deletions
				
			
		| 
						 | 
				
			
			@ -212,7 +212,7 @@ AC_SUBST([IMMEDIATE_LDFLAGS])
 | 
			
		|||
# On ELF systems we don't want the libraries to be unloaded since we don't clean them up properly,
 | 
			
		||||
# so we request the nodelete flag to be enabled.
 | 
			
		||||
# On other systems, we don't really know how to do that, but it's welcome if somebody can tell.
 | 
			
		||||
AX_APPEND_LINK_FLAGS([-Wl,-z,nodelete], [NODELETE_LDFLAGS])
 | 
			
		||||
AX_APPEND_LINK_FLAGS([-Wl,-z,nodelete], [NODELETE_LDFLAGS], [-shared])
 | 
			
		||||
AC_SUBST([NODELETE_LDFLAGS])
 | 
			
		||||
 | 
			
		||||
# Check for the proper way to build libraries that have no undefined symbols
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -54,7 +54,9 @@ SERVER_CFLAGS = -D__INCLUDED_FROM_PULSE_AUDIO
 | 
			
		|||
 | 
			
		||||
AM_LIBADD = $(PTHREAD_LIBS) $(INTLLIBS)
 | 
			
		||||
AM_LDADD = $(PTHREAD_LIBS) $(INTLLIBS)
 | 
			
		||||
AM_LDFLAGS = $(NODELETE_LDFLAGS)
 | 
			
		||||
AM_LDFLAGS =
 | 
			
		||||
# Should only be applied to libraries.
 | 
			
		||||
AM_LIBLDFLAGS = $(NODELETE_LDFLAGS)
 | 
			
		||||
 | 
			
		||||
if HAVE_GCOV
 | 
			
		||||
AM_CFLAGS+=$(GCOV_CFLAGS)
 | 
			
		||||
| 
						 | 
				
			
			@ -77,7 +79,7 @@ endif
 | 
			
		|||
 | 
			
		||||
FOREIGN_CFLAGS = -w
 | 
			
		||||
 | 
			
		||||
MODULE_LDFLAGS = $(AM_LDFLAGS) -module -disable-static -avoid-version $(NOUNDEFINED_LDFLAGS)
 | 
			
		||||
MODULE_LDFLAGS = $(AM_LDFLAGS) $(AM_LIBLDFLAGS) -module -disable-static -avoid-version $(NOUNDEFINED_LDFLAGS)
 | 
			
		||||
MODULE_LIBADD = $(AM_LIBADD) libpulsecore-@PA_MAJORMINOR@.la libpulsecommon-@PA_MAJORMINOR@.la libpulse.la
 | 
			
		||||
 | 
			
		||||
###################################
 | 
			
		||||
| 
						 | 
				
			
			@ -720,7 +722,7 @@ libpulsecommon_@PA_MAJORMINOR@_la_SOURCES += pulsecore/poll-posix.c pulsecore/po
 | 
			
		|||
endif
 | 
			
		||||
 | 
			
		||||
libpulsecommon_@PA_MAJORMINOR@_la_CFLAGS = $(AM_CFLAGS) $(LIBJSON_CFLAGS) $(LIBSNDFILE_CFLAGS)
 | 
			
		||||
libpulsecommon_@PA_MAJORMINOR@_la_LDFLAGS = $(AM_LDFLAGS) -avoid-version
 | 
			
		||||
libpulsecommon_@PA_MAJORMINOR@_la_LDFLAGS = $(AM_LDFLAGS) $(AM_LIBLDFLAGS) -avoid-version
 | 
			
		||||
libpulsecommon_@PA_MAJORMINOR@_la_LIBADD = $(AM_LIBADD) $(LIBJSON_LIBS)  $(LIBWRAP_LIBS) $(WINSOCK_LIBS) $(LTLIBICONV) $(LIBSNDFILE_LIBS)
 | 
			
		||||
 | 
			
		||||
if HAVE_X11
 | 
			
		||||
| 
						 | 
				
			
			@ -870,7 +872,7 @@ libpulse_la_SOURCES = \
 | 
			
		|||
 | 
			
		||||
libpulse_la_CFLAGS = $(AM_CFLAGS) $(LIBJSON_CFLAGS)
 | 
			
		||||
libpulse_la_LIBADD = $(AM_LIBADD) $(WINSOCK_LIBS) $(LTLIBICONV) $(LIBJSON_LIBS) libpulsecommon-@PA_MAJORMINOR@.la
 | 
			
		||||
libpulse_la_LDFLAGS = $(AM_LDFLAGS) $(VERSIONING_LDFLAGS) -version-info $(LIBPULSE_VERSION_INFO)
 | 
			
		||||
libpulse_la_LDFLAGS = $(AM_LDFLAGS) $(AM_LIBLDFLAGS) $(VERSIONING_LDFLAGS) -version-info $(LIBPULSE_VERSION_INFO)
 | 
			
		||||
 | 
			
		||||
if HAVE_DBUS
 | 
			
		||||
libpulse_la_CFLAGS += $(DBUS_CFLAGS)
 | 
			
		||||
| 
						 | 
				
			
			@ -880,12 +882,12 @@ endif
 | 
			
		|||
libpulse_simple_la_SOURCES = pulse/simple.c pulse/simple.h
 | 
			
		||||
libpulse_simple_la_CFLAGS = $(AM_CFLAGS)
 | 
			
		||||
libpulse_simple_la_LIBADD = $(AM_LIBADD) libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
 | 
			
		||||
libpulse_simple_la_LDFLAGS = $(AM_LDFLAGS) $(VERSIONING_LDFLAGS) -version-info $(LIBPULSE_SIMPLE_VERSION_INFO)
 | 
			
		||||
libpulse_simple_la_LDFLAGS = $(AM_LDFLAGS) $(AM_LIBLDFLAGS) $(VERSIONING_LDFLAGS) -version-info $(LIBPULSE_SIMPLE_VERSION_INFO)
 | 
			
		||||
 | 
			
		||||
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_LIBADD = $(AM_LIBADD) libpulse.la libpulsecommon-@PA_MAJORMINOR@.la $(GLIB20_LIBS)
 | 
			
		||||
libpulse_mainloop_glib_la_LDFLAGS = $(AM_LDFLAGS) $(VERSIONING_LDFLAGS) -version-info $(LIBPULSE_MAINLOOP_GLIB_VERSION_INFO)
 | 
			
		||||
libpulse_mainloop_glib_la_LDFLAGS = $(AM_LDFLAGS) $(AM_LIBLDFLAGS) $(VERSIONING_LDFLAGS) -version-info $(LIBPULSE_MAINLOOP_GLIB_VERSION_INFO)
 | 
			
		||||
 | 
			
		||||
###################################
 | 
			
		||||
#         OSS emulation           #
 | 
			
		||||
| 
						 | 
				
			
			@ -909,7 +911,7 @@ endif
 | 
			
		|||
libpulsedsp_la_SOURCES = utils/padsp.c
 | 
			
		||||
libpulsedsp_la_CFLAGS = $(AM_CFLAGS)
 | 
			
		||||
libpulsedsp_la_LIBADD = $(AM_LIBADD) libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
 | 
			
		||||
libpulsedsp_la_LDFLAGS = $(AM_LDFLAGS) -avoid-version -disable-static
 | 
			
		||||
libpulsedsp_la_LDFLAGS = $(AM_LDFLAGS) $(AM_LIBLDFLAGS) -avoid-version -disable-static
 | 
			
		||||
 | 
			
		||||
###################################
 | 
			
		||||
#      Daemon core library        #
 | 
			
		||||
| 
						 | 
				
			
			@ -972,7 +974,7 @@ libpulsecore_@PA_MAJORMINOR@_la_SOURCES = \
 | 
			
		|||
		pulsecore/database.h
 | 
			
		||||
 | 
			
		||||
libpulsecore_@PA_MAJORMINOR@_la_CFLAGS = $(AM_CFLAGS) $(SERVER_CFLAGS) $(LIBSNDFILE_CFLAGS) $(WINSOCK_CFLAGS)
 | 
			
		||||
libpulsecore_@PA_MAJORMINOR@_la_LDFLAGS = $(AM_LDFLAGS) -avoid-version
 | 
			
		||||
libpulsecore_@PA_MAJORMINOR@_la_LDFLAGS = $(AM_LDFLAGS) $(AM_LIBLDFLAGS) -avoid-version
 | 
			
		||||
libpulsecore_@PA_MAJORMINOR@_la_LIBADD = $(AM_LIBADD) $(LIBLTDL) $(LIBSNDFILE_LIBS) $(WINSOCK_LIBS) $(LTLIBICONV) libpulsecommon-@PA_MAJORMINOR@.la libpulse.la libpulsecore-foreign.la
 | 
			
		||||
 | 
			
		||||
if HAVE_NEON
 | 
			
		||||
| 
						 | 
				
			
			@ -1087,24 +1089,24 @@ modlibexec_LTLIBRARIES += \
 | 
			
		|||
endif
 | 
			
		||||
 | 
			
		||||
libprotocol_simple_la_SOURCES = pulsecore/protocol-simple.c pulsecore/protocol-simple.h
 | 
			
		||||
libprotocol_simple_la_LDFLAGS = $(AM_LDFLAGS) -avoid-version
 | 
			
		||||
libprotocol_simple_la_LDFLAGS = $(AM_LDFLAGS) $(AM_LIBLDFLAGS) -avoid-version
 | 
			
		||||
libprotocol_simple_la_LIBADD = $(AM_LIBADD) libpulsecore-@PA_MAJORMINOR@.la libpulsecommon-@PA_MAJORMINOR@.la libpulse.la
 | 
			
		||||
 | 
			
		||||
libcli_la_SOURCES = pulsecore/cli.c pulsecore/cli.h
 | 
			
		||||
libcli_la_LDFLAGS = $(AM_LDFLAGS) -avoid-version
 | 
			
		||||
libcli_la_LDFLAGS = $(AM_LDFLAGS) $(AM_LIBLDFLAGS) -avoid-version
 | 
			
		||||
libcli_la_LIBADD = $(AM_LIBADD) libpulsecore-@PA_MAJORMINOR@.la libpulsecommon-@PA_MAJORMINOR@.la libpulse.la
 | 
			
		||||
 | 
			
		||||
libprotocol_cli_la_SOURCES = pulsecore/protocol-cli.c pulsecore/protocol-cli.h
 | 
			
		||||
libprotocol_cli_la_LDFLAGS = $(AM_LDFLAGS) -avoid-version
 | 
			
		||||
libprotocol_cli_la_LDFLAGS = $(AM_LDFLAGS) $(AM_LIBLDFLAGS) -avoid-version
 | 
			
		||||
libprotocol_cli_la_LIBADD = $(AM_LIBADD) libpulsecore-@PA_MAJORMINOR@.la libpulsecommon-@PA_MAJORMINOR@.la libpulse.la libcli.la
 | 
			
		||||
 | 
			
		||||
libprotocol_http_la_SOURCES = pulsecore/protocol-http.c pulsecore/protocol-http.h pulsecore/mime-type.c pulsecore/mime-type.h
 | 
			
		||||
libprotocol_http_la_LDFLAGS = $(AM_LDFLAGS) -avoid-version
 | 
			
		||||
libprotocol_http_la_LDFLAGS = $(AM_LDFLAGS) $(AM_LIBLDFLAGS) -avoid-version
 | 
			
		||||
libprotocol_http_la_LIBADD = $(AM_LIBADD) libpulsecore-@PA_MAJORMINOR@.la libpulsecommon-@PA_MAJORMINOR@.la libpulse.la
 | 
			
		||||
 | 
			
		||||
libprotocol_native_la_SOURCES = pulsecore/protocol-native.c pulsecore/protocol-native.h pulsecore/native-common.h
 | 
			
		||||
libprotocol_native_la_CFLAGS = $(AM_CFLAGS) $(SERVER_CFLAGS)
 | 
			
		||||
libprotocol_native_la_LDFLAGS = $(AM_LDFLAGS) -avoid-version
 | 
			
		||||
libprotocol_native_la_LDFLAGS = $(AM_LDFLAGS) $(AM_LIBLDFLAGS) -avoid-version
 | 
			
		||||
libprotocol_native_la_LIBADD = $(AM_LIBADD) libpulsecore-@PA_MAJORMINOR@.la libpulsecommon-@PA_MAJORMINOR@.la libpulse.la
 | 
			
		||||
if HAVE_DBUS
 | 
			
		||||
libprotocol_native_la_CFLAGS += $(DBUS_CFLAGS)
 | 
			
		||||
| 
						 | 
				
			
			@ -1113,7 +1115,7 @@ endif
 | 
			
		|||
 | 
			
		||||
if HAVE_ESOUND
 | 
			
		||||
libprotocol_esound_la_SOURCES = pulsecore/protocol-esound.c pulsecore/protocol-esound.h pulsecore/esound.h
 | 
			
		||||
libprotocol_esound_la_LDFLAGS = $(AM_LDFLAGS) -avoid-version
 | 
			
		||||
libprotocol_esound_la_LDFLAGS = $(AM_LDFLAGS) $(AM_LIBLDFLAGS) -avoid-version
 | 
			
		||||
libprotocol_esound_la_LIBADD = $(AM_LIBADD) libpulsecore-@PA_MAJORMINOR@.la libpulsecommon-@PA_MAJORMINOR@.la libpulse.la
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1123,19 +1125,19 @@ librtp_la_SOURCES = \
 | 
			
		|||
		modules/rtp/sap.c modules/rtp/sap.h \
 | 
			
		||||
		modules/rtp/rtsp_client.c modules/rtp/rtsp_client.h \
 | 
			
		||||
		modules/rtp/headerlist.c modules/rtp/headerlist.h
 | 
			
		||||
librtp_la_LDFLAGS = $(AM_LDFLAGS) -avoid-version
 | 
			
		||||
librtp_la_LDFLAGS = $(AM_LDFLAGS) $(AM_LIBLDFLAGS) -avoid-version
 | 
			
		||||
librtp_la_LIBADD = $(AM_LIBADD) libpulsecore-@PA_MAJORMINOR@.la libpulsecommon-@PA_MAJORMINOR@.la libpulse.la
 | 
			
		||||
 | 
			
		||||
libraop_la_SOURCES = \
 | 
			
		||||
        modules/raop/raop_client.c modules/raop/raop_client.h \
 | 
			
		||||
        modules/raop/base64.c modules/raop/base64.h
 | 
			
		||||
libraop_la_CFLAGS = $(AM_CFLAGS) $(OPENSSL_CFLAGS) -I$(top_srcdir)/src/modules/rtp
 | 
			
		||||
libraop_la_LDFLAGS = $(AM_LDFLAGS) -avoid-version
 | 
			
		||||
libraop_la_LDFLAGS = $(AM_LDFLAGS) $(AM_LIBLDFLAGS) -avoid-version
 | 
			
		||||
libraop_la_LIBADD = $(AM_LIBADD) $(OPENSSL_LIBS) libpulsecore-@PA_MAJORMINOR@.la librtp.la libpulsecommon-@PA_MAJORMINOR@.la libpulse.la
 | 
			
		||||
 | 
			
		||||
# Avahi
 | 
			
		||||
libavahi_wrap_la_SOURCES = pulsecore/avahi-wrap.c pulsecore/avahi-wrap.h
 | 
			
		||||
libavahi_wrap_la_LDFLAGS = $(AM_LDFLAGS) -avoid-version
 | 
			
		||||
libavahi_wrap_la_LDFLAGS = $(AM_LDFLAGS) $(AM_LIBLDFLAGS) -avoid-version
 | 
			
		||||
libavahi_wrap_la_CFLAGS = $(AM_CFLAGS) $(AVAHI_CFLAGS)
 | 
			
		||||
libavahi_wrap_la_LIBADD = $(AM_LIBADD) $(AVAHI_CFLAGS) libpulsecore-@PA_MAJORMINOR@.la libpulsecommon-@PA_MAJORMINOR@.la libpulse.la
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue