cobol: Fix up libgcobol configure [PR119216]
Sorry, seems I've screwed up the earlier libgcobol/configure.tgt change. Looking in more detail, the way e.g. libsanitizer/configure.tgt works is that it is sourced twice, once at toplevel and there it just sets UNSUPPORTED=1 for fully unsupported triplets, and then inside of libsanitizer/configure where it decides to include or not include the various sublibraries depending on the *_SUPPORTED flags. So, the following patch attempts to do the same for libgcobol as well. The BIULD_LIBGCOBOL automake conditional was unused, this patch guards it on LIBGCOBOL_SUPPORTED as well and guards with it toolexeclib_LTLIBRARIES = libgcobol.la Also, AM_CFLAGS has been changed to AM_CXXFLAGS as there are just C++ sources in the library. 2025-03-11 Jakub Jelinek <jakub@redhat.com> PR cobol/119216 * configure.ac: Check for UNSUPPORTED set by libgcobol/configure.tgt rather than LIBGCOBOL_SUPPORTED. * configure: Regenerate. libgcobol/ * configure.tgt: On fully unsupported targets set UNSUPPORTED=1. * configure.ac: Add AC_CHECK_SIZEOF([void *]), source in configure.tgt and set BUILD_LIBGCOBOL also based on LIBGCOBOL_SUPPORTED. * Makefile.am (toolexeclib_LTLIBRARIES): Conditionalize on BUILD_LIBGCOBOL. (AM_CFLAGS): Rename to ... (AM_CXXFLAGS): ... this. (%.lo: %.cc): Use $(AM_CXXFLAGS) rather than $(AM_CFLAGS). * configure: Regenerate. * Makefile.in: Regenerate.
This commit is contained in:
parent
1a9f6c1e95
commit
09c2a0ab94
7 changed files with 245 additions and 16 deletions
2
configure
vendored
2
configure
vendored
|
@ -3546,7 +3546,7 @@ if test -d ${srcdir}/libgcobol; then
|
|||
$as_echo_n "checking for libgcobol support... " >&6; }
|
||||
if (srcdir=${srcdir}/libgcobol; \
|
||||
. ${srcdir}/configure.tgt; \
|
||||
test "$LIBGCOBOL_SUPPORTED" != "yes")
|
||||
test -n "$UNSUPPORTED")
|
||||
then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||
$as_echo "no" >&6; }
|
||||
|
|
|
@ -768,7 +768,7 @@ if test -d ${srcdir}/libgcobol; then
|
|||
AC_MSG_CHECKING([for libgcobol support])
|
||||
if (srcdir=${srcdir}/libgcobol; \
|
||||
. ${srcdir}/configure.tgt; \
|
||||
test "$LIBGCOBOL_SUPPORTED" != "yes")
|
||||
test -n "$UNSUPPORTED")
|
||||
then
|
||||
AC_MSG_RESULT([no])
|
||||
noconfigdirs="$noconfigdirs target-libgcobol"
|
||||
|
|
|
@ -22,7 +22,9 @@
|
|||
AUTOMAKE_OPTIONS = 1.8 foreign
|
||||
ACLOCAL_AMFLAGS = -I .. -I ../config
|
||||
|
||||
if BUILD_LIBGCOBOL
|
||||
toolexeclib_LTLIBRARIES = libgcobol.la
|
||||
endif
|
||||
|
||||
##
|
||||
## 2.2.12 Automatic Dependency Tracking
|
||||
|
@ -48,10 +50,10 @@ libgcobol_la_LINK = $(LIBTOOL) --mode=link --tag=CXX $(CXX) \
|
|||
WARN_CFLAGS = -W -Wall -Wwrite-strings
|
||||
|
||||
# not defined: DEFS, MAX_ERRORS, LTLDFLAGS
|
||||
ALL_CFLAGS = -I. -I$(srcdir) $(AM_CPPFLAGS) $(DEFS) \
|
||||
ALL_CXXFLAGS = -I. -I$(srcdir) $(AM_CPPFLAGS) $(DEFS) \
|
||||
$(XCFLAGS) $(AM_CXXFLAGS) $(WARN_CFLAGS) $(MAX_ERRORS) \
|
||||
-DIN_GCC -DIN_TARGET_LIBS -fno-strict-aliasing
|
||||
|
||||
%.lo: %.cc
|
||||
$(LIBTOOL) --mode=compile --tag=CXX $(CXX) -c \
|
||||
-o $@ $(INCLUDES) $(ALL_CFLAGS) $<
|
||||
-o $@ $(INCLUDES) $(ALL_CXXFLAGS) $<
|
||||
|
|
|
@ -168,6 +168,7 @@ libgcobol_la_LIBADD =
|
|||
am_libgcobol_la_OBJECTS = charmaps.lo constants.lo gfileio.lo gmath.lo \
|
||||
intrinsic.lo io.lo libgcobol.lo valconv.lo
|
||||
libgcobol_la_OBJECTS = $(am_libgcobol_la_OBJECTS)
|
||||
@BUILD_LIBGCOBOL_TRUE@am_libgcobol_la_rpath = -rpath $(toolexeclibdir)
|
||||
AM_V_P = $(am__v_P_@AM_V@)
|
||||
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
|
||||
am__v_P_0 = false
|
||||
|
@ -402,7 +403,7 @@ top_builddir = @top_builddir@
|
|||
top_srcdir = @top_srcdir@
|
||||
AUTOMAKE_OPTIONS = 1.8 foreign
|
||||
ACLOCAL_AMFLAGS = -I .. -I ../config
|
||||
toolexeclib_LTLIBRARIES = libgcobol.la
|
||||
@BUILD_LIBGCOBOL_TRUE@toolexeclib_LTLIBRARIES = libgcobol.la
|
||||
libgcobol_la_SOURCES = \
|
||||
charmaps.cc \
|
||||
constants.cc \
|
||||
|
@ -423,7 +424,7 @@ libgcobol_la_LINK = $(LIBTOOL) --mode=link --tag=CXX $(CXX) \
|
|||
WARN_CFLAGS = -W -Wall -Wwrite-strings
|
||||
|
||||
# not defined: DEFS, MAX_ERRORS, LTLDFLAGS
|
||||
ALL_CFLAGS = -I. -I$(srcdir) $(AM_CPPFLAGS) $(DEFS) \
|
||||
ALL_CXXFLAGS = -I. -I$(srcdir) $(AM_CPPFLAGS) $(DEFS) \
|
||||
$(XCFLAGS) $(AM_CXXFLAGS) $(WARN_CFLAGS) $(MAX_ERRORS) \
|
||||
-DIN_GCC -DIN_TARGET_LIBS -fno-strict-aliasing
|
||||
|
||||
|
@ -517,7 +518,7 @@ clean-toolexeclibLTLIBRARIES:
|
|||
}
|
||||
|
||||
libgcobol.la: $(libgcobol_la_OBJECTS) $(libgcobol_la_DEPENDENCIES) $(EXTRA_libgcobol_la_DEPENDENCIES)
|
||||
$(AM_V_GEN)$(libgcobol_la_LINK) -rpath $(toolexeclibdir) $(libgcobol_la_OBJECTS) $(libgcobol_la_LIBADD) $(LIBS)
|
||||
$(AM_V_GEN)$(libgcobol_la_LINK) $(am_libgcobol_la_rpath) $(libgcobol_la_OBJECTS) $(libgcobol_la_LIBADD) $(LIBS)
|
||||
|
||||
mostlyclean-compile:
|
||||
-rm -f *.$(OBJEXT)
|
||||
|
@ -923,7 +924,7 @@ uninstall-am: uninstall-toolexeclibLTLIBRARIES
|
|||
|
||||
%.lo: %.cc
|
||||
$(LIBTOOL) --mode=compile --tag=CXX $(CXX) -c \
|
||||
-o $@ $(INCLUDES) $(ALL_CFLAGS) $<
|
||||
-o $@ $(INCLUDES) $(ALL_CXXFLAGS) $<
|
||||
|
||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
|
|
229
libgcobol/configure
vendored
229
libgcobol/configure
vendored
|
@ -1802,6 +1802,189 @@ $as_echo "$ac_res" >&6; }
|
|||
|
||||
} # ac_fn_c_check_header_compile
|
||||
|
||||
# ac_fn_c_compute_int LINENO EXPR VAR INCLUDES
|
||||
# --------------------------------------------
|
||||
# Tries to find the compile-time value of EXPR in a program that includes
|
||||
# INCLUDES, setting VAR accordingly. Returns whether the value could be
|
||||
# computed
|
||||
ac_fn_c_compute_int ()
|
||||
{
|
||||
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
|
||||
if test "$cross_compiling" = yes; then
|
||||
# Depending upon the size, compute the lo and hi bounds.
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
$4
|
||||
int
|
||||
main ()
|
||||
{
|
||||
static int test_array [1 - 2 * !(($2) >= 0)];
|
||||
test_array [0] = 0;
|
||||
return test_array [0];
|
||||
|
||||
;
|
||||
return 0;
|
||||
}
|
||||
_ACEOF
|
||||
if ac_fn_c_try_compile "$LINENO"; then :
|
||||
ac_lo=0 ac_mid=0
|
||||
while :; do
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
$4
|
||||
int
|
||||
main ()
|
||||
{
|
||||
static int test_array [1 - 2 * !(($2) <= $ac_mid)];
|
||||
test_array [0] = 0;
|
||||
return test_array [0];
|
||||
|
||||
;
|
||||
return 0;
|
||||
}
|
||||
_ACEOF
|
||||
if ac_fn_c_try_compile "$LINENO"; then :
|
||||
ac_hi=$ac_mid; break
|
||||
else
|
||||
as_fn_arith $ac_mid + 1 && ac_lo=$as_val
|
||||
if test $ac_lo -le $ac_mid; then
|
||||
ac_lo= ac_hi=
|
||||
break
|
||||
fi
|
||||
as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val
|
||||
fi
|
||||
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
||||
done
|
||||
else
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
$4
|
||||
int
|
||||
main ()
|
||||
{
|
||||
static int test_array [1 - 2 * !(($2) < 0)];
|
||||
test_array [0] = 0;
|
||||
return test_array [0];
|
||||
|
||||
;
|
||||
return 0;
|
||||
}
|
||||
_ACEOF
|
||||
if ac_fn_c_try_compile "$LINENO"; then :
|
||||
ac_hi=-1 ac_mid=-1
|
||||
while :; do
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
$4
|
||||
int
|
||||
main ()
|
||||
{
|
||||
static int test_array [1 - 2 * !(($2) >= $ac_mid)];
|
||||
test_array [0] = 0;
|
||||
return test_array [0];
|
||||
|
||||
;
|
||||
return 0;
|
||||
}
|
||||
_ACEOF
|
||||
if ac_fn_c_try_compile "$LINENO"; then :
|
||||
ac_lo=$ac_mid; break
|
||||
else
|
||||
as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val
|
||||
if test $ac_mid -le $ac_hi; then
|
||||
ac_lo= ac_hi=
|
||||
break
|
||||
fi
|
||||
as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val
|
||||
fi
|
||||
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
||||
done
|
||||
else
|
||||
ac_lo= ac_hi=
|
||||
fi
|
||||
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
||||
fi
|
||||
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
||||
# Binary search between lo and hi bounds.
|
||||
while test "x$ac_lo" != "x$ac_hi"; do
|
||||
as_fn_arith '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo && ac_mid=$as_val
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
$4
|
||||
int
|
||||
main ()
|
||||
{
|
||||
static int test_array [1 - 2 * !(($2) <= $ac_mid)];
|
||||
test_array [0] = 0;
|
||||
return test_array [0];
|
||||
|
||||
;
|
||||
return 0;
|
||||
}
|
||||
_ACEOF
|
||||
if ac_fn_c_try_compile "$LINENO"; then :
|
||||
ac_hi=$ac_mid
|
||||
else
|
||||
as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val
|
||||
fi
|
||||
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
||||
done
|
||||
case $ac_lo in #((
|
||||
?*) eval "$3=\$ac_lo"; ac_retval=0 ;;
|
||||
'') ac_retval=1 ;;
|
||||
esac
|
||||
else
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
$4
|
||||
static long int longval () { return $2; }
|
||||
static unsigned long int ulongval () { return $2; }
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
int
|
||||
main ()
|
||||
{
|
||||
|
||||
FILE *f = fopen ("conftest.val", "w");
|
||||
if (! f)
|
||||
return 1;
|
||||
if (($2) < 0)
|
||||
{
|
||||
long int i = longval ();
|
||||
if (i != ($2))
|
||||
return 1;
|
||||
fprintf (f, "%ld", i);
|
||||
}
|
||||
else
|
||||
{
|
||||
unsigned long int i = ulongval ();
|
||||
if (i != ($2))
|
||||
return 1;
|
||||
fprintf (f, "%lu", i);
|
||||
}
|
||||
/* Do not output a trailing newline, as this causes \r\n confusion
|
||||
on some platforms. */
|
||||
return ferror (f) || fclose (f) != 0;
|
||||
|
||||
;
|
||||
return 0;
|
||||
}
|
||||
_ACEOF
|
||||
if ac_fn_c_try_run "$LINENO"; then :
|
||||
echo >>conftest.val; read $3 <conftest.val; ac_retval=0
|
||||
else
|
||||
ac_retval=1
|
||||
fi
|
||||
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
|
||||
conftest.$ac_objext conftest.beam conftest.$ac_ext
|
||||
rm -f conftest.val
|
||||
|
||||
fi
|
||||
eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
|
||||
as_fn_set_status $ac_retval
|
||||
|
||||
} # ac_fn_c_compute_int
|
||||
|
||||
# ac_fn_c_try_link LINENO
|
||||
# -----------------------
|
||||
# Try to link conftest.$ac_ext, and return whether this succeeded.
|
||||
|
@ -2441,8 +2624,6 @@ ac_config_commands="$ac_config_commands default-1"
|
|||
# exported.
|
||||
ORIGINAL_LD_FOR_MULTILIBS=$LD
|
||||
|
||||
####. ${srcdir}/configure.tgt
|
||||
|
||||
|
||||
|
||||
ac_aux_dir=
|
||||
|
@ -4773,6 +4954,44 @@ fi
|
|||
target_subdir=${target_noncanonical}
|
||||
|
||||
|
||||
# The cast to long int works around a bug in the HP C Compiler
|
||||
# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
|
||||
# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
|
||||
# This bug is HP SR number 8606223364.
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of void *" >&5
|
||||
$as_echo_n "checking size of void *... " >&6; }
|
||||
if ${ac_cv_sizeof_void_p+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (void *))" "ac_cv_sizeof_void_p" "$ac_includes_default"; then :
|
||||
|
||||
else
|
||||
if test "$ac_cv_type_void_p" = yes; then
|
||||
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
|
||||
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
|
||||
as_fn_error 77 "cannot compute sizeof (void *)
|
||||
See \`config.log' for more details" "$LINENO" 5; }
|
||||
else
|
||||
ac_cv_sizeof_void_p=0
|
||||
fi
|
||||
fi
|
||||
|
||||
fi
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_void_p" >&5
|
||||
$as_echo "$ac_cv_sizeof_void_p" >&6; }
|
||||
|
||||
|
||||
|
||||
cat >>confdefs.h <<_ACEOF
|
||||
#define SIZEOF_VOID_P $ac_cv_sizeof_void_p
|
||||
_ACEOF
|
||||
|
||||
|
||||
|
||||
# Get target configury.
|
||||
unset LIBGCOBOL_SUPPORTED
|
||||
. ${srcdir}/configure.tgt
|
||||
|
||||
# -----------------
|
||||
# __int128 support
|
||||
# -----------------
|
||||
|
@ -4867,7 +5086,7 @@ $as_echo "$libgcobol_cv_have_int128" >&6; }
|
|||
# The following conditional is useful when this creates a Makefile.am file that
|
||||
# is subsequently processed into a Makefile.in file. At the present time,
|
||||
# however the libgcobol build uses a hardcoded Makefile.in file.
|
||||
if test "x$libgcobol_cv_have_int128" = xyes; then
|
||||
if test "x$LIBGCOBOL_SUPPORTED" = xyes && test "x$libgcobol_cv_have_int128" = xyes; then
|
||||
BUILD_LIBGCOBOL_TRUE=
|
||||
BUILD_LIBGCOBOL_FALSE='#'
|
||||
else
|
||||
|
@ -12657,7 +12876,7 @@ else
|
|||
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
|
||||
lt_status=$lt_dlunknown
|
||||
cat > conftest.$ac_ext <<_LT_EOF
|
||||
#line 12660 "configure"
|
||||
#line 12879 "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
#if HAVE_DLFCN_H
|
||||
|
@ -12763,7 +12982,7 @@ else
|
|||
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
|
||||
lt_status=$lt_dlunknown
|
||||
cat > conftest.$ac_ext <<_LT_EOF
|
||||
#line 12766 "configure"
|
||||
#line 12985 "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
#if HAVE_DLFCN_H
|
||||
|
|
|
@ -34,8 +34,6 @@ AM_ENABLE_MULTILIB(, ..)
|
|||
# exported.
|
||||
ORIGINAL_LD_FOR_MULTILIBS=$LD
|
||||
|
||||
####. ${srcdir}/configure.tgt
|
||||
|
||||
GCC_NO_EXECUTABLES
|
||||
|
||||
AC_USE_SYSTEM_EXTENSIONS
|
||||
|
@ -62,6 +60,12 @@ ACX_NONCANONICAL_HOST
|
|||
ACX_NONCANONICAL_TARGET
|
||||
GCC_TOPLEV_SUBDIRS
|
||||
|
||||
AC_CHECK_SIZEOF([void *])
|
||||
|
||||
# Get target configury.
|
||||
unset LIBGCOBOL_SUPPORTED
|
||||
. ${srcdir}/configure.tgt
|
||||
|
||||
# -----------------
|
||||
# __int128 support
|
||||
# -----------------
|
||||
|
@ -90,7 +94,7 @@ AC_CACHE_CHECK([whether __int128 is supported], [libgcobol_cv_have_int128],
|
|||
# The following conditional is useful when this creates a Makefile.am file that
|
||||
# is subsequently processed into a Makefile.in file. At the present time,
|
||||
# however the libgcobol build uses a hardcoded Makefile.in file.
|
||||
AM_CONDITIONAL(BUILD_LIBGCOBOL, [test "x$libgcobol_cv_have_int128" = xyes])
|
||||
AM_CONDITIONAL(BUILD_LIBGCOBOL, [test "x$LIBGCOBOL_SUPPORTED" = xyes && test "x$libgcobol_cv_have_int128" = xyes])
|
||||
|
||||
GCC_WITH_TOOLEXECLIBDIR
|
||||
|
||||
|
|
|
@ -39,4 +39,7 @@ case "${target}" in
|
|||
LIBGCOBOL_SUPPORTED=yes
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
UNSUPPORTED=1
|
||||
;;
|
||||
esac
|
||||
|
|
Loading…
Add table
Reference in a new issue