modula2/108144 - fix --enable-version-specific-runtime-libs

The following fixes --enable-version-specific-runtime-libs for
the modula2 target libraries.  The issue is that the install
happens via for example

toolexeclib_LTLIBRARIES = libm2cor.la

and toolexeclibdir is set to $(toolexecdir)/$(gcc_version)$(MULTISUBDIR)
but the Makefile.am do not define $(gcc_version) but instead
$(version) which is used locally to define libsubdir.  The fix
is to consistently define and use $(gcc_version), also properly
supporting --with-gcc-major-version-only

	PR modula2/108144
libgm2/
	* configure.ac: Add GCC_BASE_VER.
	* configure: Re-generate.
	* Makefile.am: Use @get_gcc_base_ver@ for gcc_version.
	* libm2cor/Makefile.am: Likewise.  Use gcc_version instead
	of version.
	* libm2iso/Makefile.am: Likewise.
	* libm2log/Makefile.am: Likewise.
	* libm2min/Makefile.am: Likewise.
	* libm2pim/Makefile.am: Likewise.
	* Makefile.in: Re-generate.
	* libm2cor/Makefile.in: Likewise.
	* libm2iso/Makefile.in: Likewise.
	* libm2log/Makefile.in: Likewise.
	* libm2min/Makefile.in: Likewise.
	* libm2pim/Makefile.in: Likewise.
This commit is contained in:
Richard Biener 2023-01-19 12:15:14 +01:00
parent 05b9868b18
commit 1cfaaa4229
14 changed files with 52 additions and 24 deletions

View file

@ -32,7 +32,7 @@ MAKEOVERRIDES=
AM_CFLAGS = -I $(srcdir)/../libgcc -I $(MULTIBUILDTOP)../../gcc/include
gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER)
gcc_version := $(shell @get_gcc_base_ver@ $(top_srcdir)/../gcc/BASE-VER)
TOP_GCCDIR := $(shell cd $(top_srcdir) && cd .. && pwd)
GCC_DIR = $(TOP_GCCDIR)/gcc

View file

@ -264,6 +264,7 @@ dvidir = @dvidir@
enable_shared = @enable_shared@
enable_static = @enable_static@
exec_prefix = @exec_prefix@
get_gcc_base_ver = @get_gcc_base_ver@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
@ -336,7 +337,7 @@ ACLOCAL_AMFLAGS = -I . -I .. -I ../config
# Multilib support.
MAKEOVERRIDES =
AM_CFLAGS = -I $(srcdir)/../libgcc -I $(MULTIBUILDTOP)../../gcc/include
gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER)
gcc_version := $(shell @get_gcc_base_ver@ $(top_srcdir)/../gcc/BASE-VER)
TOP_GCCDIR := $(shell cd $(top_srcdir) && cd .. && pwd)
GCC_DIR = $(TOP_GCCDIR)/gcc
GM2_SRC = $(GCC_DIR)/m2

23
libgm2/configure vendored
View file

@ -634,6 +634,7 @@ ac_subst_vars='am__EXEEXT_FALSE
am__EXEEXT_TRUE
LTLIBOBJS
LIBOBJS
get_gcc_base_ver
TARGET_DARWIN_FALSE
TARGET_DARWIN_TRUE
BUILD_LOGLIB_FALSE
@ -805,6 +806,7 @@ with_pic
enable_fast_install
with_gnu_ld
enable_libtool_lock
with_gcc_major_version_only
'
ac_precious_vars='build_alias
host_alias
@ -1464,6 +1466,8 @@ Optional Packages:
--with-pic try to use only PIC/non-PIC objects [default=use
both]
--with-gnu-ld assume the C compiler uses GNU ld [default=no]
--with-gcc-major-version-only
use only GCC major number in filesystem paths
Some influential environment variables:
CC C compiler command
@ -12700,7 +12704,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
#line 12703 "configure"
#line 12707 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@ -12806,7 +12810,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
#line 12809 "configure"
#line 12813 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@ -19696,6 +19700,21 @@ else
fi
# Determine what GCC version number to use in filesystem paths.
get_gcc_base_ver="cat"
# Check whether --with-gcc-major-version-only was given.
if test "${with_gcc_major_version_only+set}" = set; then :
withval=$with_gcc_major_version_only; if test x$with_gcc_major_version_only = xyes ; then
get_gcc_base_ver="sed -e 's/^\([0-9]*\).*/\1/'"
fi
fi
ac_config_files="$ac_config_files Makefile libm2min/Makefile libm2pim/Makefile libm2iso/Makefile libm2cor/Makefile libm2log/Makefile"

View file

