https://gcc.gnu.org/g:a299d6064ddf8c0c76fe50493fca32b73a47be49

commit r17-996-ga299d6064ddf8c0c76fe50493fca32b73a47be49
Author: Robert Dubner <[email protected]>
Date:   Fri May 29 22:48:59 2026 -0400

    cobol: Include m4/autoconf.m4. [PR125503]
    
    libgcobol/ChangeLog:
    
            PR cobol/125503
            * m4/autoconf.m4: New file.

Diff:
---
 libgcobol/m4/autoconf.m4 | 144 +++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 144 insertions(+)

diff --git a/libgcobol/m4/autoconf.m4 b/libgcobol/m4/autoconf.m4
new file mode 100644
index 000000000000..a02248c1076a
--- /dev/null
+++ b/libgcobol/m4/autoconf.m4
@@ -0,0 +1,144 @@
+#
+# Minimal autoconf support for the COBOL language.
+# Adapted from libga68/m4/autoconf.m4
+#
+
+# ------------------- #
+# Language selection.
+# ------------------- #
+
+# AC_LANG(COBOL)
+# ------------
+AC_LANG_DEFINE([COBOL], [cbl], [COBOL], [COBC], [],
+[ac_ext=cbl
+ac_compile='$COBC -c $COBFLAGS conftest.$ac_ext >&AS_MESSAGE_LOG_FD'
+ac_link='$COBC -o conftest$ac_exeext $COBFLAGS $LDFLAGS conftest.$ac_ext $LIBS 
>&AS_MESSAGE_LOG_FD'
+ac_compiler_gnu=yes
+])
+
+#### # AC_LANG_COBOL
+#### # -----------  There never was an obsolete AC_LANG_COBOL
+#### AU_DEFUN([AC_LANG_COBOL], [AC_LANG(COBOL)])
+
+# ------------------- #
+# Producing programs.
+# ------------------- #
+
+# AC_LANG_PROGRAM(COBOL)([PROLOGUE], [BODY])
+# ---------------------------------------------
+m4_define([AC_LANG_PROGRAM(COBOL)],
+[$1
+$2])
+
+# _AC_LANG_IO_PROGRAM(COBOL)
+# -----------------------------
+# Produce source that performs I/O.
+m4_define([_AC_LANG_IO_PROGRAM(COBOL)],
+[AC_LANG_PROGRAM([],
+[       IDENTIFICATION DIVISION.
+       PROGRAM-ID. iotest.
+       ENVIRONMENT      DIVISION.
+       INPUT-OUTPUT     SECTION.
+       FILE-CONTROL.
+       SELECT TEST-FILE ASSIGN "conftest.out".
+       DATA             DIVISION.
+       FILE             SECTION.
+       FD  TEST-FILE.
+       01  TEST-REC     PIC X(10).
+       WORKING-STORAGE  SECTION.
+       01  MSG          PIC X(10) VALUE 'Sam I am'.
+       >>TURN EC-ALL CHECKING
+       PROCEDURE        DIVISION.
+           MOVE MSG to TEST-REC.
+           OPEN  OUTPUT TEST-FILE.
+           WRITE TEST-REC.
+           CLOSE TEST-FILE.
+         GOBACK.
+])])
+
+# AC_LANG_CALL(COBOL)(PROLOGUE, FUNCTION)
+# ------------------------------------------
+# Avoid conflicting decl of main.
+m4_define([AC_LANG_CALL(COBOL)],
+[AC_LANG_PROGRAM([],[])])
+
+# AC_LANG_FUNC_LINK_TRY(COBOL)(FUNCTION)
+# -----------------------------------------
+# Try to link a program which calls FUNCTION.
+m4_define([AC_LANG_FUNC_LINK_TRY(COBOL)],
+[AC_LANG_PROGRAM([],[])])
+
+#### # AC_LANG_BOOL_COMPILE_TRY(COBOL)(PROLOGUE, EXPRESSION)
+#### # --------------------------------------------------------
+#### # Return a program which is valid if EXPRESSION is nonzero.
+#### m4_define([AC_LANG_BOOL_COMPILE_TRY(COBOL)],
+#### [AC_LANG_PROGRAM([], [@<:@$2@:>@INT test multiple;
+####                 0])])
+#### 
+#### # AC_LANG_INT_SAVE(COBOL)(PROLOGUE, EXPRESSION)
+#### # ------------------------------------------------
+#### m4_define([AC_LANG_INT_SAVE(COBOL)],
+#### [AC_LANG_PROGRAM([
+#### proc itoa = (int i) string:
+####       begin if i = 0
+####       then "0"
+####       else int n := ABS i;
+####            string res;
+####            while n /= 0
+####            do int rem = n %* 10;
+####               res := (REPR (rem > 9 | (rem - 10) + ABS "a"
+####                             | rem + ABS "0")
+####                       + res);
+####               n %:= 10
+####            od;
+####            (i < 0 | "-" + res | res)
+####       fi
+####       end;
+#### 
+#### int ret := 0;
+#### int fd = fopen ("conftest.val", file o wronly)/
+#### (fd = -1 | ret := 1; stop);
+#### (fputs (fd, itoa ($2)) = 0 | ret := 1; stop)
+#### ])])
+
+# ---------------------- #
+# Looking for compilers. #
+# ---------------------- #
+
+# AC_LANG_COMPILER(COBOL)
+# --------------------------
+AC_DEFUN([AC_LANG_COMPILER(COBOL)],
+[AC_REQUIRE([AC_PROG_COBOL])])
+
+# AC_PROG_COBOL
+# ------------
+AN_MAKEVAR([COBC], [AC_PROG_COBOL])
+AN_PROGRAM([gcobol], [AC_PROG_COBOL])
+AC_DEFUN([AC_PROG_COBOL],
+[AC_LANG_PUSH(COBOL)dnl
+AC_ARG_VAR([COBC], [COBOL compiler command])dnl
+AC_ARG_VAR([COBFLAGS], [COBOL compiler flags])dnl
+_AC_ARG_VAR_LDFLAGS()dnl
+m4_ifval([$1],
+      [AC_CHECK_TOOLS(COBOL, [$1])],
+[AC_CHECK_TOOL(COBC, gcobol)
+if test -z "$COBC"; then
+  if test -n "$ac_tool_prefix"; then
+    AC_CHECK_PROG(COBC, [${ac_tool_prefix}gcobol], [$ac_tool_prefix}gcobol])
+  fi
+fi
+if test -z "$COBC"; then
+  AC_CHECK_PROG(COBC, gcobol, gcobol, , , false)
+fi
+])
+
+# Provide some information about the compiler.
+_AS_ECHO_LOG([checking for _AC_LANG compiler version])
+set X $ac_compile
+ac_compiler=$[2]
+_AC_DO_LIMIT([$ac_compiler --version >&AS_MESSAGE_LOG_FD])
+m4_expand_once([_AC_COMPILER_EXEEXT])[]dnl
+m4_expand_once([_AC_COMPILER_OBJEXT])[]dnl
+COBFLAGS="-g -O2"
+AC_LANG_POP(COBOL)dnl
+])# AC_PROG_COBOL

Reply via email to