diff options
author | Florian Weimer <fweimer@redhat.com> | 2019-11-28 12:57:25 +0100 |
---|---|---|
committer | Florian Weimer <fweimer@redhat.com> | 2019-11-28 13:40:01 +0100 |
commit | 6d6f77fc251774d14246de794eea86e1da291d1c (patch) | |
tree | 1c95e5f2758583e47e0e3a8c484cdda1cae2b168 /elf/Makefile | |
parent | 1d809de12a6bee31860c1156b3afea47331015f1 (diff) | |
download | glibc-fw/no-symlinks.zip glibc-fw/no-symlinks.tar.gz glibc-fw/no-symlinks.tar.bz2 |
Add --disable-major-minor-libraries configure optionfw/no-symlinks
This option can be used to increase compatibility with package managers.
The name was choosen to avoid confusion with all the different versions
(glibc release, soname versions, symbol versions).
This patch makes all uses of -$(version).so conditional on the new
$(major-minor-libraries) flag. The alternative install targets write
the implementation DSOs directly to the locations determined by their
sonames, skipping the creation of an intermediate symbolic link.
install-symbolic-link in Makerules is updated not to require the
$(symbolic-link-list) file because it may not exist in
--disable-major-minor-libraries mode.
I verified that by default, the install tree is the same as before
on x86_64-linux-gnu except for the changes in the manual.
Diffstat (limited to 'elf/Makefile')
-rw-r--r-- | elf/Makefile | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/elf/Makefile b/elf/Makefile index 305bed2..e3e898b 100644 --- a/elf/Makefile +++ b/elf/Makefile @@ -553,6 +553,7 @@ $(objpfx)trusted-dirs.st: Makefile $(..)Makeconfig CPPFLAGS-dl-load.c += -I$(objpfx). -I$(csu-objpfx). ifeq (yes,$(build-shared)) +ifeq (yes,$(major-minor-libraries)) $(inst_slibdir)/$(rtld-version-installed-name): $(objpfx)ld.so $(+force) $(make-target-directory) $(do-install-program) @@ -562,11 +563,16 @@ $(inst_rtlddir)/$(rtld-installed-name): \ $(inst_slibdir)/libc-$(version).so $(make-target-directory) $(make-shlib-link) +else # !$(major-minor-libraries) +$(inst_slibdir)/$(rtld-installed-name): $(objpfx)ld.so $(+force) + $(make-target-directory) + $(do-install-program) +endif # !$(major-minor-libraries) # Special target called by parent to install just the dynamic linker. .PHONY: ldso_install ldso_install: $(inst_rtlddir)/$(rtld-installed-name) -endif +endif # $(build-shared) ldd-rewrite = -e 's%@RTLD@%$(rtlddir)/$(rtld-installed-name)%g' \ |