aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames K. Lowden <jklowden@symas.com>2025-03-10 16:04:49 +0100
committerRichard Biener <rguenth@gcc.gnu.org>2025-03-11 07:48:27 +0100
commit45c281deb7a2e24a21f2f68a2a3652e30f27f953 (patch)
tree92e3d92c80ef30c5658c7e9e9e73ce10408e10ca
parentab79cd87c8a87760bcc29dc4ffc643672e861250 (diff)
downloadgcc-45c281deb7a2e24a21f2f68a2a3652e30f27f953.zip
gcc-45c281deb7a2e24a21f2f68a2a3652e30f27f953.tar.gz
gcc-45c281deb7a2e24a21f2f68a2a3652e30f27f953.tar.bz2
COBOL: config and build machinery
* Makefile.def: Add libgcobol module and cobol language. * Makefile.in: Regenerate. * configure.ac: Add libgcobol module and cobol language. * configure: Regenerate.
-rw-r--r--Makefile.def5
-rw-r--r--Makefile.in527
-rwxr-xr-xconfigure53
-rw-r--r--configure.ac50
4 files changed, 631 insertions, 4 deletions
diff --git a/Makefile.def b/Makefile.def
index 19954e7..d2a1cd5 100644
--- a/Makefile.def
+++ b/Makefile.def
@@ -209,6 +209,7 @@ target_modules = { module= libgomp; bootstrap= true; lib_path=.libs; };
target_modules = { module= libitm; lib_path=.libs; };
target_modules = { module= libatomic; bootstrap=true; lib_path=.libs; };
target_modules = { module= libgrust; };
+target_modules = { module= libgcobol; };
// These are (some of) the make targets to be done in each subdirectory.
// Not all; these are the ones which don't have special options.
@@ -655,6 +656,7 @@ lang_env_dependencies = { module=libgcc; no_gcc=true; no_c=true; };
// built newlib on some targets (e.g. Cygwin). It still needs
// a dependency on libgcc for native targets to configure.
lang_env_dependencies = { module=libiberty; no_c=true; };
+lang_env_dependencies = { module=libgcobol; cxx=true; };
dependencies = { module=configure-target-fastjar; on=configure-target-zlib; };
dependencies = { module=all-target-fastjar; on=all-target-zlib; };
@@ -690,6 +692,7 @@ dependencies = { module=install-target-libvtv; on=install-target-libgcc; };
dependencies = { module=install-target-libitm; on=install-target-libgcc; };
dependencies = { module=install-target-libobjc; on=install-target-libgcc; };
dependencies = { module=install-target-libstdc++-v3; on=install-target-libgcc; };
+dependencies = { module=install-target-libgcobol; on=install-target-libstdc++-v3; };
// Target modules in the 'src' repository.
lang_env_dependencies = { module=libtermcap; };
@@ -727,6 +730,8 @@ languages = { language=d; gcc-check-target=check-d;
lib-check-target=check-target-libphobos; };
languages = { language=jit; gcc-check-target=check-jit; };
languages = { language=rust; gcc-check-target=check-rust; };
+languages = { language=cobol; gcc-check-target=check-cobol;
+ lib-check-target=check-target-libgcobol; };
// Toplevel bootstrap
bootstrap_stage = { id=1 ; };
diff --git a/Makefile.in b/Makefile.in
index 966d604..87880c6 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -1162,7 +1162,8 @@ configure-target: \
maybe-configure-target-libgomp \
maybe-configure-target-libitm \
maybe-configure-target-libatomic \
- maybe-configure-target-libgrust
+ maybe-configure-target-libgrust \
+ maybe-configure-target-libgcobol
# The target built for a native non-bootstrap build.
.PHONY: all
@@ -1366,6 +1367,7 @@ all-target: maybe-all-target-libitm
all-target: maybe-all-target-libatomic
@endif target-libatomic-no-bootstrap
all-target: maybe-all-target-libgrust
+all-target: maybe-all-target-libgcobol
# Do a target for all the subdirectories. A ``make do-X'' will do a
# ``make X'' in all subdirectories (because, in general, there is a
@@ -1464,6 +1466,7 @@ info-target: maybe-info-target-libgomp
info-target: maybe-info-target-libitm
info-target: maybe-info-target-libatomic
info-target: maybe-info-target-libgrust
+info-target: maybe-info-target-libgcobol
.PHONY: do-dvi
do-dvi:
@@ -1557,6 +1560,7 @@ dvi-target: maybe-dvi-target-libgomp
dvi-target: maybe-dvi-target-libitm
dvi-target: maybe-dvi-target-libatomic
dvi-target: maybe-dvi-target-libgrust
+dvi-target: maybe-dvi-target-libgcobol
.PHONY: do-pdf
do-pdf:
@@ -1650,6 +1654,7 @@ pdf-target: maybe-pdf-target-libgomp
pdf-target: maybe-pdf-target-libitm
pdf-target: maybe-pdf-target-libatomic
pdf-target: maybe-pdf-target-libgrust
+pdf-target: maybe-pdf-target-libgcobol
.PHONY: do-html
do-html:
@@ -1743,6 +1748,7 @@ html-target: maybe-html-target-libgomp
html-target: maybe-html-target-libitm
html-target: maybe-html-target-libatomic
html-target: maybe-html-target-libgrust
+html-target: maybe-html-target-libgcobol
.PHONY: do-TAGS
do-TAGS:
@@ -1836,6 +1842,7 @@ TAGS-target: maybe-TAGS-target-libgomp
TAGS-target: maybe-TAGS-target-libitm
TAGS-target: maybe-TAGS-target-libatomic
TAGS-target: maybe-TAGS-target-libgrust
+TAGS-target: maybe-TAGS-target-libgcobol
.PHONY: do-install-info
do-install-info:
@@ -1929,6 +1936,7 @@ install-info-target: maybe-install-info-target-libgomp
install-info-target: maybe-install-info-target-libitm
install-info-target: maybe-install-info-target-libatomic
install-info-target: maybe-install-info-target-libgrust
+install-info-target: maybe-install-info-target-libgcobol
.PHONY: do-install-dvi
do-install-dvi:
@@ -2022,6 +2030,7 @@ install-dvi-target: maybe-install-dvi-target-libgomp
install-dvi-target: maybe-install-dvi-target-libitm
install-dvi-target: maybe-install-dvi-target-libatomic
install-dvi-target: maybe-install-dvi-target-libgrust
+install-dvi-target: maybe-install-dvi-target-libgcobol
.PHONY: do-install-pdf
do-install-pdf:
@@ -2115,6 +2124,7 @@ install-pdf-target: maybe-install-pdf-target-libgomp
install-pdf-target: maybe-install-pdf-target-libitm
install-pdf-target: maybe-install-pdf-target-libatomic
install-pdf-target: maybe-install-pdf-target-libgrust
+install-pdf-target: maybe-install-pdf-target-libgcobol
.PHONY: do-install-html
do-install-html:
@@ -2208,6 +2218,7 @@ install-html-target: maybe-install-html-target-libgomp
install-html-target: maybe-install-html-target-libitm
install-html-target: maybe-install-html-target-libatomic
install-html-target: maybe-install-html-target-libgrust
+install-html-target: maybe-install-html-target-libgcobol
.PHONY: do-installcheck
do-installcheck:
@@ -2301,6 +2312,7 @@ installcheck-target: maybe-installcheck-target-libgomp
installcheck-target: maybe-installcheck-target-libitm
installcheck-target: maybe-installcheck-target-libatomic
installcheck-target: maybe-installcheck-target-libgrust
+installcheck-target: maybe-installcheck-target-libgcobol
.PHONY: do-mostlyclean
do-mostlyclean:
@@ -2394,6 +2406,7 @@ mostlyclean-target: maybe-mostlyclean-target-libgomp
mostlyclean-target: maybe-mostlyclean-target-libitm
mostlyclean-target: maybe-mostlyclean-target-libatomic
mostlyclean-target: maybe-mostlyclean-target-libgrust
+mostlyclean-target: maybe-mostlyclean-target-libgcobol
.PHONY: do-clean
do-clean:
@@ -2487,6 +2500,7 @@ clean-target: maybe-clean-target-libgomp
clean-target: maybe-clean-target-libitm
clean-target: maybe-clean-target-libatomic
clean-target: maybe-clean-target-libgrust
+clean-target: maybe-clean-target-libgcobol
.PHONY: do-distclean
do-distclean:
@@ -2580,6 +2594,7 @@ distclean-target: maybe-distclean-target-libgomp
distclean-target: maybe-distclean-target-libitm
distclean-target: maybe-distclean-target-libatomic
distclean-target: maybe-distclean-target-libgrust
+distclean-target: maybe-distclean-target-libgcobol
.PHONY: do-maintainer-clean
do-maintainer-clean:
@@ -2673,6 +2688,7 @@ maintainer-clean-target: maybe-maintainer-clean-target-libgomp
maintainer-clean-target: maybe-maintainer-clean-target-libitm
maintainer-clean-target: maybe-maintainer-clean-target-libatomic
maintainer-clean-target: maybe-maintainer-clean-target-libgrust
+maintainer-clean-target: maybe-maintainer-clean-target-libgcobol
# Here are the targets which correspond to the do-X targets.
@@ -2823,7 +2839,8 @@ check-target: \
maybe-check-target-libgomp \
maybe-check-target-libitm \
maybe-check-target-libatomic \
- maybe-check-target-libgrust
+ maybe-check-target-libgrust \
+ maybe-check-target-libgcobol
do-check:
@: $(MAKE); $(unstage)
@@ -3020,7 +3037,8 @@ install-target: \
maybe-install-target-libgomp \
maybe-install-target-libitm \
maybe-install-target-libatomic \
- maybe-install-target-libgrust
+ maybe-install-target-libgrust \
+ maybe-install-target-libgcobol
uninstall:
@echo "the uninstall target is not supported in this tree"
@@ -3133,7 +3151,8 @@ install-strip-target: \
maybe-install-strip-target-libgomp \
maybe-install-strip-target-libitm \
maybe-install-strip-target-libatomic \
- maybe-install-strip-target-libgrust
+ maybe-install-strip-target-libgrust \
+ maybe-install-strip-target-libgcobol
### other supporting targets
@@ -63688,6 +63707,491 @@ maintainer-clean-target-libgrust:
+
+
+.PHONY: configure-target-libgcobol maybe-configure-target-libgcobol
+maybe-configure-target-libgcobol:
+@if gcc-bootstrap
+configure-target-libgcobol: stage_current
+@endif gcc-bootstrap
+@if target-libgcobol
+maybe-configure-target-libgcobol: configure-target-libgcobol
+configure-target-libgcobol:
+ @: $(MAKE); $(unstage)
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ echo "Checking multilib configuration for libgcobol..."; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libgcobol; \
+ $(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libgcobol/multilib.tmp 2> /dev/null; \
+ if test -r $(TARGET_SUBDIR)/libgcobol/multilib.out; then \
+ if cmp -s $(TARGET_SUBDIR)/libgcobol/multilib.tmp $(TARGET_SUBDIR)/libgcobol/multilib.out; then \
+ rm -f $(TARGET_SUBDIR)/libgcobol/multilib.tmp; \
+ else \
+ rm -f $(TARGET_SUBDIR)/libgcobol/Makefile; \
+ mv $(TARGET_SUBDIR)/libgcobol/multilib.tmp $(TARGET_SUBDIR)/libgcobol/multilib.out; \
+ fi; \
+ else \
+ mv $(TARGET_SUBDIR)/libgcobol/multilib.tmp $(TARGET_SUBDIR)/libgcobol/multilib.out; \
+ fi; \
+ test ! -f $(TARGET_SUBDIR)/libgcobol/Makefile || exit 0; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libgcobol; \
+ $(NORMAL_TARGET_EXPORTS) \
+ echo Configuring in $(TARGET_SUBDIR)/libgcobol; \
+ cd "$(TARGET_SUBDIR)/libgcobol" || exit 1; \
+ case $(srcdir) in \
+ /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ *) topdir=`echo $(TARGET_SUBDIR)/libgcobol/ | \
+ sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ esac; \
+ module_srcdir=libgcobol; \
+ rm -f no-such-file || : ; \
+ CONFIG_SITE=no-such-file $(SHELL) \
+ $$s/$$module_srcdir/configure \
+ --srcdir=$${topdir}/$$module_srcdir \
+ $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
+ --target=${target_alias} \
+ || exit 1
+@endif target-libgcobol
+
+
+
+
+
+.PHONY: all-target-libgcobol maybe-all-target-libgcobol
+maybe-all-target-libgcobol:
+@if gcc-bootstrap
+all-target-libgcobol: stage_current
+@endif gcc-bootstrap
+@if target-libgcobol
+TARGET-target-libgcobol=all
+maybe-all-target-libgcobol: all-target-libgcobol
+all-target-libgcobol: configure-target-libgcobol
+ @: $(MAKE); $(unstage)
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(NORMAL_TARGET_EXPORTS) \
+ (cd $(TARGET_SUBDIR)/libgcobol && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_TARGET_FLAGS) \
+ $(TARGET-target-libgcobol))
+@endif target-libgcobol
+
+
+
+
+
+.PHONY: check-target-libgcobol maybe-check-target-libgcobol
+maybe-check-target-libgcobol:
+@if target-libgcobol
+maybe-check-target-libgcobol: check-target-libgcobol
+
+check-target-libgcobol:
+ @: $(MAKE); $(unstage)
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(NORMAL_TARGET_EXPORTS) \
+ (cd $(TARGET_SUBDIR)/libgcobol && \
+ $(MAKE) $(TARGET_FLAGS_TO_PASS) check)
+
+@endif target-libgcobol
+
+.PHONY: install-target-libgcobol maybe-install-target-libgcobol
+maybe-install-target-libgcobol:
+@if target-libgcobol
+maybe-install-target-libgcobol: install-target-libgcobol
+
+install-target-libgcobol: installdirs
+ @: $(MAKE); $(unstage)
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(NORMAL_TARGET_EXPORTS) \
+ (cd $(TARGET_SUBDIR)/libgcobol && \
+ $(MAKE) $(TARGET_FLAGS_TO_PASS) install)
+
+@endif target-libgcobol
+
+.PHONY: install-strip-target-libgcobol maybe-install-strip-target-libgcobol
+maybe-install-strip-target-libgcobol:
+@if target-libgcobol
+maybe-install-strip-target-libgcobol: install-strip-target-libgcobol
+
+install-strip-target-libgcobol: installdirs
+ @: $(MAKE); $(unstage)
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(NORMAL_TARGET_EXPORTS) \
+ (cd $(TARGET_SUBDIR)/libgcobol && \
+ $(MAKE) $(TARGET_FLAGS_TO_PASS) install-strip)
+
+@endif target-libgcobol
+
+# Other targets (info, dvi, pdf, etc.)
+
+.PHONY: maybe-info-target-libgcobol info-target-libgcobol
+maybe-info-target-libgcobol:
+@if target-libgcobol
+maybe-info-target-libgcobol: info-target-libgcobol
+
+info-target-libgcobol: \
+ configure-target-libgcobol
+ @: $(MAKE); $(unstage)
+ @[ -f $(TARGET_SUBDIR)/libgcobol/Makefile ] || exit 0; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(NORMAL_TARGET_EXPORTS) \
+ echo "Doing info in $(TARGET_SUBDIR)/libgcobol"; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/libgcobol && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+ info) \
+ || exit 1
+
+@endif target-libgcobol
+
+.PHONY: maybe-dvi-target-libgcobol dvi-target-libgcobol
+maybe-dvi-target-libgcobol:
+@if target-libgcobol
+maybe-dvi-target-libgcobol: dvi-target-libgcobol
+
+dvi-target-libgcobol: \
+ configure-target-libgcobol
+ @: $(MAKE); $(unstage)
+ @[ -f $(TARGET_SUBDIR)/libgcobol/Makefile ] || exit 0; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(NORMAL_TARGET_EXPORTS) \
+ echo "Doing dvi in $(TARGET_SUBDIR)/libgcobol"; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/libgcobol && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+ dvi) \
+ || exit 1
+
+@endif target-libgcobol
+
+.PHONY: maybe-pdf-target-libgcobol pdf-target-libgcobol
+maybe-pdf-target-libgcobol:
+@if target-libgcobol
+maybe-pdf-target-libgcobol: pdf-target-libgcobol
+
+pdf-target-libgcobol: \
+ configure-target-libgcobol
+ @: $(MAKE); $(unstage)
+ @[ -f $(TARGET_SUBDIR)/libgcobol/Makefile ] || exit 0; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(NORMAL_TARGET_EXPORTS) \
+ echo "Doing pdf in $(TARGET_SUBDIR)/libgcobol"; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/libgcobol && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+ pdf) \
+ || exit 1
+
+@endif target-libgcobol
+
+.PHONY: maybe-html-target-libgcobol html-target-libgcobol
+maybe-html-target-libgcobol:
+@if target-libgcobol
+maybe-html-target-libgcobol: html-target-libgcobol
+
+html-target-libgcobol: \
+ configure-target-libgcobol
+ @: $(MAKE); $(unstage)
+ @[ -f $(TARGET_SUBDIR)/libgcobol/Makefile ] || exit 0; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(NORMAL_TARGET_EXPORTS) \
+ echo "Doing html in $(TARGET_SUBDIR)/libgcobol"; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/libgcobol && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+ html) \
+ || exit 1
+
+@endif target-libgcobol
+
+.PHONY: maybe-TAGS-target-libgcobol TAGS-target-libgcobol
+maybe-TAGS-target-libgcobol:
+@if target-libgcobol
+maybe-TAGS-target-libgcobol: TAGS-target-libgcobol
+
+TAGS-target-libgcobol: \
+ configure-target-libgcobol
+ @: $(MAKE); $(unstage)
+ @[ -f $(TARGET_SUBDIR)/libgcobol/Makefile ] || exit 0; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(NORMAL_TARGET_EXPORTS) \
+ echo "Doing TAGS in $(TARGET_SUBDIR)/libgcobol"; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/libgcobol && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+ TAGS) \
+ || exit 1
+
+@endif target-libgcobol
+
+.PHONY: maybe-install-info-target-libgcobol install-info-target-libgcobol
+maybe-install-info-target-libgcobol:
+@if target-libgcobol
+maybe-install-info-target-libgcobol: install-info-target-libgcobol
+
+install-info-target-libgcobol: \
+ configure-target-libgcobol \
+ info-target-libgcobol
+ @: $(MAKE); $(unstage)
+ @[ -f $(TARGET_SUBDIR)/libgcobol/Makefile ] || exit 0; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(NORMAL_TARGET_EXPORTS) \
+ echo "Doing install-info in $(TARGET_SUBDIR)/libgcobol"; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/libgcobol && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+ install-info) \
+ || exit 1
+
+@endif target-libgcobol
+
+.PHONY: maybe-install-dvi-target-libgcobol install-dvi-target-libgcobol
+maybe-install-dvi-target-libgcobol:
+@if target-libgcobol
+maybe-install-dvi-target-libgcobol: install-dvi-target-libgcobol
+
+install-dvi-target-libgcobol: \
+ configure-target-libgcobol \
+ dvi-target-libgcobol
+ @: $(MAKE); $(unstage)
+ @[ -f $(TARGET_SUBDIR)/libgcobol/Makefile ] || exit 0; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(NORMAL_TARGET_EXPORTS) \
+ echo "Doing install-dvi in $(TARGET_SUBDIR)/libgcobol"; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/libgcobol && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+ install-dvi) \
+ || exit 1
+
+@endif target-libgcobol
+
+.PHONY: maybe-install-pdf-target-libgcobol install-pdf-target-libgcobol
+maybe-install-pdf-target-libgcobol:
+@if target-libgcobol
+maybe-install-pdf-target-libgcobol: install-pdf-target-libgcobol
+
+install-pdf-target-libgcobol: \
+ configure-target-libgcobol \
+ pdf-target-libgcobol
+ @: $(MAKE); $(unstage)
+ @[ -f $(TARGET_SUBDIR)/libgcobol/Makefile ] || exit 0; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(NORMAL_TARGET_EXPORTS) \
+ echo "Doing install-pdf in $(TARGET_SUBDIR)/libgcobol"; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/libgcobol && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+ install-pdf) \
+ || exit 1
+
+@endif target-libgcobol
+
+.PHONY: maybe-install-html-target-libgcobol install-html-target-libgcobol
+maybe-install-html-target-libgcobol:
+@if target-libgcobol
+maybe-install-html-target-libgcobol: install-html-target-libgcobol
+
+install-html-target-libgcobol: \
+ configure-target-libgcobol \
+ html-target-libgcobol
+ @: $(MAKE); $(unstage)
+ @[ -f $(TARGET_SUBDIR)/libgcobol/Makefile ] || exit 0; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(NORMAL_TARGET_EXPORTS) \
+ echo "Doing install-html in $(TARGET_SUBDIR)/libgcobol"; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/libgcobol && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+ install-html) \
+ || exit 1
+
+@endif target-libgcobol
+
+.PHONY: maybe-installcheck-target-libgcobol installcheck-target-libgcobol
+maybe-installcheck-target-libgcobol:
+@if target-libgcobol
+maybe-installcheck-target-libgcobol: installcheck-target-libgcobol
+
+installcheck-target-libgcobol: \
+ configure-target-libgcobol
+ @: $(MAKE); $(unstage)
+ @[ -f $(TARGET_SUBDIR)/libgcobol/Makefile ] || exit 0; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(NORMAL_TARGET_EXPORTS) \
+ echo "Doing installcheck in $(TARGET_SUBDIR)/libgcobol"; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/libgcobol && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+ installcheck) \
+ || exit 1
+
+@endif target-libgcobol
+
+.PHONY: maybe-mostlyclean-target-libgcobol mostlyclean-target-libgcobol
+maybe-mostlyclean-target-libgcobol:
+@if target-libgcobol
+maybe-mostlyclean-target-libgcobol: mostlyclean-target-libgcobol
+
+mostlyclean-target-libgcobol:
+ @: $(MAKE); $(unstage)
+ @[ -f $(TARGET_SUBDIR)/libgcobol/Makefile ] || exit 0; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(NORMAL_TARGET_EXPORTS) \
+ echo "Doing mostlyclean in $(TARGET_SUBDIR)/libgcobol"; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/libgcobol && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+ mostlyclean) \
+ || exit 1
+
+@endif target-libgcobol
+
+.PHONY: maybe-clean-target-libgcobol clean-target-libgcobol
+maybe-clean-target-libgcobol:
+@if target-libgcobol
+maybe-clean-target-libgcobol: clean-target-libgcobol
+
+clean-target-libgcobol:
+ @: $(MAKE); $(unstage)
+ @[ -f $(TARGET_SUBDIR)/libgcobol/Makefile ] || exit 0; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(NORMAL_TARGET_EXPORTS) \
+ echo "Doing clean in $(TARGET_SUBDIR)/libgcobol"; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/libgcobol && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+ clean) \
+ || exit 1
+
+@endif target-libgcobol
+
+.PHONY: maybe-distclean-target-libgcobol distclean-target-libgcobol
+maybe-distclean-target-libgcobol:
+@if target-libgcobol
+maybe-distclean-target-libgcobol: distclean-target-libgcobol
+
+distclean-target-libgcobol:
+ @: $(MAKE); $(unstage)
+ @[ -f $(TARGET_SUBDIR)/libgcobol/Makefile ] || exit 0; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(NORMAL_TARGET_EXPORTS) \
+ echo "Doing distclean in $(TARGET_SUBDIR)/libgcobol"; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/libgcobol && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+ distclean) \
+ || exit 1
+
+@endif target-libgcobol
+
+.PHONY: maybe-maintainer-clean-target-libgcobol maintainer-clean-target-libgcobol
+maybe-maintainer-clean-target-libgcobol:
+@if target-libgcobol
+maybe-maintainer-clean-target-libgcobol: maintainer-clean-target-libgcobol
+
+maintainer-clean-target-libgcobol:
+ @: $(MAKE); $(unstage)
+ @[ -f $(TARGET_SUBDIR)/libgcobol/Makefile ] || exit 0; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(NORMAL_TARGET_EXPORTS) \
+ echo "Doing maintainer-clean in $(TARGET_SUBDIR)/libgcobol"; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/libgcobol && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+ maintainer-clean) \
+ || exit 1
+
+@endif target-libgcobol
+
+
+
@if target-libgomp
.PHONY: check-target-libgomp-c++
check-target-libgomp-c++:
@@ -63822,6 +64326,14 @@ check-gcc-rust: gcc-site.exp
(cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) check-rust);
check-rust: check-gcc-rust
+.PHONY: check-gcc-cobol check-cobol
+check-gcc-cobol: gcc-site.exp
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ (cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) check-cobol);
+check-cobol: check-gcc-cobol check-target-libgcobol
+
# The gcc part of install-no-fixedincludes, which relies on an intimate
# knowledge of how a number of gcc internal targets (inter)operate. Delegate.
@@ -67383,6 +67895,7 @@ configure-stagefeedback-target-libatomic: maybe-all-stagefeedback-gcc
configure-stageautoprofile-target-libatomic: maybe-all-stageautoprofile-gcc
configure-stageautofeedback-target-libatomic: maybe-all-stageautofeedback-gcc
configure-target-libgrust: stage_last
+configure-target-libgcobol: stage_last
@endif gcc-bootstrap
@if gcc-no-bootstrap
@@ -67410,6 +67923,7 @@ configure-target-libgomp: maybe-all-gcc
configure-target-libitm: maybe-all-gcc
configure-target-libatomic: maybe-all-gcc
configure-target-libgrust: maybe-all-gcc
+configure-target-libgcobol: maybe-all-gcc
@endif gcc-no-bootstrap
@@ -68654,6 +69168,7 @@ install-target-libvtv: maybe-install-target-libgcc
install-target-libitm: maybe-install-target-libgcc
install-target-libobjc: maybe-install-target-libgcc
install-target-libstdc++-v3: maybe-install-target-libgcc
+install-target-libgcobol: maybe-install-target-libstdc++-v3
all-target-libgloss: maybe-all-target-newlib
all-target-winsup: maybe-all-target-libtermcap
configure-target-libgfortran: maybe-all-target-libquadmath
@@ -68873,6 +69388,7 @@ configure-target-libgomp: maybe-all-target-libgcc
configure-target-libitm: maybe-all-target-libgcc
configure-target-libatomic: maybe-all-target-libgcc
configure-target-libgrust: maybe-all-target-libgcc
+configure-target-libgcobol: maybe-all-target-libgcc
@endif gcc-no-bootstrap
@@ -68923,6 +69439,9 @@ configure-target-libatomic: maybe-all-target-newlib maybe-all-target-libgloss
configure-target-libgrust: maybe-all-target-newlib maybe-all-target-libgloss
+configure-target-libgcobol: maybe-all-target-newlib maybe-all-target-libgloss
+configure-target-libgcobol: maybe-all-target-libstdc++-v3
+
CONFIGURE_GDB_TK = @CONFIGURE_GDB_TK@
GDB_TK = @GDB_TK@
diff --git a/configure b/configure
index e2b143e..2a91458 100755
--- a/configure
+++ b/configure
@@ -2863,6 +2863,7 @@ target_libraries="target-libgcc \
target-libgfortran \
target-libffi \
target-libobjc \
+ target-libgcobol \
target-libada \
target-libgm2 \
target-libgo \
@@ -3537,6 +3538,26 @@ $as_echo "yes" >&6; }
fi
fi
+# Disable libgcobol on unsupported systems.
+# For testing, you can override this with --enable-libgcobol.
+if test -d ${srcdir}/libgcobol; then
+ if test x$enable_libgcobol = x; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libgcobol support" >&5
+$as_echo_n "checking for libgcobol support... " >&6; }
+ if (srcdir=${srcdir}/libgcobol; \
+ . ${srcdir}/configure.tgt; \
+ test "$LIBGCOBOL_SUPPORTED" != "yes")
+ then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ noconfigdirs="$noconfigdirs target-libgcobol"
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ fi
+ fi
+fi
+
# Disable Fortran for some systems.
case "${target}" in
mmix-*-*)
@@ -3548,6 +3569,38 @@ case "${target}" in
;;
esac
+# Always enable COBOL for --enable-languages=*cobol*
+# Otherwise, enable COBOL only for known architectures
+case ,${enable_languages}, in
+ *,cobol,*)
+ case ,${enable_languages}, in
+ *,c++,*)
+ ;;
+ *)
+ # We have an explicit cobol, but no c++. We need c++, because cobol
+ # requires libstdc++
+ enable_languages="$enable_languages,c++"
+ ;;
+ esac
+ ;;
+ *)
+ case "${target}" in
+ x86_64-*-*|aarch64-*-*)
+ ;;
+ *-*-*)
+ unsupported_languages="$unsupported_languages cobol"
+ ;;
+ esac
+ case "${host}" in
+ x86_64-*-*|aarch64-*-*)
+ ;;
+ *-*-*)
+ unsupported_languages="$unsupported_languages cobol"
+ ;;
+ esac
+ ;;
+esac
+
# Disable libffi for some systems.
case "${target}" in
powerpc-*-darwin*)
diff --git a/configure.ac b/configure.ac
index af894ed..4145785 100644
--- a/configure.ac
+++ b/configure.ac
@@ -161,6 +161,7 @@ target_libraries="target-libgcc \
target-libgfortran \
target-libffi \
target-libobjc \
+ target-libgcobol \
target-libada \
target-libgm2 \
target-libgo \
@@ -760,6 +761,23 @@ if test -d ${srcdir}/libphobos; then
fi
fi
+# Disable libgcobol on unsupported systems.
+# For testing, you can override this with --enable-libgcobol.
+if test -d ${srcdir}/libgcobol; then
+ if test x$enable_libgcobol = x; then
+ AC_MSG_CHECKING([for libgcobol support])
+ if (srcdir=${srcdir}/libgcobol; \
+ . ${srcdir}/configure.tgt; \
+ test "$LIBGCOBOL_SUPPORTED" != "yes")
+ then
+ AC_MSG_RESULT([no])
+ noconfigdirs="$noconfigdirs target-libgcobol"
+ else
+ AC_MSG_RESULT([yes])
+ fi
+ fi
+fi
+
# Disable Fortran for some systems.
case "${target}" in
mmix-*-*)
@@ -771,6 +789,38 @@ case "${target}" in
;;
esac
+# Always enable COBOL for --enable-languages=*cobol*
+# Otherwise, enable COBOL only for known architectures
+case ,${enable_languages}, in
+ *,cobol,*)
+ case ,${enable_languages}, in
+ *,c++,*)
+ ;;
+ *)
+ # We have an explicit cobol, but no c++. We need c++, because cobol
+ # requires libstdc++
+ enable_languages="$enable_languages,c++"
+ ;;
+ esac
+ ;;
+ *)
+ case "${target}" in
+ x86_64-*-*|aarch64-*-*)
+ ;;
+ *-*-*)
+ unsupported_languages="$unsupported_languages cobol"
+ ;;
+ esac
+ case "${host}" in
+ x86_64-*-*|aarch64-*-*)
+ ;;
+ *-*-*)
+ unsupported_languages="$unsupported_languages cobol"
+ ;;
+ esac
+ ;;
+esac
+
# Disable libffi for some systems.
case "${target}" in
powerpc-*-darwin*)