@ -381,6 +381,9 @@ AM_CONDITIONAL([BUILD_CORLIB], [test x$BUILD_CORLIB = xtrue])
AM_CONDITIONAL([BUILD_LOGLIB], [test x$BUILD_LOGLIB = xtrue])
AM_CONDITIONAL([TARGET_DARWIN], [test x$M2_TARGET_OS = xdarwin])
# Determine what GCC version number to use in filesystem paths.
GCC_BASE_VER
AC_CONFIG_SRCDIR([Makefile.am])
AC_CONFIG_FILES([Makefile libm2min/Makefile libm2pim/Makefile libm2iso/Makefile
libm2cor/Makefile libm2log/Makefile])

View file

@ -24,10 +24,10 @@ VPATH = . @srcdir@ @srcdir@/../../gcc/m2/gm2-libs-coroutines
# Multilib support.
MAKEOVERRIDES=
version := $(shell $(CC) -dumpversion)
gcc_version := $(shell @get_gcc_base_ver@ $(top_srcdir)/../gcc/BASE-VER)
# Directory in which the compiler finds libraries etc.
libsubdir = $(libdir)/gcc/$(target_alias)/$(version)
libsubdir = $(libdir)/gcc/$(target_alias)/$(gcc_version)
# Used to install the shared libgcc.
slibdir = @slibdir@

View file

@ -340,6 +340,7 @@ dvidir = @dvidir@
enable_shared = @enable_shared@
enable_static = @enable_static@
exec_prefix = @exec_prefix@
get_gcc_base_ver = @get_gcc_base_ver@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
@ -387,10 +388,10 @@ ACLOCAL_AMFLAGS = -I . -I .. -I ../config
# Multilib support.
MAKEOVERRIDES =
version := $(shell $(CC) -dumpversion)
gcc_version := $(shell @get_gcc_base_ver@ $(top_srcdir)/../gcc/BASE-VER)
# Directory in which the compiler finds libraries etc.
libsubdir = $(libdir)/gcc/$(target_alias)/$(version)
libsubdir = $(libdir)/gcc/$(target_alias)/$(gcc_version)
MULTIDIR := $(shell $(CC) $(CFLAGS) -print-multi-directory)
MULTIOSDIR := $(shell $(CC) $(CFLAGS) -print-multi-os-directory)
MULTIOSSUBDIR := $(shell if test x$(MULTIOSDIR) != x.; then echo /$(MULTIOSDIR); fi)

View file

@ -24,10 +24,10 @@ VPATH = . @srcdir@ @srcdir@/../../gcc/m2/gm2-libs-iso
# Multilib support.
MAKEOVERRIDES=
version := $(shell $(CC) -dumpversion)
gcc_version := $(shell @get_gcc_base_ver@ $(top_srcdir)/../gcc/BASE-VER)
# Directory in which the compiler finds libraries etc.
libsubdir = $(libdir)/gcc/$(target_alias)/$(version)
libsubdir = $(libdir)/gcc/$(target_alias)/$(gcc_version)
# Used to install the shared libgcc.
# was slibdir = @slibdir@
slibdir = $(libdir)/gcc/$(target_alias)/$(gcc_version)$(MULTISUBDIR)

View file

@ -364,6 +364,7 @@ dvidir = @dvidir@
enable_shared = @enable_shared@
enable_static = @enable_static@
exec_prefix = @exec_prefix@
get_gcc_base_ver = @get_gcc_base_ver@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
@ -412,10 +413,10 @@ ACLOCAL_AMFLAGS = -I . -I .. -I ../config
# Multilib support.
MAKEOVERRIDES =
version := $(shell $(CC) -dumpversion)
gcc_version := $(shell @get_gcc_base_ver@ $(top_srcdir)/../gcc/BASE-VER)
# Directory in which the compiler finds libraries etc.
libsubdir = $(libdir)/gcc/$(target_alias)/$(version)
libsubdir = $(libdir)/gcc/$(target_alias)/$(gcc_version)
MULTIDIR := $(shell $(CC) $(CFLAGS) -print-multi-directory)
MULTIOSDIR := $(shell $(CC) $(CFLAGS) -print-multi-os-directory)
MULTIOSSUBDIR := $(shell if test x$(MULTIOSDIR) != x.; then echo /$(MULTIOSDIR); fi)

View file

@ -24,10 +24,10 @@ VPATH = . @srcdir@ @srcdir@/../../gcc/m2/gm2-libs-pim
# Multilib support.
MAKEOVERRIDES=
version := $(shell $(CC) -dumpversion)
gcc_version := $(shell @get_gcc_base_ver@ $(top_srcdir)/../gcc/BASE-VER)
# Directory in which the compiler finds libraries etc.
libsubdir = $(libdir)/gcc/$(target_alias)/$(version)
libsubdir = $(libdir)/gcc/$(target_alias)/$(gcc_version)
# Used to install the shared libgcc.
slibdir = @slibdir@

