On Tue, 2025-10-21 at 16:29 -0400, David Malcolm wrote: > On Tue, 2025-10-21 at 13:57 -0500, Robert Dubner wrote: > > Ahoy the reviewers! > > Hi Bob! > > > > > This is an "Is this okay for trunk?" request. > > > > Although these changes affect code only in libcobol and gcc/cobol, > > we > > are > > adding some files and some new directories, and so there are > > changes > > to > > gcc/cobol/Make-lang.in and to libgcobol/Makefile.am. > > > > So, we figured that this time we'd ask for permission ahead of > > time, > > instead of our usual practice, lately, of asking for forgiveness > > afterward. > > > > I applied this patch to today's gcc/master. I did a complete > > --enable-languages=cobol bootstrap/multilib build on an Ubuntu > > x86_64-pc-linux-gnu system. "make check-cobol" worked after that. > > Looking at https://gcc.gnu.org/git/?p=gcc.git;a=shortlog I don't see > the patch, so am I right in thinking that by "today's gcc/master", > you're referring to the symas git repo? (sorry, I don't have the URL > handy) > > You didn't mention this in the cover letter, but skimming through the > patch, I see this adds a dependency on libxml2 to libgcobol to e.g. > parse the XML. > > Whenever a patch adds add a new dependency, the patch should also add > a > mention of that dependency to gcc/doc/install.texi (presumably here > to > the "GCOBOL-prerequisite" item). > > XML parsing is an area that tends to attract security vulnerability > reports (e.g. the "billion laughs" attack), and libxml2 is no > exception > to this. See e.g. https://lwn.net/Articles/1025971/ for an account > of > the current status of upstream and its security posture. > > I think the patch needs to be clear about whether the dependency on > libxml2 is optional, and whether libgcobol's linkage against libxml2 > is > static or dynamic. I expect no shortage of future libxml2 CVEs, and > people will want to know if they have to rebuild libgcobol to get the > fix (static linkage), or if it happens automagically (dynamic > linkage). > I don't think gcc would want to add a statically-linked dependency on > libxml2, given the many CVEs that project has had. > > > > > So, as far as I know, it's safe for me to apply this to gcc/master. > > > > Okay for trunk?
Hi Bob I came away with the impression that there were (small but) concrete objections to the patch as-posted [1] and thus that it would be revised before reaching "trunk", but... > > That's not for me to say, but hopefully the above is > helpful/constructive. ...I see looking here that I didn't word it that way; sorry for not being clearer. Looking at https://gcc.gnu.org/cgit/gcc/log/ I see that the patch *is* now in gcc trunk (currently 4th from the top): https://gcc.gnu.org/cgit/gcc/commit/?id=b20c6458fa0a9e78253052f0493e921f75641828 as commit r16-4582-gb20c6458fa0a9e78253052f0493e921f75641828, and as far as I can tell, it's in the form you posted to the list without the various nitpicks fixed. Did you mean to push it into this repo's trunk, or was this a misfire in git? (git has a terrible UI...) Is the plan to address the problems with the patch as followups on trunk (I can file bug reports if that would help), or to revert that commit on trunk and to redo the work on your own repo? Either way probably works, and the former is probably easier, but right now the "review" on this patch is in a weird in-the-middle kind of state. The way I see our process is that if someone points something out in patch review, it should be addressed before the patch reaches trunk (or the reviewer explicitly says that a particular nitpick can be left to be cleaned up in followup work). Chatting with Jim earlier it sounds like XML support is a necessary feature for a cobol implementation to be credible, so the libxml2 dependency should probably be mandatory if cobol is enabled at configure time, but optional for people building gcc without the cobol frontend (if that makes sense). Sorry for not being clearer about my objections/nit-picks; and I hope this doesn't come across too much like dunking on the new(ish) guy (sorry if that's the case) Dave [1] IIRC, I wanted more explicit acknowledgement of the new libxml2 dependency and its scope, and there were some stray files that Richi spotted > > Dave > > > > > > Thanks, > > > > Bob Dubner > > Jim Lowden > > > > --- > > > > From a5acb3ac500012124a114a172cc2a04b83b2f558 Mon Sep 17 00:00:00 > > 2001 > > From: Robert Dubner <[email protected]> > > Date: Tue, 21 Oct 2025 13:33:30 -0400 > > Subject: [PATCH] cobol: Implement the XML PARSE statement; > > implement > > POSIX > > functions. > > > > These changes implement the XML PARSE as described in the IBM > > specification. They also start the implementation of the POSIX > > system, > > which allows COBOL applications to access POSIX library functions > > in > > a way consistent with COBOL syntax. > > > > A repair to exception handling is included. Up until now, an > > exception > > after a successful file operation wasn't handled properly. > > > > A repair to value declarations for BINARY / COMP / COMP-4 / COMP-5 > > values now allows them to have digits to the right of the implied > > decimal point. Processing of the "S" PICTURE character has been > > normalized as well. > > > > Co-Authored-By: James K. Lowden <[email protected]> > > Co-Authored-By: Robert Dubner <[email protected]> > > > > gcc/cobol/ChangeLog: > > > > * Make-lang.in: Incorporate new token_names.h file. > > * cdf.y: Modify tokens. > > * gcobol.1: Document XML PARSE statement > > * genapi.cc (parser_enter_program): Verify that every goto > > has a > > matching label. > > (parser_end_program): Likewise. > > (parser_alphabet): Refine handling codeset encodings. > > (parser_alphabet_use): Likewise. > > (label_fetch): Moved from later in the source code. > > (parser_xml_parse): New routine for XML PARSE. > > (parser_xml_on_exception): Likewise. > > (parser_xml_not_exception): Likewise. > > (parser_xml_end): Likewise. > > (parser_label_label): Verify goto/label matching. > > (parser_label_goto): Likewise. > > (parser_entry): Minor change to SHOW_PARSE report. > > * genapi.h (parser_alphabet): Set parameter to const. > > (parser_xml_parse): Declare new function. > > (parser_xml_on_exception): Likewise. > > (parser_xml_not_exception): Likewise. > > (parser_xml_end): Likewise. > > (parser_label_addr): Likewise. > > * parse.y: label_pair_t structure; locale processing; new > > token > > processing for alphabets and XML PARSE. > > * parse_ante.h (name_of): Return field->name when initial > > is > > NULL. > > (new_tempnumeric): Make signable_e optional. > > (ast_save_locale): New function. > > (data_division_ready): Warning for "no alphabet". > > * scan.l: Repair interpretation of BINARY, COMP, COMP-4, > > and > > COMP-5. > > * scan_ante.h (struct bint_t): Likewise. > > * scan_post.h (current_tokens_t::tokenset_t::tokenset_t): > > Include token_names.h. > > * symbols.cc (symbols_alphabet_set): Revert to prior > > alphabet > > determination. > > (symbol_table_init): New XML special registers. > > (new_temporary): Make signable_e controllable, not fixed. > > * symbols.h (__gg__encoding_iconv_valid): New declaration. > > (enum cbl_label_type_t): New LblXml label type. > > (struct cbl_xml_parse_t): > > (struct cbl_label_t): Implement XML PARSE. > > (new_temporary): Incorporate boolean for signable_e. > > (symbol_elem_of): Change label field type handling. > > (cbl_section_of): Likewise. > > (cbl_field_of): Likewise. > > (cbl_label_of): Likewise. > > (cbl_special_name_of): Likewise. > > (cbl_alphabet_of): Likewise. > > (cbl_file_of): Likewise. > > * token_names.h: New file. > > * util.cc (gcc_location_set_impl): Improve location_t > > calculations > > when entering and leaving COPYBOOKs. > > * posix/.gitignore: New file. > > * posix/README.md: New file. > > * posix/cpy/posix-errno.cbl: New file. > > * posix/cpy/statbuf.cpy: New file. > > * posix/cpy/tm.cpy: New file. > > * posix/headers: New file. > > * posix/scrape.awk: New file. > > * posix/sizeofs.c: New file. > > * posix/udf-gen: New file. > > * posix/udf/Makefile: New file. > > * posix/udf/posix-exit.cbl: New file. > > * posix/udf/posix-localtime.cbl: New file. > > * posix/udf/posix-mkdir.cbl: New file. > > * posix/udf/posix-stat.cbl: New file. > > * posix/udf/posix-unlink.cbl: New file. > > * posix/udf/t/errno.cbl: New file. > > * posix/udf/t/exit.cbl: New file. > > * posix/udf/t/localtime.cbl: New file. > > * posix/udf/t/stat.cbl: New file. > > > > libgcobol/ChangeLog: > > > > * Makefile.am: Changes for XML PARSE and POSIX functions. > > * Makefile.in: Likewise. > > * charmaps.cc: Augment encodings[] table with "supported" > > boolean. > > (__gg__encoding_iconv_name): Modify how encodings are > > identified. > > (encoding_descr): Likewise. > > (__gg__encoding_iconv_valid): Likewise. > > * common-defs.h (callback_t): Define function pointer. > > * constants.cc: Use named cbl_attr_e constants instead of > > magic > > numbers.; New definitions for XML special registers. > > * encodings.h (struct encodings_t): Declare "supported" > > boolean. > > * libgcobol.cc (format_for_display_internal): Use > > std::ptrdiff_t. > > (__gg__alphabet_use): Add case for iconv_CP1252_e. > > (default_exception_handler): Repair exception handling > > after > > a > > successful file operation. > > * posix/errno.cc: New file. > > * posix/localtime.cc: New file. > > * posix/stat.cc: New file. > > * posix/stat.h: New file. > > * posix/tm.h: New file. > > * xmlparse.cc: New file to support XML PARSE statement. > > > > gcc/testsuite/ChangeLog: > > > > * cobol.dg/typo-1.cob: New test for squiggles and carets. > > --- > > > > [Here are the Make-lang.in and Makefile.am diffs:] > > > > diff --git a/gcc/cobol/Make-lang.in b/gcc/cobol/Make-lang.in > > index 0e2a773d4df..1f9995febf1 100644 > > --- a/gcc/cobol/Make-lang.in > > +++ b/gcc/cobol/Make-lang.in > > @@ -225,6 +225,7 @@ cobol/scan.o: cobol/scan.cc \ > > $(srcdir)/cobol/scan_post.h \ > > $(srcdir)/cobol/symbols.h \ > > $(srcdir)/cobol/util.h \ > > + $(srcdir)/cobol/token_names.h \ > > $(srcdir)/hwint.h \ > > $(srcdir)/system.h \ > > $(srcdir)/../include/ansidecl.h \ > > @@ -241,6 +242,15 @@ cobol/scan.o: > > cobol/scan.cc \ > > cobol/cdf.cc \ > > cobol/parse.cc > > > > +# Update token names if the generator script is installed > > +# (by a developer) and there's been a change. > > +$(srcdir)/cobol/token_names.h: cobol/parse.cc > > + if [ -f [email protected] ]; then \ > > + [email protected] $(subst .cc,.h,$^) \ > > + | diff -u $@ - \ > > + | patch -t --set-time $@ ; \ > > + fi > > + > > # > > # The src<foo> targets are executed if > > # '--enable-generated-files-in-srcdir' was specified as a > > configure > > > > > > > > diff --git a/libgcobol/Makefile.am b/libgcobol/Makefile.am > > index 1e3d34325f4..f42bfce2380 100644 > > --- a/libgcobol/Makefile.am > > +++ b/libgcobol/Makefile.am > > @@ -19,7 +19,7 @@ > > > > # Written de novo for libgcobol. > > > > -AUTOMAKE_OPTIONS = 1.8 foreign > > +AUTOMAKE_OPTIONS = 1.8 foreign subdir-objects > > ACLOCAL_AMFLAGS = -I .. -I ../config > > > > # May be used by various substitution variables. > > @@ -34,6 +34,7 @@ toolexeclib_DATA = libgcobol.spec > > ## 2.2.12 Automatic Dependency Tracking > > ## Automake generates code for automatic dependency tracking by > > default > > ## > > + > > libgcobol_la_SOURCES = \ > > charmaps.cc \ > > constants.cc \ > > @@ -42,12 +43,20 @@ libgcobol_la_SOURCES > > = \ > > intrinsic.cc \ > > io.cc \ > > libgcobol.cc \ > > + posix/errno.cc \ > > + posix/localtime.cc \ > > + posix/stat.cc \ > > stringbin.cc \ > > - valconv.cc > > + valconv.cc \ > > + xmlparse.cc > > + > > +libgcobol_la_LIBADD = -lxml2 > > > > WARN_CFLAGS = -W -Wall -Wwrite-strings > > > > -AM_CPPFLAGS = -I. -I$(srcdir) $(LIBQUADINCLUDE) > > +AM_CPPFLAGS = -I. -I$(srcdir) -I$(srcdir)/posix $(LIBQUADINCLUDE) > > +AM_CPPFLAGS += -I /usr/include/libxml2 > > + > > AM_CFLAGS = $(XCFLAGS) > > AM_CXXFLAGS = $(XCFLAGS) > > AM_CXXFLAGS += $(WARN_CFLAGS) > > @@ -64,7 +73,7 @@ endif > > libgcobol_la_LINK = $(CXXLINK) $(libgcobol_la_LDFLAGS) > > version_arg = -version-info $(LIBGCOBOL_VERSION) > > libgcobol_la_LDFLAGS = $(LTLDFLAGS) $(LIBQUADLIB) $(LTLIBICONV) \ > > - $(extra_ldflags_libgcobol) $(LIBS) $(version_arg) > > + $(extra_ldflags_libgcobol) $(LIBS) -lxml2 $(version_arg) > > libgcobol_la_DEPENDENCIES = libgcobol.spec $(LIBQUADLIB_DEP) > > > > endif BUILD_LIBGCOBOL > > diff --git a/libgcobol/Makefile.in b/libgcobol/Makefile.in > > index 61b9e8669d0..880fa1f40a6 100644 > > --- a/libgcobol/Makefile.in > > +++ b/libgcobol/Makefile.in > > @@ -115,6 +115,7 @@ target_triplet = @target@ > > # Handle embedded rpaths for Darwin. > > @BUILD_LIBGCOBOL_TRUE@@ENABLE_DARWIN_AT_RPATH_TRUE@am__append_1 = > > -Wc,-nodefaultrpaths \ > > @BUILD_LIBGCOBOL_TRUE@@ENABLE_DARWIN_AT_RPATH_TRUE@ > > -Wl,-rpath,@loader_path > > +@BUILD_LIBGCOBOL_FALSE@libgcobol_la_DEPENDENCIES = > > subdir = . > > ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 > > am__aclocal_m4_deps = $(top_srcdir)/../config/clang-plugin.m4 \ > > @@ -176,11 +177,13 @@ am__uninstall_files_from_dir = { \ > > am__installdirs = "$(DESTDIR)$(toolexeclibdir)" \ > > "$(DESTDIR)$(toolexeclibdir)" > > LTLIBRARIES = $(toolexeclib_LTLIBRARIES) > > -libgcobol_la_LIBADD = > > +am__dirstamp = $(am__leading_dot)dirstamp > > @BUILD_LIBGCOBOL_TRUE@am_libgcobol_la_OBJECTS = charmaps.lo \ > > @BUILD_LIBGCOBOL_TRUE@ constants.lo gfileio.lo gmath.lo \ > > @BUILD_LIBGCOBOL_TRUE@ intrinsic.lo io.lo libgcobol.lo \ > > -@BUILD_LIBGCOBOL_TRUE@ stringbin.lo valconv.lo > > +@BUILD_LIBGCOBOL_TRUE@ posix/errno.lo posix/localtime.lo \ > > +@BUILD_LIBGCOBOL_TRUE@ posix/stat.lo stringbin.lo valconv.lo \ > > +@BUILD_LIBGCOBOL_TRUE@ xmlparse.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@) > > @@ -390,7 +393,7 @@ toolexeclibdir = @toolexeclibdir@ > > top_build_prefix = @top_build_prefix@ > > top_builddir = @top_builddir@ > > top_srcdir = @top_srcdir@ > > -AUTOMAKE_OPTIONS = 1.8 foreign > > +AUTOMAKE_OPTIONS = 1.8 foreign subdir-objects > > ACLOCAL_AMFLAGS = -I .. -I ../config > > > > # May be used by various substitution variables. > > @@ -407,11 +410,18 @@ gcc_version := $(shell @get_gcc_base_ver@ > > $(top_srcdir)/../gcc/BASE-VER) > > @BUILD_LIBGCOBOL_TRUE@ intrinsic.cc \ > > @BUILD_LIBGCOBOL_TRUE@ io.cc \ > > @BUILD_LIBGCOBOL_TRUE@ libgcobol.cc \ > > +@BUILD_LIBGCOBOL_TRUE@ posix/errno.cc \ > > +@BUILD_LIBGCOBOL_TRUE@ posix/localtime.cc \ > > +@BUILD_LIBGCOBOL_TRUE@ posix/stat.cc \ > > @BUILD_LIBGCOBOL_TRUE@ stringbin.cc \ > > -@BUILD_LIBGCOBOL_TRUE@ valconv.cc > > +@BUILD_LIBGCOBOL_TRUE@ valconv.cc \ > > +@BUILD_LIBGCOBOL_TRUE@ xmlparse.cc > > > > +@BUILD_LIBGCOBOL_TRUE@libgcobol_la_LIBADD = -lxml2 > > @BUILD_LIBGCOBOL_TRUE@WARN_CFLAGS = -W -Wall -Wwrite-strings > > -@BUILD_LIBGCOBOL_TRUE@AM_CPPFLAGS = -I. -I$(srcdir) > > $(LIBQUADINCLUDE) > > +@BUILD_LIBGCOBOL_TRUE@AM_CPPFLAGS = -I. -I$(srcdir) - > > I$(srcdir)/posix \ > > +@BUILD_LIBGCOBOL_TRUE@ $(LIBQUADINCLUDE) -I \ > > +@BUILD_LIBGCOBOL_TRUE@ /usr/include/libxml2 > > @BUILD_LIBGCOBOL_TRUE@AM_CFLAGS = $(XCFLAGS) > > @BUILD_LIBGCOBOL_TRUE@AM_CXXFLAGS = $(XCFLAGS) $(WARN_CFLAGS) \ > > @BUILD_LIBGCOBOL_TRUE@ -DIN_TARGET_LIBS -fno-strict-aliasing > > @@ -420,7 +430,7 @@ gcc_version := $(shell @get_gcc_base_ver@ > > $(top_srcdir)/../gcc/BASE-VER) > > @BUILD_LIBGCOBOL_TRUE@libgcobol_la_LINK = $(CXXLINK) > > $(libgcobol_la_LDFLAGS) > > @BUILD_LIBGCOBOL_TRUE@version_arg = -version-info > > $(LIBGCOBOL_VERSION) > > @BUILD_LIBGCOBOL_TRUE@libgcobol_la_LDFLAGS = $(LTLDFLAGS) > > $(LIBQUADLIB) > > $(LTLIBICONV) \ > > -@BUILD_LIBGCOBOL_TRUE@ $(extra_ldflags_libgcobol) $(LIBS) > > $(version_arg) > > +@BUILD_LIBGCOBOL_TRUE@ $(extra_ldflags_libgcobol) $(LIBS) -lxml2 > > $(version_arg) > > > > @BUILD_LIBGCOBOL_TRUE@libgcobol_la_DEPENDENCIES = libgcobol.spec > > $(LIBQUADLIB_DEP) > > all: config.h > > @@ -513,12 +523,24 @@ clean-toolexeclibLTLIBRARIES: > > echo rm -f $${locs}; \ > > rm -f $${locs}; \ > > } > > +posix/$(am__dirstamp): > > + @$(MKDIR_P) posix > > + @: > posix/$(am__dirstamp) > > +posix/$(DEPDIR)/$(am__dirstamp): > > + @$(MKDIR_P) posix/$(DEPDIR) > > + @: > posix/$(DEPDIR)/$(am__dirstamp) > > +posix/errno.lo: posix/$(am__dirstamp) > > posix/$(DEPDIR)/$(am__dirstamp) > > +posix/localtime.lo: posix/$(am__dirstamp) \ > > + posix/$(DEPDIR)/$(am__dirstamp) > > +posix/stat.lo: posix/$(am__dirstamp) > > posix/$(DEPDIR)/$(am__dirstamp) > > > > libgcobol.la: $(libgcobol_la_OBJECTS) $(libgcobol_la_DEPENDENCIES) > > $(EXTRA_libgcobol_la_DEPENDENCIES) > > $(AM_V_GEN)$(libgcobol_la_LINK) $(am_libgcobol_la_rpath) > > $(libgcobol_la_OBJECTS) $(libgcobol_la_LIBADD) $(LIBS) > > > > mostlyclean-compile: > > -rm -f *.$(OBJEXT) > > + -rm -f posix/*.$(OBJEXT) > > + -rm -f posix/*.lo > > > > distclean-compile: > > -rm -f *.tab.c > > @@ -532,24 +554,31 @@ distclean-compile: > > @AMDEP_TRUE@@am__include@ > > @am__quote@./$(DEPDIR)/libgcobol.Plo@am__quote@ > > @AMDEP_TRUE@@am__include@ > > @am__quote@./$(DEPDIR)/stringbin.Plo@am__quote@ > > @AMDEP_TRUE@@am__include@ > > @am__quote@./$(DEPDIR)/valconv.Plo@am__quote@ > > +@AMDEP_TRUE@@am__include@ > > @am__quote@./$(DEPDIR)/xmlparse.Plo@am__quote@ > > +@AMDEP_TRUE@@am__include@ > > @am__quote@posix/$(DEPDIR)/errno.Plo@am__quote@ > > +@AMDEP_TRUE@@am__include@ > > @am__quote@posix/$(DEPDIR)/localtime.Plo@am__quote@ > > +@AMDEP_TRUE@@am__include@ > > @am__quote@posix/$(DEPDIR)/stat.Plo@am__quote@ > > > > .cc.o: > > -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP - > > MF > > $(DEPDIR)/$*.Tpo -c -o $@ $< > > -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo > > $(DEPDIR)/$*.Po > > +@am__fastdepCXX_TRUE@ $(AM_V_CXX)depbase=`echo $@ | sed > > 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ > > +@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF > > $$depbase.Tpo -c > > -o $@ $< &&\ > > +@am__fastdepCXX_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po > > @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' > > object='$@' > > libtool=no @AMDEPBACKSLASH@ > > @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) > > $(CXXDEPMODE) > > $(depcomp) @AMDEPBACKSLASH@ > > @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o > > $@ > > $< > > > > .cc.obj: > > -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP - > > MF > > $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` > > -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo > > $(DEPDIR)/$*.Po > > +@am__fastdepCXX_TRUE@ $(AM_V_CXX)depbase=`echo $@ | sed > > 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ > > +@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF > > $$depbase.Tpo -c > > -o $@ `$(CYGPATH_W) '$<'` &&\ > > +@am__fastdepCXX_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po > > @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' > > object='$@' > > libtool=no @AMDEPBACKSLASH@ > > @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) > > $(CXXDEPMODE) > > $(depcomp) @AMDEPBACKSLASH@ > > @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o > > $@ > > `$(CYGPATH_W) '$<'` > > > > .cc.lo: > > -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP > > - > > MF > > $(DEPDIR)/$*.Tpo -c -o $@ $< > > -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo > > $(DEPDIR)/$*.Plo > > +@am__fastdepCXX_TRUE@ $(AM_V_CXX)depbase=`echo $@ | sed > > 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ > > +@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF > > $$depbase.Tpo > > -c -o $@ $< &&\ > > +@am__fastdepCXX_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo > > @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' > > object='$@' > > libtool=yes @AMDEPBACKSLASH@ > > @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) > > $(CXXDEPMODE) > > $(depcomp) @AMDEPBACKSLASH@ > > @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LTCXXCOMPILE) -c - > > o > > $@ $< > > @@ -559,6 +588,7 @@ mostlyclean-libtool: > > > > clean-libtool: > > -rm -rf .libs _libs > > + -rm -rf posix/.libs posix/_libs > > > > distclean-libtool: > > -rm -f libtool config.lt > > @@ -675,6 +705,8 @@ clean-generic: > > distclean-generic: > > -test -z "$(CONFIG_CLEAN_FILES)" || rm -f > > $(CONFIG_CLEAN_FILES) > > -test . = "$(srcdir)" || test -z > > "$(CONFIG_CLEAN_VPATH_FILES)" || > > rm -f $(CONFIG_CLEAN_VPATH_FILES) > > + -rm -f posix/$(DEPDIR)/$(am__dirstamp) > > + -rm -f posix/$(am__dirstamp) > > > > maintainer-clean-generic: > > @echo "This command is intended for maintainers to use" > > @@ -686,7 +718,7 @@ clean-am: clean-generic clean-libtool > > clean-toolexeclibLTLIBRARIES \ > > > > distclean: distclean-am > > -rm -f $(am__CONFIG_DISTCLEAN_FILES) > > - -rm -rf ./$(DEPDIR) > > + -rm -rf ./$(DEPDIR) posix/$(DEPDIR) > > -rm -f Makefile > > distclean-am: clean-am distclean-compile distclean-generic \ > > distclean-hdr distclean-libtool distclean-tags > > @@ -735,7 +767,7 @@ installcheck-am: > > maintainer-clean: maintainer-clean-am > > -rm -f $(am__CONFIG_DISTCLEAN_FILES) > > -rm -rf $(top_srcdir)/autom4te.cache > > - -rm -rf ./$(DEPDIR) > > + -rm -rf ./$(DEPDIR) posix/$(DEPDIR) > > -rm -f Makefile > > maintainer-clean-am: distclean-am maintainer-clean-generic > > > > >
