diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index ecc2e25b8504..6a84b7b80f57 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,9 @@ +2019-10-01 Maciej W. Rozycki + + * gcc-interface/Makefile.in (ADA_RTL_DSO_DIR): New variable. + (install-gnatlib): Use it in place of ADA_RTL_OBJ_DIR for shared + library installation. + 2019-10-01 Maciej W. Rozycki * gcc-interface/Make-lang.in (ada.install-common): Split into... diff --git a/gcc/ada/gcc-interface/Makefile.in b/gcc/ada/gcc-interface/Makefile.in index d4c9d157d1cc..8deffb6eb363 100644 --- a/gcc/ada/gcc-interface/Makefile.in +++ b/gcc/ada/gcc-interface/Makefile.in @@ -534,15 +534,15 @@ install-gnatlib: ../stamp-gnatlib-$(RTSDIR) install-gcc-specs for file in gnat gnarl; do \ if [ -f $(RTSDIR)/lib$${file}$(hyphen)$(LIBRARY_VERSION)$(soext) ]; then \ $(INSTALL) $(RTSDIR)/lib$${file}$(hyphen)$(LIBRARY_VERSION)$(soext) \ - $(DESTDIR)$(ADA_RTL_OBJ_DIR); \ + $(DESTDIR)$(ADA_RTL_DSO_DIR); \ fi; \ if [ -f $(RTSDIR)/lib$${file}$(soext) ]; then \ $(LN_S) lib$${file}$(hyphen)$(LIBRARY_VERSION)$(soext) \ - $(DESTDIR)$(ADA_RTL_OBJ_DIR)/lib$${file}$(soext); \ + $(DESTDIR)$(ADA_RTL_DSO_DIR)/lib$${file}$(soext); \ fi; \ if [ -d $(RTSDIR)/lib$${file}$(hyphen)$(LIBRARY_VERSION)$(soext).dSYM ]; then \ $(CP) -r $(RTSDIR)/lib$${file}$(hyphen)$(LIBRARY_VERSION)$(soext).dSYM \ - $(DESTDIR)$(ADA_RTL_OBJ_DIR); \ + $(DESTDIR)$(ADA_RTL_DSO_DIR); \ fi; \ done # This copy must be done preserving the date on the original file. @@ -882,6 +882,7 @@ b_gnatm.o : b_gnatm.adb ADA_INCLUDE_DIR = $(libsubdir)/adainclude ADA_RTL_OBJ_DIR = $(libsubdir)/adalib +ADA_RTL_DSO_DIR = $(toolexeclibdir) # Special flags diff --git a/libada/ChangeLog b/libada/ChangeLog index a9fb7ef5b6fe..511df408a83b 100644 --- a/libada/ChangeLog +++ b/libada/ChangeLog @@ -1,3 +1,12 @@ +2019-10-01 Maciej W. Rozycki + + * Makefile.in (toolexecdir, toolexeclibdir): New variables. + (LIBADA_FLAGS_TO_PASS): Add `toolexeclibdir'. + * configure.ac: Add `--enable-version-specific-runtime-libs'. + Update version-specific `toolexecdir' and `toolexeclibdir' from + ADA_RTL_OBJ_DIR from gcc/ada/gcc-interface/Makefile.in. + * configure: Regenerate. + 2019-01-01 Jakub Jelinek Update copyright years. diff --git a/libada/Makefile.in b/libada/Makefile.in index 522b9207326e..985db0e7c0e4 100644 --- a/libada/Makefile.in +++ b/libada/Makefile.in @@ -38,6 +38,8 @@ target = @target@ prefix = @prefix@ # Nonstandard autoconf-set variables. +toolexecdir = @toolexecdir@ +toolexeclibdir = @toolexeclibdir@ enable_shared = @enable_shared@ LN_S=@LN_S@ @@ -88,6 +90,7 @@ LIBADA_FLAGS_TO_PASS = \ "TRACE=$(TRACE)" \ "MULTISUBDIR=$(MULTISUBDIR)" \ "libsubdir=$(libsubdir)" \ + "toolexeclibdir=$(toolexeclibdir)" \ "objext=$(objext)" \ "prefix=$(prefix)" \ "exeext=.exeext.should.not.be.used " \ diff --git a/libada/configure b/libada/configure index 743f98afd8eb..a28be4068f09 100755 --- a/libada/configure +++ b/libada/configure @@ -702,6 +702,7 @@ ac_subst_files='' ac_user_opts=' enable_option_checking with_build_libsubdir +enable_version_specific_runtime_libs enable_maintainer_mode enable_multilib enable_shared @@ -1325,6 +1326,9 @@ Optional Features: --disable-option-checking ignore unrecognized --enable/--with options --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] + --enable-version-specific-runtime-libs + specify that runtime libraries should be installed + in a compiler-specific directory --enable-maintainer-mode enable make rules and dependencies not useful (and sometimes confusing) to the casual installer @@ -2215,6 +2219,22 @@ target_subdir=${target_noncanonical} # Command-line options. + +# Check whether --enable-version-specific-runtime-libs was given. +if test "${enable_version_specific_runtime_libs+set}" = set; then : + enableval=$enable_version_specific_runtime_libs; case "$enableval" in + yes|no) + ;; + *) + as_fn_error $? "--enable-version-specific-runtime-libs must be yes or no" "$LINENO" 5 + ;; + esac +else + enable_version_specific_runtime_libs=yes + +fi + + # Very limited version of AC_MAINTAINER_MODE. # Check whether --enable-maintainer-mode was given. if test "${enable_maintainer_mode+set}" = set; then : @@ -2273,8 +2293,8 @@ case ${enable_version_specific_runtime_libs} in # Need the gcc compiler version to know where to install libraries # and header files if --enable-version-specific-runtime-libs option # is selected. - toolexecdir='$(libdir)/gcc/$(target_alias)' - toolexeclibdir='$(toolexecdir)/$(gcc_version)$(MULTISUBDIR)' + toolexecdir='$(libdir)/gcc/$(target_noncanonical)' + toolexeclibdir='$(toolexecdir)/$(version)$(MULTISUBDIR)/adalib' ;; no) if test -n "$with_cross_host" && @@ -2295,7 +2315,6 @@ case ${enable_version_specific_runtime_libs} in esac -#TODO: toolexeclibdir is currently disregarded # Check the compiler. # The same as in boehm-gc and libstdc++. Have to borrow it from there. diff --git a/libada/configure.ac b/libada/configure.ac index 9495b23fe236..bd245d4d95aa 100644 --- a/libada/configure.ac +++ b/libada/configure.ac @@ -38,6 +38,21 @@ ACX_NONCANONICAL_TARGET GCC_TOPLEV_SUBDIRS # Command-line options. + +AC_ARG_ENABLE(version-specific-runtime-libs, + [AS_HELP_STRING([--enable-version-specific-runtime-libs], + [specify that runtime libraries should be + installed in a compiler-specific directory])], + [case "$enableval" in + yes|no) + ;; + *) + AC_MSG_ERROR([--enable-version-specific-runtime-libs must be yes or no]) + ;; + esac], + [enable_version_specific_runtime_libs=yes] +) + # Very limited version of AC_MAINTAINER_MODE. AC_ARG_ENABLE([maintainer-mode], [AC_HELP_STRING([--enable-maintainer-mode], @@ -60,8 +75,8 @@ case ${enable_version_specific_runtime_libs} in # Need the gcc compiler version to know where to install libraries # and header files if --enable-version-specific-runtime-libs option # is selected. - toolexecdir='$(libdir)/gcc/$(target_alias)' - toolexeclibdir='$(toolexecdir)/$(gcc_version)$(MULTISUBDIR)' + toolexecdir='$(libdir)/gcc/$(target_noncanonical)' + toolexeclibdir='$(toolexecdir)/$(version)$(MULTISUBDIR)/adalib' ;; no) if test -n "$with_cross_host" && @@ -82,7 +97,6 @@ case ${enable_version_specific_runtime_libs} in esac AC_SUBST(toolexecdir) AC_SUBST(toolexeclibdir) -#TODO: toolexeclibdir is currently disregarded # Check the compiler. # The same as in boehm-gc and libstdc++. Have to borrow it from there.