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
