When using --enable-version-specific-runtime-libs at least it's
required that $(gcc_version) is set to be able to expand
toolexeclibdir='$(toolexecdir)/$(gcc_version)$(MULTISUBDIR)'

The following fixes this by adjusting configure.ac to call GCC_BASE_VER
and Makefile.am to include a definition for gcc_version.

Build and installed on x86_64-unknown-linux-gnu with the following
result which looks good to me:

> find /tmp/install -name '*cob*'
/tmp/install/usr/local/share/gcobol
/tmp/install/usr/local/share/man/man3/gcobol.3
/tmp/install/usr/local/share/man/man1/gcobol.1
/tmp/install/usr/local/bin/gcobc
/tmp/install/usr/local/bin/gcobol
/tmp/install/usr/local/lib64/gcc/x86_64-pc-linux-gnu/15/libgcobol.a
/tmp/install/usr/local/lib64/gcc/x86_64-pc-linux-gnu/15/libgcobol.la
/tmp/install/usr/local/lib64/gcc/x86_64-pc-linux-gnu/15/libgcobol.so
/tmp/install/usr/local/lib64/gcc/x86_64-pc-linux-gnu/15/libgcobol.so.1
/tmp/install/usr/local/lib64/gcc/x86_64-pc-linux-gnu/15/libgcobol.so.1.0.0
/tmp/install/usr/local/lib/gcc/x86_64-pc-linux-gnu/15/cobol1

OK?

Thanks,
Richard.

libgcobol/
        * Makefile.am: Define gcc_version.
        * configure.ac: Execute GCC_BASE_VER.
        * Makefile.in: Regenerated.
        * configure: Likewise.
---
 libgcobol/Makefile.am  |  3 +++
 libgcobol/Makefile.in  |  3 +++
 libgcobol/configure    | 27 +++++++++++++++++++++------
 libgcobol/configure.ac |  3 +++
 4 files changed, 30 insertions(+), 6 deletions(-)

diff --git a/libgcobol/Makefile.am b/libgcobol/Makefile.am
index bee294e0c9d..eddf209807e 100644
--- a/libgcobol/Makefile.am
+++ b/libgcobol/Makefile.am
@@ -22,6 +22,9 @@
 AUTOMAKE_OPTIONS = 1.8 foreign
 ACLOCAL_AMFLAGS = -I .. -I ../config
 
+# May be used by various substitution variables.
+gcc_version := $(shell @get_gcc_base_ver@ $(top_srcdir)/../gcc/BASE-VER)
+
 if BUILD_LIBGCOBOL
 toolexeclib_LTLIBRARIES  = libgcobol.la
 endif
diff --git a/libgcobol/Makefile.in b/libgcobol/Makefile.in
index c93e9246e37..a6096d2a64a 100644
--- a/libgcobol/Makefile.in
+++ b/libgcobol/Makefile.in
@@ -403,6 +403,9 @@ top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 AUTOMAKE_OPTIONS = 1.8 foreign
 ACLOCAL_AMFLAGS = -I .. -I ../config
+
+# May be used by various substitution variables.
+gcc_version := $(shell @get_gcc_base_ver@ $(top_srcdir)/../gcc/BASE-VER)
 @BUILD_LIBGCOBOL_TRUE@toolexeclib_LTLIBRARIES = libgcobol.la
 libgcobol_la_SOURCES = \
        charmaps.cc                             \
diff --git a/libgcobol/configure b/libgcobol/configure
index bd946b65fc2..73433ebb13d 100755
--- a/libgcobol/configure
+++ b/libgcobol/configure
@@ -635,7 +635,6 @@ am__EXEEXT_TRUE
 LTLIBOBJS
 LIBOBJS
 extra_darwin_ldflags_libgcobol
-get_gcc_base_ver
 VERSION_SUFFIX
 LIBGCOBOL_VERSION
 SPEC_LIBGCOBOL_DEPS
@@ -674,6 +673,7 @@ CXXFLAGS
 CXX
 MAINTAINER_MODE_FALSE
 MAINTAINER_MODE_TRUE
+get_gcc_base_ver
 toolexeclibdir
 toolexecdir
 MAINT
@@ -796,6 +796,7 @@ with_toolexeclibdir
 enable_version_specific_runtime_libs
 with_slibdir
 enable_maintainer_mode
+with_gcc_major_version_only
 enable_shared
 enable_static
 with_pic
@@ -803,7 +804,6 @@ enable_fast_install
 with_gnu_ld
 enable_libtool_lock
 enable_darwin_at_rpath
-with_gcc_major_version_only
 '
       ac_precious_vars='build_alias
 host_alias
@@ -1466,11 +1466,11 @@ Optional Packages:
                           install libraries built with a cross compiler within
                           DIR
   --with-slibdir=DIR      shared libraries in DIR LIBDIR
+  --with-gcc-major-version-only
+                          use only GCC major number in filesystem paths
   --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
@@ -5192,6 +5192,21 @@ esac
 
 
 
+# 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
+
+
+
+
 
 
 
@@ -12876,7 +12891,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12879 "configure"
+#line 12894 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -12982,7 +12997,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12985 "configure"
+#line 13000 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
diff --git a/libgcobol/configure.ac b/libgcobol/configure.ac
index ec665812446..2e4a88ef77f 100644
--- a/libgcobol/configure.ac
+++ b/libgcobol/configure.ac
@@ -170,6 +170,9 @@ esac
 AC_SUBST(toolexecdir)
 AC_SUBST(toolexeclibdir)
 
+# Determine what GCC version number to use in filesystem paths.
+GCC_BASE_VER
+
 AH_TEMPLATE(PACKAGE, [Name of package])
 AH_TEMPLATE(VERSION, [Version number of package])
 
-- 
2.43.0

Reply via email to