View file

@ -329,6 +329,7 @@ dvidir = @dvidir@
enable_shared = @enable_shared@
enable_static = @enable_static@
exec_prefix = @exec_prefix@
get_gcc_base_ver = @get_gcc_base_ver@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
@ -376,10 +377,10 @@ ACLOCAL_AMFLAGS = -I . -I .. -I ../config
# Multilib support.
MAKEOVERRIDES =
version := $(shell $(CC) -dumpversion)
gcc_version := $(shell @get_gcc_base_ver@ $(top_srcdir)/../gcc/BASE-VER)
# Directory in which the compiler finds libraries etc.
libsubdir = $(libdir)/gcc/$(target_alias)/$(version)
libsubdir = $(libdir)/gcc/$(target_alias)/$(gcc_version)
MULTIDIR := $(shell $(CC) $(CFLAGS) -print-multi-directory)
MULTIOSDIR := $(shell $(CC) $(CFLAGS) -print-multi-os-directory)
MULTIOSSUBDIR := $(shell if test x$(MULTIOSDIR) != x.; then echo /$(MULTIOSDIR); fi)

View file

@ -24,10 +24,10 @@ VPATH = . @srcdir@/../../gcc/m2/gm2-libs-min
# Multilib support.
MAKEOVERRIDES=
version := $(shell $(CC) -dumpversion)
gcc_version := $(shell @get_gcc_base_ver@ $(top_srcdir)/../gcc/BASE-VER)
# Directory in which the compiler finds libraries etc.
libsubdir = $(libdir)/gcc/$(target_alias)/$(version)
libsubdir = $(libdir)/gcc/$(target_alias)/$(gcc_version)
# Used to install the shared libgcc.
slibdir = @slibdir@

View file

@ -319,6 +319,7 @@ dvidir = @dvidir@
enable_shared = @enable_shared@
enable_static = @enable_static@
exec_prefix = @exec_prefix@
get_gcc_base_ver = @get_gcc_base_ver@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
@ -366,10 +367,10 @@ ACLOCAL_AMFLAGS = -I . -I .. -I ../config
# Multilib support.
MAKEOVERRIDES =
version := $(shell $(CC) -dumpversion)
gcc_version := $(shell @get_gcc_base_ver@ $(top_srcdir)/../gcc/BASE-VER)
# Directory in which the compiler finds libraries etc.
libsubdir = $(libdir)/gcc/$(target_alias)/$(version)
libsubdir = $(libdir)/gcc/$(target_alias)/$(gcc_version)
MULTIDIR := $(shell $(CC) $(CFLAGS) -print-multi-directory)
MULTIOSDIR := $(shell $(CC) $(CFLAGS) -print-multi-os-directory)
MULTIOSSUBDIR := $(shell if test x$(MULTIOSDIR) != x.; then echo /$(MULTIOSDIR); fi)

View file

@ -24,10 +24,10 @@ VPATH = . @srcdir@ @srcdir@/../../gcc/m2/gm2-libs
# Multilib support.
MAKEOVERRIDES=
version := $(shell $(CC) -dumpversion)
gcc_version := $(shell @get_gcc_base_ver@ $(top_srcdir)/../gcc/BASE-VER)
# Directory in which the compiler finds libraries etc.
libsubdir = $(libdir)/gcc/$(target_alias)/$(version)
libsubdir = $(libdir)/gcc/$(target_alias)/$(gcc_version)
# Used to install the shared libgcc.
slibdir = @slibdir@

View file

@ -354,6 +354,7 @@ dvidir = @dvidir@
enable_shared = @enable_shared@
enable_static = @enable_static@
exec_prefix = @exec_prefix@
get_gcc_base_ver = @get_gcc_base_ver@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
@ -401,10 +402,10 @@ ACLOCAL_AMFLAGS = -I . -I .. -I ../config
# Multilib support.
MAKEOVERRIDES =
version := $(shell $(CC) -dumpversion)
gcc_version := $(shell @get_gcc_base_ver@ $(top_srcdir)/../gcc/BASE-VER)
# Directory in which the compiler finds libraries etc.
libsubdir = $(libdir)/gcc/$(target_alias)/$(version)
libsubdir = $(libdir)/gcc/$(target_alias)/$(gcc_version)
MULTIDIR := $(shell $(CC) $(CFLAGS) -print-multi-directory)
MULTIOSDIR := $(shell $(CC) $(CFLAGS) -print-multi-os-directory)
MULTIOSSUBDIR := $(shell if test x$(MULTIOSDIR) != x.; then echo /$(MULTIOSDIR); fi)