gcc/Makefile.tpl
Gaius Mulley 1eee94d351 Merge modula-2 front end onto gcc.
This commit merges the devel/modula2 into master.
The libraries reside in libgm2, the compiler in gcc/m2
and the testsuite in gcc/testsuite/gm2.

ChangeLog:

	* configure.ac (target_libraries): Add target-libgm2.
	Add NCN_STRICT_CHECK_TARGET_TOOLS entry for gm2.
	Add GCC_TARGET_TOOL entry for gm2.  (compare_exclusions)
	add gcc/m2/gm2-compiler/M2Version,
	gcc/m2/gm2-compiler-boot/SYSTEM and gcc/m2/gm2version.
	* Makefile.def (target_modules): Add libgm2.  (flags_to_pass)
	Add GM2_FOR_TARGET, GM2FLAGS_FOR_TARGET.  (dependencies) Add
	all-target-libgm2 and on=all-target-libatomic.  (languages)
	Add entry for language=m2 with gcc-check-target=check-m2
	and lib-check-target=check-target-libgm2.
	* Makefile.tpl (BUILD_EXPORTS): Add definition for GM2
	and GM2FLAGS.  (HOST_EXPORTS) Add definition for GM2.
	(BASE_TARGET_EXPORTS) Add definition for GM2.
	(GM2_FOR_BUILD) Defined.  (GM2FLAGS) Defined.
	(GM2_FOR_TARGET) Defined.  (GM2FLAGS_FOR_TARGET) Defined.
	(EXTRA_HOST_FLAGS) Defined.  (POSTSTAGE1_FLAGS_TO_PASS)
	Add GM2 and GM2_FOR_BUILD.  (EXTRA_TARGET_FLAGS) Add
	GM2 and GM2FLAGS.  (EXTRA_GCC_FLAGS) Add GM2_FOR_TARGET.
	* configure: (Rebuilt).
	* Makefile.in: (Rebuilt).

libgm2/ChangeLog:

	* Makefile.am: (New file).
	* autogen.sh: (New file).
	* config.h.in: (New file).
	* configure.ac: (New file).
	* libm2cor/KeyBoardLEDs.cc: (New file).
	* libm2cor/Makefile.am: (New file).
	* libm2iso/ChanConsts.h: (New file).
	* libm2iso/ErrnoCategory.cc: (New file).
	* libm2iso/Makefile.am: (New file).
	* libm2iso/RTco.cc: (New file).
	* libm2iso/m2rts.h: (New file).
	* libm2iso/wrapsock.c: (New file).
	* libm2iso/wraptime.c: (New file).
	* libm2log/Break.c: (New file).
	* libm2log/Makefile.am: (New file).
	* libm2min/Makefile.am: (New file).
	* libm2min/libc.c: (New file).
	* libm2pim/Makefile.am: (New file).
	* libm2pim/Selective.cc: (New file).
	* libm2pim/SysExceptions.cc: (New file).
	* libm2pim/UnixArgs.cc: (New file).
	* libm2pim/cgetopt.cc: (New file).
	* libm2pim/dtoa.cc: (New file).
	* libm2pim/errno.cc: (New file).
	* libm2pim/ldtoa.cc: (New file).
	* libm2pim/sckt.cc: (New file).
	* libm2pim/target.c: (New file).
	* libm2pim/termios.cc: (New file).
	* libm2pim/wrapc.c: (New file).
	* configure: (Rebuilt).
	* libm2log/Makefile.in: (Rebuilt).
	* libm2min/Makefile.in: (Rebuilt).
	* libm2cor/Makefile.in: (Rebuilt).
	* libm2pim/Makefile.in: (Rebuilt).
	* libm2iso/Makefile.in: (Rebuilt).

gcc/ChangeLog:

	* configure.ac (HAVE_PYTHON): Test for Python3 added.
	* dwarf2out.cc (gen_compile_unit_die): Check language_string
	and language to DW_LANG_Modula2.
	* doc/install.texi: Add m2 as a language.  (--disable-libgm2)
	Documented.  Add make check-m2 to testing selected tests.
	* doc/sourcebuild.texi (GM2): New prerequisite item.
	(Python3 modules) New item.  (libgm2) Added.
	(gcc/m2) Added.
	* configure: (Rebuilt).
	* config.in: (Rebuilt).

gcc/m2/ChangeLog:

	* COPYING.FDL: (New file).
	* COPYING.RUNTIME: (New file).
	* COPYING3: (New file).
	* COPYING3.LIB: (New file).
	* Make-lang.in: (New file).
	* Make-maintainer.in: (New file).
	* NEWS: (New file).
	* README: (New file).
	* config-lang.in: (New file).
	* config-make.in: (New file).
	* configure.ac: (New file).
	* gm2-compiler/CLexBuf.def: (New file).
	* gm2-compiler/CLexBuf.mod: (New file).
	* gm2-compiler/FifoQueue.def: (New file).
	* gm2-compiler/FifoQueue.mod: (New file).
	* gm2-compiler/Lists.def: (New file).
	* gm2-compiler/Lists.mod: (New file).
	* gm2-compiler/M2ALU.def: (New file).
	* gm2-compiler/M2ALU.mod: (New file).
	* gm2-compiler/M2AsmUtil.def: (New file).
	* gm2-compiler/M2AsmUtil.mod: (New file).
	* gm2-compiler/M2Base.def: (New file).
	* gm2-compiler/M2Base.mod: (New file).
	* gm2-compiler/M2BasicBlock.def: (New file).
	* gm2-compiler/M2BasicBlock.mod: (New file).
	* gm2-compiler/M2Batch.def: (New file).
	* gm2-compiler/M2Batch.mod: (New file).
	* gm2-compiler/M2Bitset.def: (New file).
	* gm2-compiler/M2Bitset.mod: (New file).
	* gm2-compiler/M2CaseList.def: (New file).
	* gm2-compiler/M2CaseList.mod: (New file).
	* gm2-compiler/M2Check.def: (New file).
	* gm2-compiler/M2Check.mod: (New file).
	* gm2-compiler/M2Code.def: (New file).
	* gm2-compiler/M2Code.mod: (New file).
	* gm2-compiler/M2ColorString.def: (New file).
	* gm2-compiler/M2ColorString.mod: (New file).
	* gm2-compiler/M2Comp.def: (New file).
	* gm2-compiler/M2Comp.mod: (New file).
	* gm2-compiler/M2Const.def: (New file).
	* gm2-compiler/M2Const.mod: (New file).
	* gm2-compiler/M2Debug.def: (New file).
	* gm2-compiler/M2Debug.mod: (New file).
	* gm2-compiler/M2DebugStack.def: (New file).
	* gm2-compiler/M2DebugStack.mod: (New file).
	* gm2-compiler/M2Defaults.def: (New file).
	* gm2-compiler/M2Defaults.mod: (New file).
	* gm2-compiler/M2DriverOptions.def: (New file).
	* gm2-compiler/M2DriverOptions.mod: (New file).
	* gm2-compiler/M2Emit.def: (New file).
	* gm2-compiler/M2Emit.mod: (New file).
	* gm2-compiler/M2Error.def: (New file).
	* gm2-compiler/M2Error.mod: (New file).
	* gm2-compiler/M2EvalSym.def: (New file).
	* gm2-compiler/M2FileName.def: (New file).
	* gm2-compiler/M2FileName.mod: (New file).
	* gm2-compiler/M2GCCDeclare.def: (New file).
	* gm2-compiler/M2GCCDeclare.mod: (New file).
	* gm2-compiler/M2GenGCC.def: (New file).
	* gm2-compiler/M2GenGCC.mod: (New file).
	* gm2-compiler/M2Graph.def: (New file).
	* gm2-compiler/M2Graph.mod: (New file).
	* gm2-compiler/M2Lex.def: (New file).
	* gm2-compiler/M2Lex.mod: (New file).
	* gm2-compiler/M2LexBuf.def: (New file).
	* gm2-compiler/M2LexBuf.mod: (New file).
	* gm2-compiler/M2MetaError.def: (New file).
	* gm2-compiler/M2MetaError.mod: (New file).
	* gm2-compiler/M2Optimize.def: (New file).
	* gm2-compiler/M2Optimize.mod: (New file).
	* gm2-compiler/M2Options.def: (New file).
	* gm2-compiler/M2Options.mod: (New file).
	* gm2-compiler/M2Pass.def: (New file).
	* gm2-compiler/M2Pass.mod: (New file).
	* gm2-compiler/M2Preprocess.def: (New file).
	* gm2-compiler/M2Preprocess.mod: (New file).
	* gm2-compiler/M2Printf.def: (New file).
	* gm2-compiler/M2Printf.mod: (New file).
	* gm2-compiler/M2Quads.def: (New file).
	* gm2-compiler/M2Quads.mod: (New file).
	* gm2-compiler/M2Quiet.def: (New file).
	* gm2-compiler/M2Quiet.mod: (New file).
	* gm2-compiler/M2Range.def: (New file).
	* gm2-compiler/M2Range.mod: (New file).
	* gm2-compiler/M2Reserved.def: (New file).
	* gm2-compiler/M2Reserved.mod: (New file).
	* gm2-compiler/M2SSA.def: (New file).
	* gm2-compiler/M2SSA.mod: (New file).
	* gm2-compiler/M2Scaffold.def: (New file).
	* gm2-compiler/M2Scaffold.mod: (New file).
	* gm2-compiler/M2Scope.def: (New file).
	* gm2-compiler/M2Scope.mod: (New file).
	* gm2-compiler/M2Search.def: (New file).
	* gm2-compiler/M2Search.mod: (New file).
	* gm2-compiler/M2Size.def: (New file).
	* gm2-compiler/M2Size.mod: (New file).
	* gm2-compiler/M2StackAddress.def: (New file).
	* gm2-compiler/M2StackAddress.mod: (New file).
	* gm2-compiler/M2StackWord.def: (New file).
	* gm2-compiler/M2StackWord.mod: (New file).
	* gm2-compiler/M2Students.def: (New file).
	* gm2-compiler/M2Students.mod: (New file).
	* gm2-compiler/M2Swig.def: (New file).
	* gm2-compiler/M2Swig.mod: (New file).
	* gm2-compiler/M2System.def: (New file).
	* gm2-compiler/M2System.mod: (New file).
	* gm2-compiler/M2Version.def: (New file).
	* gm2-compiler/NameKey.def: (New file).
	* gm2-compiler/NameKey.mod: (New file).
	* gm2-compiler/ObjectFiles.def: (New file).
	* gm2-compiler/ObjectFiles.mod: (New file).
	* gm2-compiler/Output.def: (New file).
	* gm2-compiler/Output.mod: (New file).
	* gm2-compiler/P0SymBuild.def: (New file).
	* gm2-compiler/P0SymBuild.mod: (New file).
	* gm2-compiler/P0SyntaxCheck.bnf: (New file).
	* gm2-compiler/P0SyntaxCheck.def: (New file).
	* gm2-compiler/P1Build.bnf: (New file).
	* gm2-compiler/P1Build.def: (New file).
	* gm2-compiler/P1SymBuild.def: (New file).
	* gm2-compiler/P1SymBuild.mod: (New file).
	* gm2-compiler/P2Build.bnf: (New file).
	* gm2-compiler/P2Build.def: (New file).
	* gm2-compiler/P2SymBuild.def: (New file).
	* gm2-compiler/P2SymBuild.mod: (New file).
	* gm2-compiler/P3Build.bnf: (New file).
	* gm2-compiler/P3Build.def: (New file).
	* gm2-compiler/P3SymBuild.def: (New file).
	* gm2-compiler/P3SymBuild.mod: (New file).
	* gm2-compiler/PCBuild.bnf: (New file).
	* gm2-compiler/PCBuild.def: (New file).
	* gm2-compiler/PCSymBuild.def: (New file).
	* gm2-compiler/PCSymBuild.mod: (New file).
	* gm2-compiler/PHBuild.bnf: (New file).
	* gm2-compiler/PHBuild.def: (New file).
	* gm2-compiler/README: (New file).
	* gm2-compiler/Sets.def: (New file).
	* gm2-compiler/Sets.mod: (New file).
	* gm2-compiler/SymbolConversion.def: (New file).
	* gm2-compiler/SymbolConversion.mod: (New file).
	* gm2-compiler/SymbolKey.def: (New file).
	* gm2-compiler/SymbolKey.mod: (New file).
	* gm2-compiler/SymbolTable.def: (New file).
	* gm2-compiler/SymbolTable.mod: (New file).
	* gm2-compiler/bnflex.def: (New file).
	* gm2-compiler/bnflex.mod: (New file).
	* gm2-compiler/cflex.def: (New file).
	* gm2-compiler/gm2.mod: (New file).
	* gm2-compiler/gm2lcc.mod: (New file).
	* gm2-compiler/gm2lgen.mod: (New file).
	* gm2-compiler/gm2lorder.mod: (New file).
	* gm2-compiler/m2flex.def: (New file).
	* gm2-compiler/ppg.mod: (New file).
	* gm2-gcc/README: (New file).
	* gm2-gcc/dynamicstrings.h: (New file).
	* gm2-gcc/gcc-consolidation.h: (New file).
	* gm2-gcc/init.cc: (New file).
	* gm2-gcc/init.def: (New file).
	* gm2-gcc/init.h: (New file).
	* gm2-gcc/m2assert.cc: (New file).
	* gm2-gcc/m2assert.h: (New file).
	* gm2-gcc/m2block.cc: (New file).
	* gm2-gcc/m2block.def: (New file).
	* gm2-gcc/m2block.h: (New file).
	* gm2-gcc/m2builtins.cc: (New file).
	* gm2-gcc/m2builtins.def: (New file).
	* gm2-gcc/m2builtins.h: (New file).
	* gm2-gcc/m2color.cc: (New file).
	* gm2-gcc/m2color.def: (New file).
	* gm2-gcc/m2color.h: (New file).
	* gm2-gcc/m2configure.cc: (New file).
	* gm2-gcc/m2configure.def: (New file).
	* gm2-gcc/m2configure.h: (New file).
	* gm2-gcc/m2convert.cc: (New file).
	* gm2-gcc/m2convert.def: (New file).
	* gm2-gcc/m2convert.h: (New file).
	* gm2-gcc/m2decl.cc: (New file).
	* gm2-gcc/m2decl.def: (New file).
	* gm2-gcc/m2decl.h: (New file).
	* gm2-gcc/m2except.cc: (New file).
	* gm2-gcc/m2except.def: (New file).
	* gm2-gcc/m2except.h: (New file).
	* gm2-gcc/m2expr.cc: (New file).
	* gm2-gcc/m2expr.def: (New file).
	* gm2-gcc/m2expr.h: (New file).
	* gm2-gcc/m2linemap.cc: (New file).
	* gm2-gcc/m2linemap.def: (New file).
	* gm2-gcc/m2linemap.h: (New file).
	* gm2-gcc/m2misc.cc: (New file).
	* gm2-gcc/m2misc.def: (New file).
	* gm2-gcc/m2misc.h: (New file).
	* gm2-gcc/m2options.h: (New file).
	* gm2-gcc/m2range.h: (New file).
	* gm2-gcc/m2search.h: (New file).
	* gm2-gcc/m2statement.cc: (New file).
	* gm2-gcc/m2statement.def: (New file).
	* gm2-gcc/m2statement.h: (New file).
	* gm2-gcc/m2top.cc: (New file).
	* gm2-gcc/m2top.def: (New file).
	* gm2-gcc/m2top.h: (New file).
	* gm2-gcc/m2tree.cc: (New file).
	* gm2-gcc/m2tree.def: (New file).
	* gm2-gcc/m2tree.h: (New file).
	* gm2-gcc/m2treelib.cc: (New file).
	* gm2-gcc/m2treelib.def: (New file).
	* gm2-gcc/m2treelib.h: (New file).
	* gm2-gcc/m2type.cc: (New file).
	* gm2-gcc/m2type.def: (New file).
	* gm2-gcc/m2type.h: (New file).
	* gm2-gcc/rtegraph.cc: (New file).
	* gm2-gcc/rtegraph.h: (New file).
	* gm2-ici/M2Emit.mod: (New file).
	* gm2-ici/README: (New file).
	* gm2-ici/m2linemap.c: (New file).
	* gm2-internals.texi: (New file).
	* gm2-lang.cc: (New file).
	* gm2-lang.h: (New file).
	* gm2-libiberty/README: (New file).
	* gm2-libiberty/choosetemp.def: (New file).
	* gm2-libiberty/pexecute.def: (New file).
	* gm2-libs-ch/M2LINK.c: (New file).
	* gm2-libs-ch/README: (New file).
	* gm2-libs-ch/RTcodummy.c: (New file).
	* gm2-libs-ch/RTintdummy.c: (New file).
	* gm2-libs-ch/Selective.c: (New file).
	* gm2-libs-ch/SysExceptions.c: (New file).
	* gm2-libs-ch/UnixArgs.cc: (New file).
	* gm2-libs-ch/cgetopt.c: (New file).
	* gm2-libs-ch/choosetemp.c: (New file).
	* gm2-libs-ch/dtoa.cc: (New file).
	* gm2-libs-ch/errno.c: (New file).
	* gm2-libs-ch/host.c: (New file).
	* gm2-libs-ch/ldtoa.cc: (New file).
	* gm2-libs-ch/m2rts.h: (New file).
	* gm2-libs-ch/termios.c: (New file).
	* gm2-libs-ch/tools.c: (New file).
	* gm2-libs-ch/wrapc.c: (New file).
	* gm2-libs-ch/xlibc.c: (New file).
	* gm2-libs-coroutines/Debug.def: (New file).
	* gm2-libs-coroutines/Debug.mod: (New file).
	* gm2-libs-coroutines/Executive.def: (New file).
	* gm2-libs-coroutines/Executive.mod: (New file).
	* gm2-libs-coroutines/KeyBoardLEDs.def: (New file).
	* gm2-libs-coroutines/README.texi: (New file).
	* gm2-libs-coroutines/SYSTEM.def: (New file).
	* gm2-libs-coroutines/SYSTEM.mod: (New file).
	* gm2-libs-coroutines/TimerHandler.def: (New file).
	* gm2-libs-coroutines/TimerHandler.mod: (New file).
	* gm2-libs-iso/COROUTINES.def: (New file).
	* gm2-libs-iso/COROUTINES.mod: (New file).
	* gm2-libs-iso/ChanConsts.def: (New file).
	* gm2-libs-iso/ChanConsts.h: (New file).
	* gm2-libs-iso/ChanConsts.mod: (New file).
	* gm2-libs-iso/CharClass.def: (New file).
	* gm2-libs-iso/CharClass.mod: (New file).
	* gm2-libs-iso/ClientSocket.def: (New file).
	* gm2-libs-iso/ClientSocket.mod: (New file).
	* gm2-libs-iso/ComplexMath.def: (New file).
	* gm2-libs-iso/ComplexMath.mod: (New file).
	* gm2-libs-iso/ConvStringLong.def: (New file).
	* gm2-libs-iso/ConvStringLong.mod: (New file).
	* gm2-libs-iso/ConvStringReal.def: (New file).
	* gm2-libs-iso/ConvStringReal.mod: (New file).
	* gm2-libs-iso/ConvTypes.def: (New file).
	* gm2-libs-iso/ConvTypes.mod: (New file).
	* gm2-libs-iso/EXCEPTIONS.def: (New file).
	* gm2-libs-iso/EXCEPTIONS.mod: (New file).
	* gm2-libs-iso/ErrnoCategory.def: (New file).
	* gm2-libs-iso/GeneralUserExceptions.def: (New file).
	* gm2-libs-iso/GeneralUserExceptions.mod: (New file).
	* gm2-libs-iso/IOChan.def: (New file).
	* gm2-libs-iso/IOChan.mod: (New file).
	* gm2-libs-iso/IOConsts.def: (New file).
	* gm2-libs-iso/IOConsts.mod: (New file).
	* gm2-libs-iso/IOLink.def: (New file).
	* gm2-libs-iso/IOLink.mod: (New file).
	* gm2-libs-iso/IOResult.def: (New file).
	* gm2-libs-iso/IOResult.mod: (New file).
	* gm2-libs-iso/LongComplexMath.def: (New file).
	* gm2-libs-iso/LongComplexMath.mod: (New file).
	* gm2-libs-iso/LongConv.def: (New file).
	* gm2-libs-iso/LongConv.mod: (New file).
	* gm2-libs-iso/LongIO.def: (New file).
	* gm2-libs-iso/LongIO.mod: (New file).
	* gm2-libs-iso/LongMath.def: (New file).
	* gm2-libs-iso/LongMath.mod: (New file).
	* gm2-libs-iso/LongStr.def: (New file).
	* gm2-libs-iso/LongStr.mod: (New file).
	* gm2-libs-iso/LongWholeIO.def: (New file).
	* gm2-libs-iso/LongWholeIO.mod: (New file).
	* gm2-libs-iso/LowLong.def: (New file).
	* gm2-libs-iso/LowLong.mod: (New file).
	* gm2-libs-iso/LowReal.def: (New file).
	* gm2-libs-iso/LowReal.mod: (New file).
	* gm2-libs-iso/LowShort.def: (New file).
	* gm2-libs-iso/LowShort.mod: (New file).
	* gm2-libs-iso/M2EXCEPTION.def: (New file).
	* gm2-libs-iso/M2EXCEPTION.mod: (New file).
	* gm2-libs-iso/M2RTS.def: (New file).
	* gm2-libs-iso/M2RTS.mod: (New file).
	* gm2-libs-iso/MemStream.def: (New file).
	* gm2-libs-iso/MemStream.mod: (New file).
	* gm2-libs-iso/Preemptive.def: (New file).
	* gm2-libs-iso/Preemptive.mod: (New file).
	* gm2-libs-iso/Processes.def: (New file).
	* gm2-libs-iso/Processes.mod: (New file).
	* gm2-libs-iso/ProgramArgs.def: (New file).
	* gm2-libs-iso/ProgramArgs.mod: (New file).
	* gm2-libs-iso/README.texi: (New file).
	* gm2-libs-iso/RTco.def: (New file).
	* gm2-libs-iso/RTdata.def: (New file).
	* gm2-libs-iso/RTdata.mod: (New file).
	* gm2-libs-iso/RTentity.def: (New file).
	* gm2-libs-iso/RTentity.mod: (New file).
	* gm2-libs-iso/RTfio.def: (New file).
	* gm2-libs-iso/RTfio.mod: (New file).
	* gm2-libs-iso/RTgen.def: (New file).
	* gm2-libs-iso/RTgen.mod: (New file).
	* gm2-libs-iso/RTgenif.def: (New file).
	* gm2-libs-iso/RTgenif.mod: (New file).
	* gm2-libs-iso/RTio.def: (New file).
	* gm2-libs-iso/RTio.mod: (New file).
	* gm2-libs-iso/RandomNumber.def: (New file).
	* gm2-libs-iso/RandomNumber.mod: (New file).
	* gm2-libs-iso/RawIO.def: (New file).
	* gm2-libs-iso/RawIO.mod: (New file).
	* gm2-libs-iso/RealConv.def: (New file).
	* gm2-libs-iso/RealConv.mod: (New file).
	* gm2-libs-iso/RealIO.def: (New file).
	* gm2-libs-iso/RealIO.mod: (New file).
	* gm2-libs-iso/RealMath.def: (New file).
	* gm2-libs-iso/RealMath.mod: (New file).
	* gm2-libs-iso/RealStr.def: (New file).
	* gm2-libs-iso/RealStr.mod: (New file).
	* gm2-libs-iso/RndFile.def: (New file).
	* gm2-libs-iso/RndFile.mod: (New file).
	* gm2-libs-iso/SIOResult.def: (New file).
	* gm2-libs-iso/SIOResult.mod: (New file).
	* gm2-libs-iso/SLongIO.def: (New file).
	* gm2-libs-iso/SLongIO.mod: (New file).
	* gm2-libs-iso/SLongWholeIO.def: (New file).
	* gm2-libs-iso/SLongWholeIO.mod: (New file).
	* gm2-libs-iso/SRawIO.def: (New file).
	* gm2-libs-iso/SRawIO.mod: (New file).
	* gm2-libs-iso/SRealIO.def: (New file).
	* gm2-libs-iso/SRealIO.mod: (New file).
	* gm2-libs-iso/SShortIO.def: (New file).
	* gm2-libs-iso/SShortIO.mod: (New file).
	* gm2-libs-iso/SShortWholeIO.def: (New file).
	* gm2-libs-iso/SShortWholeIO.mod: (New file).
	* gm2-libs-iso/STextIO.def: (New file).
	* gm2-libs-iso/STextIO.mod: (New file).
	* gm2-libs-iso/SWholeIO.def: (New file).
	* gm2-libs-iso/SWholeIO.mod: (New file).
	* gm2-libs-iso/SYSTEM.def: (New file).
	* gm2-libs-iso/SYSTEM.mod: (New file).
	* gm2-libs-iso/Semaphores.def: (New file).
	* gm2-libs-iso/Semaphores.mod: (New file).
	* gm2-libs-iso/SeqFile.def: (New file).
	* gm2-libs-iso/SeqFile.mod: (New file).
	* gm2-libs-iso/ShortComplexMath.def: (New file).
	* gm2-libs-iso/ShortComplexMath.mod: (New file).
	* gm2-libs-iso/ShortIO.def: (New file).
	* gm2-libs-iso/ShortIO.mod: (New file).
	* gm2-libs-iso/ShortWholeIO.def: (New file).
	* gm2-libs-iso/ShortWholeIO.mod: (New file).
	* gm2-libs-iso/SimpleCipher.def: (New file).
	* gm2-libs-iso/SimpleCipher.mod: (New file).
	* gm2-libs-iso/StdChans.def: (New file).
	* gm2-libs-iso/StdChans.mod: (New file).
	* gm2-libs-iso/Storage.def: (New file).
	* gm2-libs-iso/Storage.mod: (New file).
	* gm2-libs-iso/StreamFile.def: (New file).
	* gm2-libs-iso/StreamFile.mod: (New file).
	* gm2-libs-iso/StringChan.def: (New file).
	* gm2-libs-iso/StringChan.mod: (New file).
	* gm2-libs-iso/Strings.def: (New file).
	* gm2-libs-iso/Strings.mod: (New file).
	* gm2-libs-iso/SysClock.def: (New file).
	* gm2-libs-iso/SysClock.mod: (New file).
	* gm2-libs-iso/TERMINATION.def: (New file).
	* gm2-libs-iso/TERMINATION.mod: (New file).
	* gm2-libs-iso/TermFile.def: (New file).
	* gm2-libs-iso/TermFile.mod: (New file).
	* gm2-libs-iso/TextIO.def: (New file).
	* gm2-libs-iso/TextIO.mod: (New file).
	* gm2-libs-iso/WholeConv.def: (New file).
	* gm2-libs-iso/WholeConv.mod: (New file).
	* gm2-libs-iso/WholeIO.def: (New file).
	* gm2-libs-iso/WholeIO.mod: (New file).
	* gm2-libs-iso/WholeStr.def: (New file).
	* gm2-libs-iso/WholeStr.mod: (New file).
	* gm2-libs-iso/wrapsock.c: (New file).
	* gm2-libs-iso/wrapsock.def: (New file).
	* gm2-libs-iso/wraptime.c: (New file).
	* gm2-libs-iso/wraptime.def: (New file).
	* gm2-libs-min/M2RTS.def: (New file).
	* gm2-libs-min/M2RTS.mod: (New file).
	* gm2-libs-min/SYSTEM.def: (New file).
	* gm2-libs-min/SYSTEM.mod: (New file).
	* gm2-libs-min/libc.c: (New file).
	* gm2-libs-min/libc.def: (New file).
	* gm2-libs-pim/BitBlockOps.def: (New file).
	* gm2-libs-pim/BitBlockOps.mod: (New file).
	* gm2-libs-pim/BitByteOps.def: (New file).
	* gm2-libs-pim/BitByteOps.mod: (New file).
	* gm2-libs-pim/BitWordOps.def: (New file).
	* gm2-libs-pim/BitWordOps.mod: (New file).
	* gm2-libs-pim/BlockOps.def: (New file).
	* gm2-libs-pim/BlockOps.mod: (New file).
	* gm2-libs-pim/Break.c: (New file).
	* gm2-libs-pim/Break.def: (New file).
	* gm2-libs-pim/CardinalIO.def: (New file).
	* gm2-libs-pim/CardinalIO.mod: (New file).
	* gm2-libs-pim/Conversions.def: (New file).
	* gm2-libs-pim/Conversions.mod: (New file).
	* gm2-libs-pim/DebugPMD.def: (New file).
	* gm2-libs-pim/DebugPMD.mod: (New file).
	* gm2-libs-pim/DebugTrace.def: (New file).
	* gm2-libs-pim/DebugTrace.mod: (New file).
	* gm2-libs-pim/Delay.def: (New file).
	* gm2-libs-pim/Delay.mod: (New file).
	* gm2-libs-pim/Display.def: (New file).
	* gm2-libs-pim/Display.mod: (New file).
	* gm2-libs-pim/ErrorCode.def: (New file).
	* gm2-libs-pim/ErrorCode.mod: (New file).
	* gm2-libs-pim/FileSystem.def: (New file).
	* gm2-libs-pim/FileSystem.mod: (New file).
	* gm2-libs-pim/FloatingUtilities.def: (New file).
	* gm2-libs-pim/FloatingUtilities.mod: (New file).
	* gm2-libs-pim/InOut.def: (New file).
	* gm2-libs-pim/InOut.mod: (New file).
	* gm2-libs-pim/Keyboard.def: (New file).
	* gm2-libs-pim/Keyboard.mod: (New file).
	* gm2-libs-pim/LongIO.def: (New file).
	* gm2-libs-pim/LongIO.mod: (New file).
	* gm2-libs-pim/NumberConversion.def: (New file).
	* gm2-libs-pim/NumberConversion.mod: (New file).
	* gm2-libs-pim/README.texi: (New file).
	* gm2-libs-pim/Random.def: (New file).
	* gm2-libs-pim/Random.mod: (New file).
	* gm2-libs-pim/RealConversions.def: (New file).
	* gm2-libs-pim/RealConversions.mod: (New file).
	* gm2-libs-pim/RealInOut.def: (New file).
	* gm2-libs-pim/RealInOut.mod: (New file).
	* gm2-libs-pim/Strings.def: (New file).
	* gm2-libs-pim/Strings.mod: (New file).
	* gm2-libs-pim/Termbase.def: (New file).
	* gm2-libs-pim/Termbase.mod: (New file).
	* gm2-libs-pim/Terminal.def: (New file).
	* gm2-libs-pim/Terminal.mod: (New file).
	* gm2-libs-pim/TimeDate.def: (New file).
	* gm2-libs-pim/TimeDate.mod: (New file).
	* gm2-libs/ASCII.def: (New file).
	* gm2-libs/ASCII.mod: (New file).
	* gm2-libs/Args.def: (New file).
	* gm2-libs/Args.mod: (New file).
	* gm2-libs/Assertion.def: (New file).
	* gm2-libs/Assertion.mod: (New file).
	* gm2-libs/Break.def: (New file).
	* gm2-libs/Break.mod: (New file).
	* gm2-libs/Builtins.def: (New file).
	* gm2-libs/Builtins.mod: (New file).
	* gm2-libs/COROUTINES.def: (New file).
	* gm2-libs/COROUTINES.mod: (New file).
	* gm2-libs/CmdArgs.def: (New file).
	* gm2-libs/CmdArgs.mod: (New file).
	* gm2-libs/Debug.def: (New file).
	* gm2-libs/Debug.mod: (New file).
	* gm2-libs/DynamicStrings.def: (New file).
	* gm2-libs/DynamicStrings.mod: (New file).
	* gm2-libs/Environment.def: (New file).
	* gm2-libs/Environment.mod: (New file).
	* gm2-libs/FIO.def: (New file).
	* gm2-libs/FIO.mod: (New file).
	* gm2-libs/FormatStrings.def: (New file).
	* gm2-libs/FormatStrings.mod: (New file).
	* gm2-libs/FpuIO.def: (New file).
	* gm2-libs/FpuIO.mod: (New file).
	* gm2-libs/GetOpt.def: (New file).
	* gm2-libs/GetOpt.mod: (New file).
	* gm2-libs/IO.def: (New file).
	* gm2-libs/IO.mod: (New file).
	* gm2-libs/Indexing.def: (New file).
	* gm2-libs/Indexing.mod: (New file).
	* gm2-libs/LMathLib0.def: (New file).
	* gm2-libs/LMathLib0.mod: (New file).
	* gm2-libs/LegacyReal.def: (New file).
	* gm2-libs/LegacyReal.mod: (New file).
	* gm2-libs/M2Dependent.def: (New file).
	* gm2-libs/M2Dependent.mod: (New file).
	* gm2-libs/M2EXCEPTION.def: (New file).
	* gm2-libs/M2EXCEPTION.mod: (New file).
	* gm2-libs/M2LINK.def: (New file).
	* gm2-libs/M2RTS.def: (New file).
	* gm2-libs/M2RTS.mod: (New file).
	* gm2-libs/MathLib0.def: (New file).
	* gm2-libs/MathLib0.mod: (New file).
	* gm2-libs/MemUtils.def: (New file).
	* gm2-libs/MemUtils.mod: (New file).
	* gm2-libs/NumberIO.def: (New file).
	* gm2-libs/NumberIO.mod: (New file).
	* gm2-libs/OptLib.def: (New file).
	* gm2-libs/OptLib.mod: (New file).
	* gm2-libs/PushBackInput.def: (New file).
	* gm2-libs/PushBackInput.mod: (New file).
	* gm2-libs/README.texi: (New file).
	* gm2-libs/RTExceptions.def: (New file).
	* gm2-libs/RTExceptions.mod: (New file).
	* gm2-libs/RTint.def: (New file).
	* gm2-libs/RTint.mod: (New file).
	* gm2-libs/SArgs.def: (New file).
	* gm2-libs/SArgs.mod: (New file).
	* gm2-libs/SCmdArgs.def: (New file).
	* gm2-libs/SCmdArgs.mod: (New file).
	* gm2-libs/SEnvironment.def: (New file).
	* gm2-libs/SEnvironment.mod: (New file).
	* gm2-libs/SFIO.def: (New file).
	* gm2-libs/SFIO.mod: (New file).
	* gm2-libs/SMathLib0.def: (New file).
	* gm2-libs/SMathLib0.mod: (New file).
	* gm2-libs/SYSTEM.def: (New file).
	* gm2-libs/SYSTEM.mod: (New file).
	* gm2-libs/Scan.def: (New file).
	* gm2-libs/Scan.mod: (New file).
	* gm2-libs/Selective.def: (New file).
	* gm2-libs/StdIO.def: (New file).
	* gm2-libs/StdIO.mod: (New file).
	* gm2-libs/Storage.def: (New file).
	* gm2-libs/Storage.mod: (New file).
	* gm2-libs/StrCase.def: (New file).
	* gm2-libs/StrCase.mod: (New file).
	* gm2-libs/StrIO.def: (New file).
	* gm2-libs/StrIO.mod: (New file).
	* gm2-libs/StrLib.def: (New file).
	* gm2-libs/StrLib.mod: (New file).
	* gm2-libs/StringConvert.def: (New file).
	* gm2-libs/StringConvert.mod: (New file).
	* gm2-libs/SysExceptions.def: (New file).
	* gm2-libs/SysStorage.def: (New file).
	* gm2-libs/SysStorage.mod: (New file).
	* gm2-libs/TimeString.def: (New file).
	* gm2-libs/TimeString.mod: (New file).
	* gm2-libs/UnixArgs.def: (New file).
	* gm2-libs/cbuiltin.def: (New file).
	* gm2-libs/cgetopt.def: (New file).
	* gm2-libs/config-host: (New file).
	* gm2-libs/config-host.in: (New file).
	* gm2-libs/cxxabi.def: (New file).
	* gm2-libs/dtoa.def: (New file).
	* gm2-libs/errno.def: (New file).
	* gm2-libs/gdbif.def: (New file).
	* gm2-libs/gdbif.mod: (New file).
	* gm2-libs/gm2-libs-host.h.in: (New file).
	* gm2-libs/ldtoa.def: (New file).
	* gm2-libs/libc.def: (New file).
	* gm2-libs/libm.def: (New file).
	* gm2-libs/sckt.def: (New file).
	* gm2-libs/termios.def: (New file).
	* gm2-libs/wrapc.def: (New file).
	* gm2config.h.in: (New file).
	* gm2spec.cc: (New file).
	* gm2version.h: (New file).
	* init/README: (New file).
	* init/mcinit: (New file).
	* init/ppginit: (New file).
	* lang-specs.h: (New file).
	* lang.opt: (New file).
	* m2-tree.def: (New file).
	* m2-tree.h: (New file).
	* m2.flex: (New file).
	* m2pp.cc: (New file).
	* m2pp.h: (New file).
	* mc-boot-ch/GBuiltins.c: (New file).
	* mc-boot-ch/GM2LINK.c: (New file).
	* mc-boot-ch/GRTco.c: (New file).
	* mc-boot-ch/GSYSTEM.c: (New file).
	* mc-boot-ch/GSelective.c: (New file).
	* mc-boot-ch/GSysExceptions.c: (New file).
	* mc-boot-ch/GUnixArgs.cc: (New file).
	* mc-boot-ch/Gabort.c: (New file).
	* mc-boot-ch/Gcbuiltin.c: (New file).
	* mc-boot-ch/Gdtoa.c: (New file).
	* mc-boot-ch/Gerrno.c: (New file).
	* mc-boot-ch/Gldtoa.c: (New file).
	* mc-boot-ch/Glibc.c: (New file).
	* mc-boot-ch/Glibm.c: (New file).
	* mc-boot-ch/Gmcrts.c: (New file).
	* mc-boot-ch/Gmcrts.h: (New file).
	* mc-boot-ch/Gnetwork.h: (New file).
	* mc-boot-ch/Gtermios.cc: (New file).
	* mc-boot-ch/Gwrapc.c: (New file).
	* mc-boot-ch/README: (New file).
	* mc-boot-ch/m2rts.h: (New file).
	* mc-boot-ch/network.c: (New file).
	* mc-boot/GASCII.c: (New file).
	* mc-boot/GASCII.h: (New file).
	* mc-boot/GArgs.c: (New file).
	* mc-boot/GArgs.h: (New file).
	* mc-boot/GAssertion.c: (New file).
	* mc-boot/GAssertion.h: (New file).
	* mc-boot/GBreak.c: (New file).
	* mc-boot/GBreak.h: (New file).
	* mc-boot/GCOROUTINES.h: (New file).
	* mc-boot/GCmdArgs.c: (New file).
	* mc-boot/GCmdArgs.h: (New file).
	* mc-boot/GDebug.c: (New file).
	* mc-boot/GDebug.h: (New file).
	* mc-boot/GDynamicStrings.c: (New file).
	* mc-boot/GDynamicStrings.h: (New file).
	* mc-boot/GEnvironment.c: (New file).
	* mc-boot/GEnvironment.h: (New file).
	* mc-boot/GFIO.c: (New file).
	* mc-boot/GFIO.h: (New file).
	* mc-boot/GFormatStrings.c: (New file).
	* mc-boot/GFormatStrings.h: (New file).
	* mc-boot/GFpuIO.c: (New file).
	* mc-boot/GFpuIO.h: (New file).
	* mc-boot/GIO.c: (New file).
	* mc-boot/GIO.h: (New file).
	* mc-boot/GIndexing.c: (New file).
	* mc-boot/GIndexing.h: (New file).
	* mc-boot/GM2Dependent.c: (New file).
	* mc-boot/GM2Dependent.h: (New file).
	* mc-boot/GM2EXCEPTION.c: (New file).
	* mc-boot/GM2EXCEPTION.h: (New file).
	* mc-boot/GM2LINK.h: (New file).
	* mc-boot/GM2RTS.c: (New file).
	* mc-boot/GM2RTS.h: (New file).
	* mc-boot/GMemUtils.c: (New file).
	* mc-boot/GMemUtils.h: (New file).
	* mc-boot/GNumberIO.c: (New file).
	* mc-boot/GNumberIO.h: (New file).
	* mc-boot/GPushBackInput.c: (New file).
	* mc-boot/GPushBackInput.h: (New file).
	* mc-boot/GRTExceptions.c: (New file).
	* mc-boot/GRTExceptions.h: (New file).
	* mc-boot/GRTco.h: (New file).
	* mc-boot/GRTint.c: (New file).
	* mc-boot/GRTint.h: (New file).
	* mc-boot/GSArgs.c: (New file).
	* mc-boot/GSArgs.h: (New file).
	* mc-boot/GSFIO.c: (New file).
	* mc-boot/GSFIO.h: (New file).
	* mc-boot/GSYSTEM.h: (New file).
	* mc-boot/GSelective.h: (New file).
	* mc-boot/GStdIO.c: (New file).
	* mc-boot/GStdIO.h: (New file).
	* mc-boot/GStorage.c: (New file).
	* mc-boot/GStorage.h: (New file).
	* mc-boot/GStrCase.c: (New file).
	* mc-boot/GStrCase.h: (New file).
	* mc-boot/GStrIO.c: (New file).
	* mc-boot/GStrIO.h: (New file).
	* mc-boot/GStrLib.c: (New file).
	* mc-boot/GStrLib.h: (New file).
	* mc-boot/GStringConvert.c: (New file).
	* mc-boot/GStringConvert.h: (New file).
	* mc-boot/GSysExceptions.h: (New file).
	* mc-boot/GSysStorage.c: (New file).
	* mc-boot/GSysStorage.h: (New file).
	* mc-boot/GTimeString.c: (New file).
	* mc-boot/GTimeString.h: (New file).
	* mc-boot/GUnixArgs.h: (New file).
	* mc-boot/Galists.c: (New file).
	* mc-boot/Galists.h: (New file).
	* mc-boot/Gdecl.c: (New file).
	* mc-boot/Gdecl.h: (New file).
	* mc-boot/Gdtoa.h: (New file).
	* mc-boot/Gerrno.h: (New file).
	* mc-boot/Gkeyc.c: (New file).
	* mc-boot/Gkeyc.h: (New file).
	* mc-boot/Gldtoa.h: (New file).
	* mc-boot/Glibc.h: (New file).
	* mc-boot/Glibm.h: (New file).
	* mc-boot/Glists.c: (New file).
	* mc-boot/Glists.h: (New file).
	* mc-boot/GmcComment.c: (New file).
	* mc-boot/GmcComment.h: (New file).
	* mc-boot/GmcComp.c: (New file).
	* mc-boot/GmcComp.h: (New file).
	* mc-boot/GmcDebug.c: (New file).
	* mc-boot/GmcDebug.h: (New file).
	* mc-boot/GmcError.c: (New file).
	* mc-boot/GmcError.h: (New file).
	* mc-boot/GmcFileName.c: (New file).
	* mc-boot/GmcFileName.h: (New file).
	* mc-boot/GmcLexBuf.c: (New file).
	* mc-boot/GmcLexBuf.h: (New file).
	* mc-boot/GmcMetaError.c: (New file).
	* mc-boot/GmcMetaError.h: (New file).
	* mc-boot/GmcOptions.c: (New file).
	* mc-boot/GmcOptions.h: (New file).
	* mc-boot/GmcPreprocess.c: (New file).
	* mc-boot/GmcPreprocess.h: (New file).
	* mc-boot/GmcPretty.c: (New file).
	* mc-boot/GmcPretty.h: (New file).
	* mc-boot/GmcPrintf.c: (New file).
	* mc-boot/GmcPrintf.h: (New file).
	* mc-boot/GmcQuiet.c: (New file).
	* mc-boot/GmcQuiet.h: (New file).
	* mc-boot/GmcReserved.c: (New file).
	* mc-boot/GmcReserved.h: (New file).
	* mc-boot/GmcSearch.c: (New file).
	* mc-boot/GmcSearch.h: (New file).
	* mc-boot/GmcStack.c: (New file).
	* mc-boot/GmcStack.h: (New file).
	* mc-boot/GmcStream.c: (New file).
	* mc-boot/GmcStream.h: (New file).
	* mc-boot/Gmcflex.h: (New file).
	* mc-boot/Gmcp1.c: (New file).
	* mc-boot/Gmcp1.h: (New file).
	* mc-boot/Gmcp2.c: (New file).
	* mc-boot/Gmcp2.h: (New file).
	* mc-boot/Gmcp3.c: (New file).
	* mc-boot/Gmcp3.h: (New file).
	* mc-boot/Gmcp4.c: (New file).
	* mc-boot/Gmcp4.h: (New file).
	* mc-boot/Gmcp5.c: (New file).
	* mc-boot/Gmcp5.h: (New file).
	* mc-boot/GnameKey.c: (New file).
	* mc-boot/GnameKey.h: (New file).
	* mc-boot/Gpth.h: (New file).
	* mc-boot/GsymbolKey.c: (New file).
	* mc-boot/GsymbolKey.h: (New file).
	* mc-boot/Gtermios.h: (New file).
	* mc-boot/Gtop.c: (New file).
	* mc-boot/Gvarargs.c: (New file).
	* mc-boot/Gvarargs.h: (New file).
	* mc-boot/Gwlists.c: (New file).
	* mc-boot/Gwlists.h: (New file).
	* mc-boot/Gwrapc.h: (New file).
	* mc-boot/README: (New file).
	* mc/Indexing.def: (New file).
	* mc/Indexing.mod: (New file).
	* mc/README: (New file).
	* mc/alists.def: (New file).
	* mc/alists.mod: (New file).
	* mc/decl.def: (New file).
	* mc/decl.mod: (New file).
	* mc/decl.mod-extra: (New file).
	* mc/keyc.def: (New file).
	* mc/keyc.mod: (New file).
	* mc/lists.def: (New file).
	* mc/lists.mod: (New file).
	* mc/m2flex.def: (New file).
	* mc/mc.flex: (New file).
	* mc/mcComment.def: (New file).
	* mc/mcComment.h: (New file).
	* mc/mcComment.mod: (New file).
	* mc/mcComp.def: (New file).
	* mc/mcComp.mod: (New file).
	* mc/mcDebug.def: (New file).
	* mc/mcDebug.mod: (New file).
	* mc/mcError.def: (New file).
	* mc/mcError.mod: (New file).
	* mc/mcFileName.def: (New file).
	* mc/mcFileName.mod: (New file).
	* mc/mcLexBuf.def: (New file).
	* mc/mcLexBuf.h: (New file).
	* mc/mcLexBuf.mod: (New file).
	* mc/mcMetaError.def: (New file).
	* mc/mcMetaError.mod: (New file).
	* mc/mcOptions.def: (New file).
	* mc/mcOptions.mod: (New file).
	* mc/mcPreprocess.def: (New file).
	* mc/mcPreprocess.mod: (New file).
	* mc/mcPretty.def: (New file).
	* mc/mcPretty.mod: (New file).
	* mc/mcPrintf.def: (New file).
	* mc/mcPrintf.mod: (New file).
	* mc/mcQuiet.def: (New file).
	* mc/mcQuiet.mod: (New file).
	* mc/mcReserved.def: (New file).
	* mc/mcReserved.h: (New file).
	* mc/mcReserved.mod: (New file).
	* mc/mcSearch.def: (New file).
	* mc/mcSearch.mod: (New file).
	* mc/mcStack.def: (New file).
	* mc/mcStack.mod: (New file).
	* mc/mcStream.def: (New file).
	* mc/mcStream.mod: (New file).
	* mc/mcflex.def: (New file).
	* mc/mcp1.bnf: (New file).
	* mc/mcp1.def: (New file).
	* mc/mcp2.bnf: (New file).
	* mc/mcp2.def: (New file).
	* mc/mcp3.bnf: (New file).
	* mc/mcp3.def: (New file).
	* mc/mcp4.bnf: (New file).
	* mc/mcp4.def: (New file).
	* mc/mcp5.bnf: (New file).
	* mc/mcp5.def: (New file).
	* mc/nameKey.def: (New file).
	* mc/nameKey.mod: (New file).
	* mc/symbolKey.def: (New file).
	* mc/symbolKey.mod: (New file).
	* mc/top.mod: (New file).
	* mc/varargs.def: (New file).
	* mc/varargs.mod: (New file).
	* mc/wlists.def: (New file).
	* mc/wlists.mod: (New file).
	* pge-boot/GASCII.c: (New file).
	* pge-boot/GASCII.h: (New file).
	* pge-boot/GArgs.c: (New file).
	* pge-boot/GArgs.h: (New file).
	* pge-boot/GAssertion.c: (New file).
	* pge-boot/GAssertion.h: (New file).
	* pge-boot/GBreak.h: (New file).
	* pge-boot/GBuiltins.c: (New file).
	* pge-boot/GCmdArgs.h: (New file).
	* pge-boot/GDebug.c: (New file).
	* pge-boot/GDebug.h: (New file).
	* pge-boot/GDynamicStrings.c: (New file).
	* pge-boot/GDynamicStrings.h: (New file).
	* pge-boot/GEnvironment.h: (New file).
	* pge-boot/GFIO.c: (New file).
	* pge-boot/GFIO.h: (New file).
	* pge-boot/GFormatStrings.h: (New file).
	* pge-boot/GFpuIO.h: (New file).
	* pge-boot/GIO.c: (New file).
	* pge-boot/GIO.h: (New file).
	* pge-boot/GIndexing.c: (New file).
	* pge-boot/GIndexing.h: (New file).
	* pge-boot/GLists.c: (New file).
	* pge-boot/GLists.h: (New file).
	* pge-boot/GM2Dependent.c: (New file).
	* pge-boot/GM2Dependent.h: (New file).
	* pge-boot/GM2EXCEPTION.c: (New file).
	* pge-boot/GM2EXCEPTION.h: (New file).
	* pge-boot/GM2LINK.c: (New file).
	* pge-boot/GM2LINK.h: (New file).
	* pge-boot/GM2RTS.c: (New file).
	* pge-boot/GM2RTS.h: (New file).
	* pge-boot/GNameKey.c: (New file).
	* pge-boot/GNameKey.h: (New file).
	* pge-boot/GNumberIO.c: (New file).
	* pge-boot/GNumberIO.h: (New file).
	* pge-boot/GOutput.c: (New file).
	* pge-boot/GOutput.h: (New file).
	* pge-boot/GPushBackInput.c: (New file).
	* pge-boot/GPushBackInput.h: (New file).
	* pge-boot/GRTExceptions.c: (New file).
	* pge-boot/GRTExceptions.h: (New file).
	* pge-boot/GRTco.c: (New file).
	* pge-boot/GSArgs.h: (New file).
	* pge-boot/GSEnvironment.h: (New file).
	* pge-boot/GSFIO.c: (New file).
	* pge-boot/GSFIO.h: (New file).
	* pge-boot/GSYSTEM.c: (New file).
	* pge-boot/GSYSTEM.h: (New file).
	* pge-boot/GScan.h: (New file).
	* pge-boot/GSelective.c: (New file).
	* pge-boot/GStdIO.c: (New file).
	* pge-boot/GStdIO.h: (New file).
	* pge-boot/GStorage.c: (New file).
	* pge-boot/GStorage.h: (New file).
	* pge-boot/GStrCase.c: (New file).
	* pge-boot/GStrCase.h: (New file).
	* pge-boot/GStrIO.c: (New file).
	* pge-boot/GStrIO.h: (New file).
	* pge-boot/GStrLib.c: (New file).
	* pge-boot/GStrLib.h: (New file).
	* pge-boot/GStringConvert.h: (New file).
	* pge-boot/GSymbolKey.c: (New file).
	* pge-boot/GSymbolKey.h: (New file).
	* pge-boot/GSysExceptions.c: (New file).
	* pge-boot/GSysExceptions.h: (New file).
	* pge-boot/GSysStorage.c: (New file).
	* pge-boot/GSysStorage.h: (New file).
	* pge-boot/GTimeString.h: (New file).
	* pge-boot/GUnixArgs.cc: (New file).
	* pge-boot/GUnixArgs.h: (New file).
	* pge-boot/Gabort.c: (New file).
	* pge-boot/Gbnflex.c: (New file).
	* pge-boot/Gbnflex.h: (New file).
	* pge-boot/Gcbuiltin.c: (New file).
	* pge-boot/Gdtoa.c: (New file).
	* pge-boot/Gdtoa.h: (New file).
	* pge-boot/Gerrno.c: (New file).
	* pge-boot/Gerrno.h: (New file).
	* pge-boot/Gldtoa.c: (New file).
	* pge-boot/Gldtoa.h: (New file).
	* pge-boot/Glibc.c: (New file).
	* pge-boot/Glibc.h: (New file).
	* pge-boot/Glibm.c: (New file).
	* pge-boot/Glibm.h: (New file).
	* pge-boot/Gmcrts.c: (New file).
	* pge-boot/Gmcrts.h: (New file).
	* pge-boot/Gnetwork.h: (New file).
	* pge-boot/Gpge.c: (New file).
	* pge-boot/Gtermios.cc: (New file).
	* pge-boot/Gtermios.h: (New file).
	* pge-boot/Gwrapc.c: (New file).
	* pge-boot/Gwrapc.h: (New file).
	* pge-boot/README: (New file).
	* pge-boot/m2rts.h: (New file).
	* pge-boot/main.c: (New file).
	* pge-boot/network.c: (New file).
	* plugin/README: (New file).
	* plugin/m2rte.cc: (New file).
	* tools-src/README: (New file).
	* tools-src/boilerplate.py: (New file).
	* tools-src/buildpg: (New file).
	* tools-src/calcpath: (New file).
	* tools-src/def2doc.py: (New file).
	* tools-src/makeSystem: (New file).
	* tools-src/mklink.c: (New file).
	* tools-src/tidydates.py: (New file).
	* images/LICENSE.IMG: (New file).
	* images/gnupng: (New file).
	* images/gnu.eps: (New file).
	* version.c: (New file).
	* configure: (Rebuilt).

gcc/testsuite/ChangeLog:

	* lib/gm2-dg.exp: (New file).
	* lib/gm2.exp: (New file).
	* lib/gm2-simple.exp: (New file).
	* lib/gm2-torture.exp: (New file).
	* gm2/calling-c/datatypes/unbounded/run/pass/c.c: (New file).
	* gm2/calling-c/datatypes/unbounded/run/pass/c.def: (New file).
	* gm2/calling-c/datatypes/unbounded/run/pass/calling-c-datatypes-unbounded-run-pass.exp:
	(New file).
	* gm2/calling-c/datatypes/unbounded/run/pass/m.mod: (New file).
	* gm2/case/pass/case-pass.exp: (New file).
	* gm2/case/pass/testcase1.mod: (New file).
	* gm2/case/pass/testcase2.mod: (New file).
	* gm2/case/pass/testcase3.mod: (New file).
	* gm2/case/pass/testcase4.mod: (New file).
	* gm2/complex/fail/var1.mod: (New file).
	* gm2/complex/pass/arith.mod: (New file).
	* gm2/complex/pass/arith2.mod: (New file).
	* gm2/complex/pass/arith3.mod: (New file).
	* gm2/complex/pass/arith4.mod: (New file).
	* gm2/complex/pass/arith5.mod: (New file).
	* gm2/complex/pass/arith6.mod: (New file).
	* gm2/complex/pass/complex-pass.exp: (New file).
	* gm2/complex/pass/consts.mod: (New file).
	* gm2/complex/pass/consts2.mod: (New file).
	* gm2/complex/pass/consts3.mod: (New file).
	* gm2/complex/pass/tinycabs.mod: (New file).
	* gm2/complex/pass/var1.mod: (New file).
	* gm2/complex/pass/var2.mod: (New file).
	* gm2/complex/pass/var3.mod: (New file).
	* gm2/complex/pass/var4.mod: (New file).
	* gm2/complex/pass/var5.mod: (New file).
	* gm2/complex/pass/var6.mod: (New file).
	* gm2/complex/pass/var7.mod: (New file).
	* gm2/complex/pass/var8.mod: (New file).
	* gm2/complex/run/pass/arith3.mod: (New file).
	* gm2/complex/run/pass/arith4.mod: (New file).
	* gm2/complex/run/pass/arith5.mod: (New file).
	* gm2/complex/run/pass/arith6.mod: (New file).
	* gm2/complex/run/pass/arith7.mod: (New file).
	* gm2/complex/run/pass/arith8.mod: (New file).
	* gm2/complex/run/pass/complex-run-pass.exp: (New file).
	* gm2/coroutines/pim/run/pass/coroutines-pim-run-pass.exp: (New file).
	* gm2/coroutines/pim/run/pass/testiotransfer.mod: (New file).
	* gm2/coroutines/pim/run/pass/testtransfer.mod: (New file).
	* gm2/cpp/fail/another.h: (New file).
	* gm2/cpp/fail/fail1.mod: (New file).
	* gm2/cpp/longcard2.mod: (New file).
	* gm2/cpp/longstrimp.mod: (New file).
	* gm2/cpp/pass/arrayhuge.mod: (New file).
	* gm2/cpp/pass/arrayhuge2.mod: (New file).
	* gm2/cpp/pass/cpp-pass.exp: (New file).
	* gm2/cpp/pass/cpp.mod: (New file).
	* gm2/cpp/pass/cpph.mod: (New file).
	* gm2/cpp/pass/subaddr.mod: (New file).
	* gm2/cpp/pass/testcpp.mod: (New file).
	* gm2/cpp/pass/testcpp2.mod: (New file).
	* gm2/cpp/setchar2.mod: (New file).
	* gm2/cpp/setchar6.mod: (New file).
	* gm2/cse/fail/cse-fail.exp: (New file).
	* gm2/cse/fail/testcse38.mod: (New file).
	* gm2/cse/pass/cse-pass.exp: (New file).
	* gm2/cse/pass/m2t.c: (New file).
	* gm2/cse/pass/testb.mod: (New file).
	* gm2/cse/pass/testbuiltin.def: (New file).
	* gm2/cse/pass/testbuiltin.mod: (New file).
	* gm2/cse/pass/testcse.def: (New file).
	* gm2/cse/pass/testcse.mod: (New file).
	* gm2/cse/pass/testcse10.mod: (New file).
	* gm2/cse/pass/testcse11.mod: (New file).
	* gm2/cse/pass/testcse12.mod: (New file).
	* gm2/cse/pass/testcse13.mod: (New file).
	* gm2/cse/pass/testcse14.mod: (New file).
	* gm2/cse/pass/testcse15.mod: (New file).
	* gm2/cse/pass/testcse16.mod: (New file).
	* gm2/cse/pass/testcse17.mod: (New file).
	* gm2/cse/pass/testcse18.mod: (New file).
	* gm2/cse/pass/testcse19.mod: (New file).
	* gm2/cse/pass/testcse2.mod: (New file).
	* gm2/cse/pass/testcse20.mod: (New file).
	* gm2/cse/pass/testcse21.mod: (New file).
	* gm2/cse/pass/testcse22.mod: (New file).
	* gm2/cse/pass/testcse23.mod: (New file).
	* gm2/cse/pass/testcse24.mod: (New file).
	* gm2/cse/pass/testcse25.mod: (New file).
	* gm2/cse/pass/testcse26.mod: (New file).
	* gm2/cse/pass/testcse27.mod: (New file).
	* gm2/cse/pass/testcse28.mod: (New file).
	* gm2/cse/pass/testcse29.mod: (New file).
	* gm2/cse/pass/testcse3.mod: (New file).
	* gm2/cse/pass/testcse31.mod: (New file).
	* gm2/cse/pass/testcse32.mod: (New file).
	* gm2/cse/pass/testcse33.mod: (New file).
	* gm2/cse/pass/testcse34.mod: (New file).
	* gm2/cse/pass/testcse35.mod: (New file).
	* gm2/cse/pass/testcse36.mod: (New file).
	* gm2/cse/pass/testcse37.mod: (New file).
	* gm2/cse/pass/testcse39.mod: (New file).
	* gm2/cse/pass/testcse4.c: (New file).
	* gm2/cse/pass/testcse4.mod: (New file).
	* gm2/cse/pass/testcse40.mod: (New file).
	* gm2/cse/pass/testcse41.mod: (New file).
	* gm2/cse/pass/testcse42.mod: (New file).
	* gm2/cse/pass/testcse43.mod: (New file).
	* gm2/cse/pass/testcse44.mod: (New file).
	* gm2/cse/pass/testcse45.mod: (New file).
	* gm2/cse/pass/testcse46.mod: (New file).
	* gm2/cse/pass/testcse47.mod: (New file).
	* gm2/cse/pass/testcse48.mod: (New file).
	* gm2/cse/pass/testcse49.mod: (New file).
	* gm2/cse/pass/testcse5.c: (New file).
	* gm2/cse/pass/testcse5.mod: (New file).
	* gm2/cse/pass/testcse50.def: (New file).
	* gm2/cse/pass/testcse50.mod: (New file).
	* gm2/cse/pass/testcse51.mod: (New file).
	* gm2/cse/pass/testcse52.def: (New file).
	* gm2/cse/pass/testcse52.mod: (New file).
	* gm2/cse/pass/testcse53.def: (New file).
	* gm2/cse/pass/testcse53.mod: (New file).
	* gm2/cse/pass/testcse6.c: (New file).
	* gm2/cse/pass/testcse6.mod: (New file).
	* gm2/cse/pass/testcse7.c: (New file).
	* gm2/cse/pass/testcse7.mod: (New file).
	* gm2/cse/pass/testcse8.c: (New file).
	* gm2/cse/pass/testcse8.mod: (New file).
	* gm2/cse/pass/testcse9.c: (New file).
	* gm2/cse/pass/testsize.mod: (New file).
	* gm2/dynamic/pass/add.mod: (New file).
	* gm2/dynamic/pass/dynamic-pass.exp: (New file).
	* gm2/dynamic/pass/prog21.mod: (New file).
	* gm2/dynamic/pass/testarray.mod: (New file).
	* gm2/dynamic/pass/testarray2.mod: (New file).
	* gm2/dynamic/pass/testarray3.mod: (New file).
	* gm2/dynamic/pass/testarray4.mod: (New file).
	* gm2/dynamic/pass/testarray6.mod: (New file).
	* gm2/dynamic/pass/testbec.mod: (New file).
	* gm2/dynamic/pass/testbec10.mod: (New file).
	* gm2/dynamic/pass/testbec11.mod: (New file).
	* gm2/dynamic/pass/testbec12.mod: (New file).
	* gm2/dynamic/pass/testbec13.mod: (New file).
	* gm2/dynamic/pass/testbec14.mod: (New file).
	* gm2/dynamic/pass/testbec15.mod: (New file).
	* gm2/dynamic/pass/testbec16.mod: (New file).
	* gm2/dynamic/pass/testbec17.mod: (New file).
	* gm2/dynamic/pass/testbec18.mod: (New file).
	* gm2/dynamic/pass/testbec19.mod: (New file).
	* gm2/dynamic/pass/testbec2.mod: (New file).
	* gm2/dynamic/pass/testbec20.mod: (New file).
	* gm2/dynamic/pass/testbec21.mod: (New file).
	* gm2/dynamic/pass/testbec22.mod: (New file).
	* gm2/dynamic/pass/testbec23.mod: (New file).
	* gm2/dynamic/pass/testbec24.mod: (New file).
	* gm2/dynamic/pass/testbec25.mod: (New file).
	* gm2/dynamic/pass/testbec26.mod: (New file).
	* gm2/dynamic/pass/testbec27.mod: (New file).
	* gm2/dynamic/pass/testbec28.mod: (New file).
	* gm2/dynamic/pass/testbec29.mod: (New file).
	* gm2/dynamic/pass/testbec3.mod: (New file).
	* gm2/dynamic/pass/testbec30.mod: (New file).
	* gm2/dynamic/pass/testbec31.mod: (New file).
	* gm2/dynamic/pass/testbec32.mod: (New file).
	* gm2/dynamic/pass/testbec33.mod: (New file).
	* gm2/dynamic/pass/testbec34.mod: (New file).
	* gm2/dynamic/pass/testbec35.mod: (New file).
	* gm2/dynamic/pass/testbec36.mod: (New file).
	* gm2/dynamic/pass/testbec37.mod: (New file).
	* gm2/dynamic/pass/testbec38.mod: (New file).
	* gm2/dynamic/pass/testbec39.mod: (New file).
	* gm2/dynamic/pass/testbec4.mod: (New file).
	* gm2/dynamic/pass/testbec40.mod: (New file).
	* gm2/dynamic/pass/testbec41.mod: (New file).
	* gm2/dynamic/pass/testbec42.mod: (New file).
	* gm2/dynamic/pass/testbec43.mod: (New file).
	* gm2/dynamic/pass/testbec44.mod: (New file).
	* gm2/dynamic/pass/testbec45.mod: (New file).
	* gm2/dynamic/pass/testbec5.mod: (New file).
	* gm2/dynamic/pass/testbec6.mod: (New file).
	* gm2/dynamic/pass/testbec7.mod: (New file).
	* gm2/dynamic/pass/testbec8.mod: (New file).
	* gm2/dynamic/pass/testbec9.mod: (New file).
	* gm2/dynamic/pass/testdavid.mod: (New file).
	* gm2/dynamic/pass/testdiv.mod: (New file).
	* gm2/dynamic/pass/testexp.mod: (New file).
	* gm2/dynamic/pass/testfor.mod: (New file).
	* gm2/dynamic/pass/testfor2.mod: (New file).
	* gm2/dynamic/pass/testfunc.mod: (New file).
	* gm2/dynamic/pass/testfunc2.mod: (New file).
	* gm2/dynamic/pass/testfunc3.mod: (New file).
	* gm2/dynamic/pass/testfunc4.mod: (New file).
	* gm2/dynamic/pass/testfunc5.mod: (New file).
	* gm2/dynamic/pass/testfunc6.mod: (New file).
	* gm2/dynamic/pass/testif.mod: (New file).
	* gm2/dynamic/pass/testit.mod: (New file).
	* gm2/dynamic/pass/testloop.mod: (New file).
	* gm2/dynamic/pass/testloop2.mod: (New file).
	* gm2/dynamic/pass/testloop3.mod: (New file).
	* gm2/dynamic/pass/testloop4.mod: (New file).
	* gm2/dynamic/pass/testloop5.mod: (New file).
	* gm2/dynamic/pass/testmin.mod: (New file).
	* gm2/dynamic/pass/testnum4.mod: (New file).
	* gm2/dynamic/pass/testord.mod: (New file).
	* gm2/dynamic/pass/testparam.mod: (New file).
	* gm2/dynamic/pass/testparam2.mod: (New file).
	* gm2/dynamic/pass/testproc.mod: (New file).
	* gm2/dynamic/pass/testproc2.c: (New file).
	* gm2/dynamic/pass/testproc2.def: (New file).
	* gm2/dynamic/pass/testproc2.mod: (New file).
	* gm2/dynamic/pass/testscn.mod: (New file).
	* gm2/dynamic/pass/testset.mod: (New file).
	* gm2/dynamic/pass/testset2.mod: (New file).
	* gm2/dynamic/pass/testset3.mod: (New file).
	* gm2/dynamic/pass/teststr.c: (New file).
	* gm2/dynamic/pass/teststr.mod: (New file).
	* gm2/dynamic/pass/teststr2.mod: (New file).
	* gm2/dynamic/pass/teststring.mod: (New file).
	* gm2/dynamic/pass/testunbounded.mod: (New file).
	* gm2/dynamic/pass/testwith.mod: (New file).
	* gm2/dynamic/pass/testzero.mod: (New file).
	* gm2/dynamic/pass/wc.mod: (New file).
	* gm2/embedded/pass/embedded-pass.exp: (New file).
	* gm2/embedded/pass/varataddress.mod: (New file).
	* gm2/embedded/pass/varataddress1.mod: (New file).
	* gm2/embedded/pass/varataddress2.mod: (New file).
	* gm2/embedded/pass/varataddress3.mod: (New file).
	* gm2/errors/fail/array1.mod: (New file).
	* gm2/errors/fail/badexpr.mod: (New file).
	* gm2/errors/fail/badfor.mod: (New file).
	* gm2/errors/fail/badhigh.mod: (New file).
	* gm2/errors/fail/badshift.mod: (New file).
	* gm2/errors/fail/badsubexpradr.mod: (New file).
	* gm2/errors/fail/binaryconst.mod: (New file).
	* gm2/errors/fail/binarygeneric.mod: (New file).
	* gm2/errors/fail/binarygenericconst.mod: (New file).
	* gm2/errors/fail/end.mod: (New file).
	* gm2/errors/fail/errors-fail.exp: (New file).
	* gm2/errors/fail/mismatched.mod: (New file).
	* gm2/errors/fail/mismatchedproc.mod: (New file).
	* gm2/errors/fail/nestedproc4.mod: (New file).
	* gm2/errors/fail/nomodule.mod: (New file).
	* gm2/errors/fail/proctype.mod: (New file).
	* gm2/errors/fail/prog110.mod: (New file).
	* gm2/errors/fail/prog111.mod: (New file).
	* gm2/errors/fail/prog113.mod: (New file).
	* gm2/errors/fail/prog114.mod: (New file).
	* gm2/errors/fail/testaddress.mod: (New file).
	* gm2/errors/fail/testarray.mod: (New file).
	* gm2/errors/fail/testbit.mod: (New file).
	* gm2/errors/fail/testbit2.mod: (New file).
	* gm2/errors/fail/testcase.mod: (New file).
	* gm2/errors/fail/testcomment.mod: (New file).
	* gm2/errors/fail/testcomment2.mod: (New file).
	* gm2/errors/fail/testcomment3.mod: (New file).
	* gm2/errors/fail/testconst.mod: (New file).
	* gm2/errors/fail/testdyn.mod: (New file).
	* gm2/errors/fail/testdyn2.mod: (New file).
	* gm2/errors/fail/testdyn3.mod: (New file).
	* gm2/errors/fail/testexp.mod: (New file).
	* gm2/errors/fail/testfio.mod: (New file).
	* gm2/errors/fail/testimport.mod: (New file).
	* gm2/errors/fail/testimport2.def: (New file).
	* gm2/errors/fail/testimport2.mod: (New file).
	* gm2/errors/fail/testinit.mod: (New file).
	* gm2/errors/fail/testmodule.mod: (New file).
	* gm2/errors/fail/testnil.mod: (New file).
	* gm2/errors/fail/testnil2.mod: (New file).
	* gm2/errors/fail/testparam.mod: (New file).
	* gm2/errors/fail/testproc.mod: (New file).
	* gm2/errors/fail/testproc2.mod: (New file).
	* gm2/errors/fail/testsize.mod: (New file).
	* gm2/errors/fail/teststring.mod: (New file).
	* gm2/errors/fail/testsub3.mod: (New file).
	* gm2/errors/fail/testsub4.mod: (New file).
	* gm2/errors/fail/testtype.mod: (New file).
	* gm2/errors/fail/testvar.mod: (New file).
	* gm2/errors/fail/testwith.mod: (New file).
	* gm2/errors/fail/testwrite.mod: (New file).
	* gm2/errors/fail/type.mod: (New file).
	* gm2/errors/fail/unarygeneric.mod: (New file).
	* gm2/errors/mustfail: (New file).
	* gm2/errors/options: (New file).
	* gm2/errors/testchar.mod: (New file).
	* gm2/errors/testsub2.mod: (New file).
	* gm2/examples/callingC/pass/examples-callingC-pass.exp: (New file).
	* gm2/examples/callingC/pass/hello.mod: (New file).
	* gm2/examples/callingC/pass/libprintf.def: (New file).
	* gm2/examples/callingC/run/pass/c.c: (New file).
	* gm2/examples/callingC/run/pass/c.def: (New file).
	* gm2/examples/callingC/run/pass/examples-callingC-run-pass.exp: (New file).
	* gm2/examples/callingC/run/pass/hello.mod: (New file).
	* gm2/examples/callingC/run/pass/libprintf.def: (New file).
	* gm2/examples/callingC/run/pass/m.mod: (New file).
	* gm2/examples/cpp/pass/examples-cpp-pass.exp: (New file).
	* gm2/examples/cpp/pass/hello.mod: (New file).
	* gm2/examples/cppDef/pass/a.def: (New file).
	* gm2/examples/cppDef/pass/a.mod: (New file).
	* gm2/examples/cppDef/pass/b.mod: (New file).
	* gm2/examples/cppDef/pass/examples-cppDef-pass.exp: (New file).
	* gm2/examples/cppDef/pass/libprintf.def: (New file).
	* gm2/examples/hello/pass/examples-hello-pass.exp: (New file).
	* gm2/examples/hello/pass/hello.mod: (New file).
	* gm2/examples/map/pass/AdvMap.def: (New file).
	* gm2/examples/map/pass/AdvMap.mod: (New file).
	* gm2/examples/map/pass/BoxMap.def: (New file).
	* gm2/examples/map/pass/BoxMap.mod: (New file).
	* gm2/examples/map/pass/Chance.def: (New file).
	* gm2/examples/map/pass/Chance.mod: (New file).
	* gm2/examples/map/pass/Find.def: (New file).
	* gm2/examples/map/pass/Find.mod: (New file).
	* gm2/examples/map/pass/Geometry.def: (New file).
	* gm2/examples/map/pass/Geometry.mod: (New file).
	* gm2/examples/map/pass/MakeBoxes.def: (New file).
	* gm2/examples/map/pass/MakeBoxes.mod: (New file).
	* gm2/examples/map/pass/Map.mod: (New file).
	* gm2/examples/map/pass/RoomMap.def: (New file).
	* gm2/examples/map/pass/RoomMap.mod: (New file).
	* gm2/examples/map/pass/Semantic.mod: (New file).
	* gm2/examples/map/pass/StoreCoord.def: (New file).
	* gm2/examples/map/pass/StoreCoord.mod: (New file).
	* gm2/examples/map/pass/StoreCoords.def: (New file).
	* gm2/examples/map/pass/StoreCoords.mod: (New file).
	* gm2/examples/map/pass/WriteMap.def: (New file).
	* gm2/examples/map/pass/WriteMap.mod: (New file).
	* gm2/examples/map/pass/examples-map-pass.exp: (New file).
	* gm2/examples/map/pass/makemaps: (New file).
	* gm2/examples/map/pass/testch2.mod: (New file).
	* gm2/examples/map/pass/testchan.mod: (New file).
	* gm2/examples/map/pass/testcoor.mod: (New file).
	* gm2/examples/map/pass/testmaps: (New file).
	* gm2/exceptions/run/pass/cpp.cpp: (New file).
	* gm2/exceptions/run/pass/cpp.def: (New file).
	* gm2/exceptions/run/pass/exceptions-run-pass.exp: (New file).
	* gm2/exceptions/run/pass/libexcept.mod: (New file).
	* gm2/exceptions/run/pass/m2test.def: (New file).
	* gm2/exceptions/run/pass/m2test.mod: (New file).
	* gm2/exceptions/run/pass/mycpp.cpp: (New file).
	* gm2/exceptions/run/pass/mycpp.def: (New file).
	* gm2/exceptions/run/pass/mym2.mod: (New file).
	* gm2/exceptions/run/pass/mym2a.mod: (New file).
	* gm2/extensions/pass/align.mod: (New file).
	* gm2/extensions/pass/align2.mod: (New file).
	* gm2/extensions/pass/card16p.mod: (New file).
	* gm2/extensions/pass/card32p.mod: (New file).
	* gm2/extensions/pass/card64p.mod: (New file).
	* gm2/extensions/pass/card8p.mod: (New file).
	* gm2/extensions/pass/co.def: (New file).
	* gm2/extensions/pass/co.mod: (New file).
	* gm2/extensions/pass/extensions-pass.exp: (New file).
	* gm2/extensions/pass/frame.mod: (New file).
	* gm2/extensions/pass/hello.mod: (New file).
	* gm2/extensions/pass/int16p.mod: (New file).
	* gm2/extensions/pass/int32p.mod: (New file).
	* gm2/extensions/pass/int64p.mod: (New file).
	* gm2/extensions/pass/int8p.mod: (New file).
	* gm2/extensions/pass/intsize8.mod: (New file).
	* gm2/extensions/pass/jmp.mod: (New file).
	* gm2/extensions/pass/libc.def: (New file).
	* gm2/extensions/pass/optparam.mod: (New file).
	* gm2/extensions/pass/optparam2.mod: (New file).
	* gm2/extensions/pass/return.mod: (New file).
	* gm2/extensions/pass/set8.mod: (New file).
	* gm2/extensions/pass/set8a.mod: (New file).
	* gm2/extensions/pass/set8b.mod: (New file).
	* gm2/extensions/pass/testco.mod: (New file).
	* gm2/extensions/run/fail/extensions-run-fail.exp: (New file).
	* gm2/extensions/run/fail/intsize8.mod: (New file).
	* gm2/extensions/run/pass/align3.mod: (New file).
	* gm2/extensions/run/pass/align4.mod: (New file).
	* gm2/extensions/run/pass/align5.mod: (New file).
	* gm2/extensions/run/pass/align6.mod: (New file).
	* gm2/extensions/run/pass/align7.mod: (New file).
	* gm2/extensions/run/pass/callingc.mod: (New file).
	* gm2/extensions/run/pass/card16p.mod: (New file).
	* gm2/extensions/run/pass/card32p.mod: (New file).
	* gm2/extensions/run/pass/card64p.mod: (New file).
	* gm2/extensions/run/pass/card8p.mod: (New file).
	* gm2/extensions/run/pass/column.mod: (New file).
	* gm2/extensions/run/pass/cvararg.c: (New file).
	* gm2/extensions/run/pass/cvararg.def: (New file).
	* gm2/extensions/run/pass/extensions-run-pass.exp: (New file).
	* gm2/extensions/run/pass/int16p.mod: (New file).
	* gm2/extensions/run/pass/int32p.mod: (New file).
	* gm2/extensions/run/pass/int64p.mod: (New file).
	* gm2/extensions/run/pass/int8field.mod: (New file).
	* gm2/extensions/run/pass/int8p.mod: (New file).
	* gm2/extensions/run/pass/packedrecord.mod: (New file).
	* gm2/extensions/run/pass/packedrecord2.mod: (New file).
	* gm2/extensions/run/pass/real32.mod: (New file).
	* gm2/extensions/run/pass/real32a.mod: (New file).
	* gm2/extensions/run/pass/record.mod: (New file).
	* gm2/extensions/run/pass/testopen.mod: (New file).
	* gm2/extensions/run/pass/vararg.mod: (New file).
	* gm2/extensions/run/pass/vararg2.mod: (New file).
	* gm2/extensions/run/pass/vararg3.mod: (New file).
	* gm2/fpu/pass/five.mod: (New file).
	* gm2/fpu/pass/fp.def: (New file).
	* gm2/fpu/pass/fp.mod: (New file).
	* gm2/fpu/pass/fpu-pass.exp: (New file).
	* gm2/fpu/pass/one.mod: (New file).
	* gm2/fpu/pass/r1.mod: (New file).
	* gm2/fpu/pass/realconst.mod: (New file).
	* gm2/fpu/pass/testfp.mod: (New file).
	* gm2/fpu/pass/testfp2.mod: (New file).
	* gm2/fpu/pass/testfpu1.mod: (New file).
	* gm2/fpu/pass/testfpu2.mod: (New file).
	* gm2/fpu/pass/testfpu3.mod: (New file).
	* gm2/fpu/pass/testsin.mod: (New file).
	* gm2/imports/run/pass/c.def: (New file).
	* gm2/imports/run/pass/c.mod: (New file).
	* gm2/imports/run/pass/imports-run-pass.exp: (New file).
	* gm2/imports/run/pass/innermods.mod: (New file).
	* gm2/imports/run/pass/innermods2.mod: (New file).
	* gm2/imports/run/pass/innermods3.mod: (New file).
	* gm2/imports/run/pass/innermods4.mod: (New file).
	* gm2/imports/run/pass/innermods5.def: (New file).
	* gm2/imports/run/pass/innermods5.mod: (New file).
	* gm2/imports/run/pass/innermods6.mod: (New file).
	* gm2/integer/div.mod: (New file).
	* gm2/integer/expr.mod: (New file).
	* gm2/integer/mod.mod: (New file).
	* gm2/integer/mod2.mod: (New file).
	* gm2/integer/one.mod: (New file).
	* gm2/integer/options: (New file).
	* gm2/integer/zero.mod: (New file).
	* gm2/iso/analysis/fail/Makefile: (New file).
	* gm2/iso/analysis/fail/arithoverflow.mod: (New file).
	* gm2/iso/analysis/fail/arithoverflow2.mod: (New file).
	* gm2/iso/analysis/fail/arithsubcard.mod: (New file).
	* gm2/iso/analysis/fail/arrayrange.mod: (New file).
	* gm2/iso/analysis/fail/assignvalue.mod: (New file).
	* gm2/iso/analysis/fail/callassignment.mod: (New file).
	* gm2/iso/analysis/fail/callassignment2.mod: (New file).
	* gm2/iso/analysis/fail/callassignment3.mod: (New file).
	* gm2/iso/analysis/fail/callassignment4.mod: (New file).
	* gm2/iso/analysis/fail/caserange.mod: (New file).
	* gm2/iso/analysis/fail/decvalue.mod: (New file).
	* gm2/iso/analysis/fail/forloop.mod: (New file).
	* gm2/iso/analysis/fail/incvalue.mod: (New file).
	* gm2/iso/analysis/fail/iso-analysis-fail.exp: (New file).
	* gm2/iso/analysis/fail/noreturn.mod: (New file).
	* gm2/iso/analysis/fail/returnvalue.mod: (New file).
	* gm2/iso/analysis/fail/staticarray.mod: (New file).
	* gm2/iso/check/fail/iso-check-fail.exp: (New file).
	* gm2/iso/check/fail/modulusoverflow.mod: (New file).
	* gm2/iso/fail/badarray.mod: (New file).
	* gm2/iso/fail/badarray2.mod: (New file).
	* gm2/iso/fail/badipv4.mod: (New file).
	* gm2/iso/fail/bug10.mod: (New file).
	* gm2/iso/fail/bug8.mod: (New file).
	* gm2/iso/fail/bug9.mod: (New file).
	* gm2/iso/fail/case.mod: (New file).
	* gm2/iso/fail/case2.mod: (New file).
	* gm2/iso/fail/case3.mod: (New file).
	* gm2/iso/fail/const1.mod: (New file).
	* gm2/iso/fail/constarray.mod: (New file).
	* gm2/iso/fail/constarray2.mod: (New file).
	* gm2/iso/fail/constprocedure.mod: (New file).
	* gm2/iso/fail/constrecord.mod: (New file).
	* gm2/iso/fail/constrecord2.mod: (New file).
	* gm2/iso/fail/constrecord3.mod: (New file).
	* gm2/iso/fail/constsubrange.mod: (New file).
	* gm2/iso/fail/constsubrange2.mod: (New file).
	* gm2/iso/fail/constsubrange3.mod: (New file).
	* gm2/iso/fail/defa.def: (New file).
	* gm2/iso/fail/defa.mod: (New file).
	* gm2/iso/fail/defb.def: (New file).
	* gm2/iso/fail/defb.mod: (New file).
	* gm2/iso/fail/defc.def: (New file).
	* gm2/iso/fail/defc.mod: (New file).
	* gm2/iso/fail/except.mod: (New file).
	* gm2/iso/fail/except2.mod: (New file).
	* gm2/iso/fail/iso-fail.exp: (New file).
	* gm2/iso/fail/isoa.def: (New file).
	* gm2/iso/fail/isoa.mod: (New file).
	* gm2/iso/fail/lengthsubexpr.mod: (New file).
	* gm2/iso/fail/proc.mod: (New file).
	* gm2/iso/fail/realbitscast.mod: (New file).
	* gm2/iso/fail/varient.mod: (New file).
	* gm2/iso/fail/varient2.mod: (New file).
	* gm2/iso/future/builtinlj.mod: (New file).
	* gm2/iso/pass/ChanConsts.def: (New file).
	* gm2/iso/pass/ChanConsts.mod: (New file).
	* gm2/iso/pass/ConvTypes.def: (New file).
	* gm2/iso/pass/ConvTypes.mod: (New file).
	* gm2/iso/pass/addadr1.mod: (New file).
	* gm2/iso/pass/bits32c.mod: (New file).
	* gm2/iso/pass/callwraptime.mod: (New file).
	* gm2/iso/pass/caseiso.mod: (New file).
	* gm2/iso/pass/caseiso2.mod: (New file).
	* gm2/iso/pass/cast.mod: (New file).
	* gm2/iso/pass/cast3.mod: (New file).
	* gm2/iso/pass/castiso.mod: (New file).
	* gm2/iso/pass/const1.mod: (New file).
	* gm2/iso/pass/constreal.mod: (New file).
	* gm2/iso/pass/constructor1.mod: (New file).
	* gm2/iso/pass/constructor2.mod: (New file).
	* gm2/iso/pass/constructor3.mod: (New file).
	* gm2/iso/pass/constructor4.mod: (New file).
	* gm2/iso/pass/constructor5.mod: (New file).
	* gm2/iso/pass/constructor6.mod: (New file).
	* gm2/iso/pass/constsize4.mod: (New file).
	* gm2/iso/pass/delim.mod: (New file).
	* gm2/iso/pass/delim2.mod: (New file).
	* gm2/iso/pass/enummodule.mod: (New file).
	* gm2/iso/pass/except1.mod: (New file).
	* gm2/iso/pass/expproc.mod: (New file).
	* gm2/iso/pass/expproc2.mod: (New file).
	* gm2/iso/pass/iso-pass.exp: (New file).
	* gm2/iso/pass/isob.def: (New file).
	* gm2/iso/pass/isob.mod: (New file).
	* gm2/iso/pass/isobitset.mod: (New file).
	* gm2/iso/pass/isobitset2.mod: (New file).
	* gm2/iso/pass/longm.mod: (New file).
	* gm2/iso/pass/m.mod: (New file).
	* gm2/iso/pass/proccast.mod: (New file).
	* gm2/iso/pass/realbitscast.mod: (New file).
	* gm2/iso/pass/set12.mod: (New file).
	* gm2/iso/pass/stringchar.mod: (New file).
	* gm2/iso/pass/subassign.mod: (New file).
	* gm2/iso/pass/testaddindr.mod: (New file).
	* gm2/iso/pass/testconv.def: (New file).
	* gm2/iso/pass/testconv.mod: (New file).
	* gm2/iso/pass/testconv2.def: (New file).
	* gm2/iso/pass/testconv2.mod: (New file).
	* gm2/iso/pass/testconv3.mod: (New file).
	* gm2/iso/pass/testconv4.mod: (New file).
	* gm2/iso/pass/testconv5.mod: (New file).
	* gm2/iso/pass/testconv6.mod: (New file).
	* gm2/iso/pass/testconv7.mod: (New file).
	* gm2/iso/pass/testconv8.mod: (New file).
	* gm2/iso/pass/testconv9.mod: (New file).
	* gm2/iso/pass/testiso.mod: (New file).
	* gm2/iso/pass/testiso2.mod: (New file).
	* gm2/iso/pass/testisosize.mod: (New file).
	* gm2/iso/pass/testlength.mod: (New file).
	* gm2/iso/pass/testlength2.mod: (New file).
	* gm2/iso/pass/testlength3.mod: (New file).
	* gm2/iso/pass/testlength4.mod: (New file).
	* gm2/iso/pass/testlength5.mod: (New file).
	* gm2/iso/pass/unbounded.mod: (New file).
	* gm2/iso/pass/unbounded2.mod: (New file).
	* gm2/iso/run/pass/adraddress.mod: (New file).
	* gm2/iso/run/pass/adrunbounded3.mod: (New file).
	* gm2/iso/run/pass/baseimport.mod: (New file).
	* gm2/iso/run/pass/compsize.mod: (New file).
	* gm2/iso/run/pass/concurrentstore.mod: (New file).
	* gm2/iso/run/pass/constprocedure.mod: (New file).
	* gm2/iso/run/pass/constructor1.mod: (New file).
	* gm2/iso/run/pass/constructor2.mod: (New file).
	* gm2/iso/run/pass/conststrarray.mod: (New file).
	* gm2/iso/run/pass/contimer.mod: (New file).
	* gm2/iso/run/pass/except.c: (New file).
	* gm2/iso/run/pass/except2.mod: (New file).
	* gm2/iso/run/pass/except3.cpp: (New file).
	* gm2/iso/run/pass/except4.mod: (New file).
	* gm2/iso/run/pass/except5.cpp: (New file).
	* gm2/iso/run/pass/except5.mod: (New file).
	* gm2/iso/run/pass/except6.cpp: (New file).
	* gm2/iso/run/pass/except7.mod: (New file).
	* gm2/iso/run/pass/except8.mod: (New file).
	* gm2/iso/run/pass/fileio.def: (New file).
	* gm2/iso/run/pass/fileio.mod: (New file).
	* gm2/iso/run/pass/hello.mod: (New file).
	* gm2/iso/run/pass/int8field.mod: (New file).
	* gm2/iso/run/pass/iso-run-pass.exp: (New file).
	* gm2/iso/run/pass/long.mod: (New file).
	* gm2/iso/run/pass/long2.mod: (New file).
	* gm2/iso/run/pass/long3.mod: (New file).
	* gm2/iso/run/pass/long4.c: (New file).
	* gm2/iso/run/pass/long4.mod: (New file).
	* gm2/iso/run/pass/minmax.mod: (New file).
	* gm2/iso/run/pass/modulus.mod: (New file).
	* gm2/iso/run/pass/nestediso.mod: (New file).
	* gm2/iso/run/pass/nestedrecord.mod: (New file).
	* gm2/iso/run/pass/onebyte.mod: (New file).
	* gm2/iso/run/pass/onebyte2.mod: (New file).
	* gm2/iso/run/pass/onebyte3.mod: (New file).
	* gm2/iso/run/pass/packed.mod: (New file).
	* gm2/iso/run/pass/proc.c: (New file).
	* gm2/iso/run/pass/proc.mod: (New file).
	* gm2/iso/run/pass/proc2.mod: (New file).
	* gm2/iso/run/pass/returnrecord.mod: (New file).
	* gm2/iso/run/pass/shift.mod: (New file).
	* gm2/iso/run/pass/shift2.mod: (New file).
	* gm2/iso/run/pass/shift3.mod: (New file).
	* gm2/iso/run/pass/shift4.mod: (New file).
	* gm2/iso/run/pass/simple: (New file).
	* gm2/iso/run/pass/simplelarge.mod: (New file).
	* gm2/iso/run/pass/strcons.mod: (New file).
	* gm2/iso/run/pass/strcons2.mod: (New file).
	* gm2/iso/run/pass/t.cpp: (New file).
	* gm2/iso/run/pass/t1.cpp: (New file).
	* gm2/iso/run/pass/testLength.mod: (New file).
	* gm2/iso/run/pass/testarray.mod: (New file).
	* gm2/iso/run/pass/testgeneric.mod: (New file).
	* gm2/iso/run/pass/testlarge.mod: (New file).
	* gm2/iso/run/pass/testsystem.mod: (New file).
	* gm2/iso/run/pass/tinyconst.mod: (New file).
	* gm2/iso/run/pass/tinyconst2.mod: (New file).
	* gm2/iso/run/pass/tinyconst3.mod: (New file).
	* gm2/iso/run/pass/tinyconst4.mod: (New file).
	* gm2/iso/run/pass/tinyconst5.mod: (New file).
	* gm2/iso/run/pass/tinytimer.mod: (New file).
	* gm2/iso/run/pass/trivialmodulus.mod: (New file).
	* gm2/iso/run/pass/tsize.mod: (New file).
	* gm2/iso/run/pass/tsize2.mod: (New file).
	* gm2/iso/run/pass/tstLength.mod: (New file).
	* gm2/iso/run/pass/unbounded.mod: (New file).
	* gm2/iso/run/pass/unbounded2.mod: (New file).
	* gm2/iso/run/pass/unbounded3.mod: (New file).
	* gm2/iso/run/pass/unbounded4.mod: (New file).
	* gm2/iso/run/pass/unbounded5.mod: (New file).
	* gm2/iso/run/pass/unbounded6.mod: (New file).
	* gm2/iso/run/pass/unbounded7.mod: (New file).
	* gm2/iso/run/pass/unbounded8.mod: (New file).
	* gm2/isocoroutines/run/pass/coroutine.mod: (New file).
	* gm2/isocoroutines/run/pass/isocoroutines-run-pass.exp: (New file).
	* gm2/isolib/run/pass/arraycons.mod: (New file).
	* gm2/isolib/run/pass/arraycons2.mod: (New file).
	* gm2/isolib/run/pass/arraycons3.mod: (New file).
	* gm2/isolib/run/pass/arraycons5.mod: (New file).
	* gm2/isolib/run/pass/arraycons6.mod: (New file).
	* gm2/isolib/run/pass/arraycons7.mod: (New file).
	* gm2/isolib/run/pass/arrayconst8.mod: (New file).
	* gm2/isolib/run/pass/exceptiontest.mod: (New file).
	* gm2/isolib/run/pass/filepos.mod: (New file).
	* gm2/isolib/run/pass/hello.mod: (New file).
	* gm2/isolib/run/pass/insert.mod: (New file).
	* gm2/isolib/run/pass/intconv.mod: (New file).
	* gm2/isolib/run/pass/isolib-run-pass.exp: (New file).
	* gm2/isolib/run/pass/longstr.mod: (New file).
	* gm2/isolib/run/pass/openlibc.mod: (New file).
	* gm2/isolib/run/pass/raise.mod: (New file).
	* gm2/isolib/run/pass/raise2.mod: (New file).
	* gm2/isolib/run/pass/readreal.mod: (New file).
	* gm2/isolib/run/pass/real1.mod: (New file).
	* gm2/isolib/run/pass/real2.mod: (New file).
	* gm2/isolib/run/pass/real3.mod: (New file).
	* gm2/isolib/run/pass/realconv.mod: (New file).
	* gm2/isolib/run/pass/realconv2.mod: (New file).
	* gm2/isolib/run/pass/realstr.mod: (New file).
	* gm2/isolib/run/pass/sigfig.mod: (New file).
	* gm2/isolib/run/pass/stringreal2.mod: (New file).
	* gm2/isolib/run/pass/termfile.mod-disabled: (New file).
	* gm2/isolib/run/pass/testappend.mod: (New file).
	* gm2/isolib/run/pass/testinput: (New file).
	* gm2/isolib/run/pass/testio.mod: (New file).
	* gm2/isolib/run/pass/testio2.mod: (New file).
	* gm2/isolib/run/pass/testmem.mod: (New file).
	* gm2/isolib/run/pass/testmem2.mod: (New file).
	* gm2/isolib/run/pass/testnumber: (New file).
	* gm2/isolib/run/pass/tiny.mod: (New file).
	* gm2/isolib/run/pass/tiny2.mod: (New file).
	* gm2/isolib/run/pass/tiny3.mod: (New file).
	* gm2/isolib/run/pass/tiny4.mod: (New file).
	* gm2/isolib/run/pass/tiny5.mod: (New file).
	* gm2/libs/a.def: (New file).
	* gm2/libs/a.mod: (New file).
	* gm2/libs/b.def: (New file).
	* gm2/libs/b.mod: (New file).
	* gm2/libs/testraw.mod: (New file).
	* gm2/link/externalscaffold/pass/hello.mod: (New file).
	* gm2/link/externalscaffold/pass/link-externalscaffold-pass.exp: (New file).
	* gm2/link/externalscaffold/pass/scaffold.c: (New file).
	* gm2/link/pim/fail/import.mod: (New file).
	* gm2/link/pim/fail/link-pim-fail.exp: (New file).
	* gm2/link/pim/pass/link-pim-pass.exp: (New file).
	* gm2/link/pimc/pass/README: (New file).
	* gm2/link/pimc/pass/link-pimc-pass.exp: (New file).
	* gm2/link/pimc/pass/testdtoa.mod: (New file).
	* gm2/link/pimc/pass/testerrno.mod: (New file).
	* gm2/link/pimc/pass/testgetopt.mod: (New file).
	* gm2/link/pimc/pass/testldtoa.mod: (New file).
	* gm2/link/pimc/pass/testlibc.mod: (New file).
	* gm2/link/pimc/pass/testlibc2.mod: (New file).
	* gm2/link/pimc/pass/testsckt.mod: (New file).
	* gm2/link/pimc/pass/testselective.mod: (New file).
	* gm2/link/pimc/pass/testsysexceptions.mod: (New file).
	* gm2/link/pimc/pass/testtermios.mod: (New file).
	* gm2/link/pimc/pass/testunixargs.mod: (New file).
	* gm2/link/pimc/pass/testwrapc.mod: (New file).
	* gm2/linking/libarchive/pass/c.c: (New file).
	* gm2/linking/libarchive/pass/c.def: (New file).
	* gm2/linking/libarchive/pass/d.def: (New file).
	* gm2/linking/libarchive/pass/e.def: (New file).
	* gm2/linking/libarchive/pass/linking-libarchive-pass.exp: (New file).
	* gm2/linking/libarchive/pass/m.mod: (New file).
	* gm2/linking/verbose/pass/hello.mod: (New file).
	* gm2/linking/verbose/pass/linking-verbose-pass.exp: (New file).
	* gm2/pim/fail/TestLong3.mod: (New file).
	* gm2/pim/fail/TestLong6.mod: (New file).
	* gm2/pim/fail/a.def: (New file).
	* gm2/pim/fail/assignbounds.mod: (New file).
	* gm2/pim/fail/assignsubrange.mod: (New file).
	* gm2/pim/fail/assignsubrange2.mod: (New file).
	* gm2/pim/fail/b.def: (New file).
	* gm2/pim/fail/bad.def: (New file).
	* gm2/pim/fail/badconst.mod: (New file).
	* gm2/pim/fail/badfunc.mod: (New file).
	* gm2/pim/fail/badparam.mod: (New file).
	* gm2/pim/fail/badparam2.mod: (New file).
	* gm2/pim/fail/badtype.mod: (New file).
	* gm2/pim/fail/badtypes.mod: (New file).
	* gm2/pim/fail/bits.mod: (New file).
	* gm2/pim/fail/bits2.mod: (New file).
	* gm2/pim/fail/bits3.mod: (New file).
	* gm2/pim/fail/bits4.mod: (New file).
	* gm2/pim/fail/cardword.mod: (New file).
	* gm2/pim/fail/constbec.mod: (New file).
	* gm2/pim/fail/constsize3.mod: (New file).
	* gm2/pim/fail/constvar.mod: (New file).
	* gm2/pim/fail/convert5.mod: (New file).
	* gm2/pim/fail/dupconst.mod: (New file).
	* gm2/pim/fail/dupenum.mod: (New file).
	* gm2/pim/fail/dupfield.mod: (New file).
	* gm2/pim/fail/duptype.mod: (New file).
	* gm2/pim/fail/dupvar.mod: (New file).
	* gm2/pim/fail/expression.mod: (New file).
	* gm2/pim/fail/expression2.mod: (New file).
	* gm2/pim/fail/expression3.mod: (New file).
	* gm2/pim/fail/func.mod: (New file).
	* gm2/pim/fail/good.def: (New file).
	* gm2/pim/fail/good.mod: (New file).
	* gm2/pim/fail/import.mod: (New file).
	* gm2/pim/fail/inserttok.def: (New file).
	* gm2/pim/fail/inserttok.mod: (New file).
	* gm2/pim/fail/integer.mod: (New file).
	* gm2/pim/fail/keyword.mod: (New file).
	* gm2/pim/fail/longtypes2.mod: (New file).
	* gm2/pim/fail/longtypes3.mod: (New file).
	* gm2/pim/fail/multisetf.mod: (New file).
	* gm2/pim/fail/nested3.mod: (New file).
	* gm2/pim/fail/opaque.mod: (New file).
	* gm2/pim/fail/opaque2.mod: (New file).
	* gm2/pim/fail/opasfail.mod: (New file).
	* gm2/pim/fail/opcpfail.mod: (New file).
	* gm2/pim/fail/pim-fail.exp: (New file).
	* gm2/pim/fail/procmod.mod: (New file).
	* gm2/pim/fail/rotate.mod: (New file).
	* gm2/pim/fail/rotate2.mod: (New file).
	* gm2/pim/fail/setbec.mod: (New file).
	* gm2/pim/fail/setequiv.mod: (New file).
	* gm2/pim/fail/setsnulf.mod: (New file).
	* gm2/pim/fail/settype.mod: (New file).
	* gm2/pim/fail/shift.mod: (New file).
	* gm2/pim/fail/shift2.mod: (New file).
	* gm2/pim/fail/subrange7.mod: (New file).
	* gm2/pim/fail/unary.mod: (New file).
	* gm2/pim/fail/undeclared.mod: (New file).
	* gm2/pim/fail/val.mod: (New file).
	* gm2/pim/fail/val2.mod: (New file).
	* gm2/pim/fail/wordconst.mod: (New file).
	* gm2/pim/no-options/run/pass/integer.mod: (New file).
	* gm2/pim/no-options/run/pass/pim-no-options-run-pass.exp: (New file).
	* gm2/pim/options/bounds/fail/IdentifierBug.mod: (New file).
	* gm2/pim/options/bounds/fail/pim-options-bounds-fail.exp: (New file).
	* gm2/pim/options/optimize/run/pass/addition.def: (New file).
	* gm2/pim/options/optimize/run/pass/addition.mod: (New file).
	* gm2/pim/options/optimize/run/pass/concat.mod: (New file).
	* gm2/pim/options/optimize/run/pass/pim-options-optimize-run-pass.exp:
	(New file).
	* gm2/pim/options/optimize/run/pass/testadd.mod: (New file).
	* gm2/pim/pass/ABSBug.mod: (New file).
	* gm2/pim/pass/TestLong4.mod: (New file).
	* gm2/pim/pass/TestLong7.mod: (New file).
	* gm2/pim/pass/TestLong8.mod: (New file).
	* gm2/pim/pass/TestLong9.mod: (New file).
	* gm2/pim/pass/another.mod: (New file).
	* gm2/pim/pass/aochar.mod: (New file).
	* gm2/pim/pass/array.mod: (New file).
	* gm2/pim/pass/array2.mod: (New file).
	* gm2/pim/pass/array3.mod: (New file).
	* gm2/pim/pass/array4.mod: (New file).
	* gm2/pim/pass/array5.mod: (New file).
	* gm2/pim/pass/array6.mod: (New file).
	* gm2/pim/pass/arraybool.mod: (New file).
	* gm2/pim/pass/arraychar.mod: (New file).
	* gm2/pim/pass/arraychar2.mod: (New file).
	* gm2/pim/pass/arraychar3.mod: (New file).
	* gm2/pim/pass/arrayconst1.mod: (New file).
	* gm2/pim/pass/arrayconst2.mod: (New file).
	* gm2/pim/pass/arrayconst3.mod: (New file).
	* gm2/pim/pass/arraydecl.mod: (New file).
	* gm2/pim/pass/arraydim.mod: (New file).
	* gm2/pim/pass/arraydyn.mod: (New file).
	* gm2/pim/pass/arrayeqiv.mod: (New file).
	* gm2/pim/pass/arrayfio.mod: (New file).
	* gm2/pim/pass/arrayhuge.mod: (New file).
	* gm2/pim/pass/arrayhuge2.mod: (New file).
	* gm2/pim/pass/arrayindex.mod: (New file).
	* gm2/pim/pass/arrayindirect.mod: (New file).
	* gm2/pim/pass/arrayinproc.mod: (New file).
	* gm2/pim/pass/arrayint.mod: (New file).
	* gm2/pim/pass/arrayofbyte.mod: (New file).
	* gm2/pim/pass/arrayofcard.mod: (New file).
	* gm2/pim/pass/arrayptr.mod: (New file).
	* gm2/pim/pass/arrayptr2.mod: (New file).
	* gm2/pim/pass/arrayptr3.mod: (New file).
	* gm2/pim/pass/arrayptr4.mod: (New file).
	* gm2/pim/pass/arrayptr5.mod: (New file).
	* gm2/pim/pass/arrayptr6.mod: (New file).
	* gm2/pim/pass/arrayrecord.mod: (New file).
	* gm2/pim/pass/arraytiny.c: (New file).
	* gm2/pim/pass/arraytiny.mod: (New file).
	* gm2/pim/pass/arraytype.mod: (New file).
	* gm2/pim/pass/arraytype2.mod: (New file).
	* gm2/pim/pass/arraytype3.mod: (New file).
	* gm2/pim/pass/arraytype4.mod: (New file).
	* gm2/pim/pass/assignment.mod: (New file).
	* gm2/pim/pass/assignment2.mod: (New file).
	* gm2/pim/pass/assignment3.mod: (New file).
	* gm2/pim/pass/assignment4.mod: (New file).
	* gm2/pim/pass/badpointer.mod: (New file).
	* gm2/pim/pass/bits32.def: (New file).
	* gm2/pim/pass/bits32.mod: (New file).
	* gm2/pim/pass/bits32i.mod: (New file).
	* gm2/pim/pass/bitset.mod: (New file).
	* gm2/pim/pass/bitset2.mod: (New file).
	* gm2/pim/pass/bitset3.mod: (New file).
	* gm2/pim/pass/bitset4.mod: (New file).
	* gm2/pim/pass/bitset5.mod: (New file).
	* gm2/pim/pass/bitsetfunc.mod: (New file).
	* gm2/pim/pass/block.mod: (New file).
	* gm2/pim/pass/blockindirect.mod: (New file).
	* gm2/pim/pass/builtin.def: (New file).
	* gm2/pim/pass/builtin.mod: (New file).
	* gm2/pim/pass/builtin2.mod: (New file).
	* gm2/pim/pass/builtinconst.mod: (New file).
	* gm2/pim/pass/bytearray.mod: (New file).
	* gm2/pim/pass/card.mod: (New file).
	* gm2/pim/pass/card2.mod: (New file).
	* gm2/pim/pass/char.mod: (New file).
	* gm2/pim/pass/char2.mod: (New file).
	* gm2/pim/pass/charproc.mod: (New file).
	* gm2/pim/pass/charset.mod: (New file).
	* gm2/pim/pass/charset2.mod: (New file).
	* gm2/pim/pass/charset3.mod: (New file).
	* gm2/pim/pass/checkparm.def: (New file).
	* gm2/pim/pass/checkparm.mod: (New file).
	* gm2/pim/pass/colour.mod: (New file).
	* gm2/pim/pass/comment1.mod: (New file).
	* gm2/pim/pass/complexarray.mod: (New file).
	* gm2/pim/pass/complextypes.mod: (New file).
	* gm2/pim/pass/constcast.mod: (New file).
	* gm2/pim/pass/constmax.mod: (New file).
	* gm2/pim/pass/constset.mod: (New file).
	* gm2/pim/pass/constset2.mod: (New file).
	* gm2/pim/pass/constset3.mod: (New file).
	* gm2/pim/pass/constsize.mod: (New file).
	* gm2/pim/pass/constsize2.mod: (New file).
	* gm2/pim/pass/convert.mod: (New file).
	* gm2/pim/pass/convert2.mod: (New file).
	* gm2/pim/pass/convert3.mod: (New file).
	* gm2/pim/pass/convert4.mod: (New file).
	* gm2/pim/pass/danglingelse.mod: (New file).
	* gm2/pim/pass/debug: (New file).
	* gm2/pim/pass/defset.def: (New file).
	* gm2/pim/pass/defset.mod: (New file).
	* gm2/pim/pass/deftype.mod: (New file).
	* gm2/pim/pass/divaddr.mod: (New file).
	* gm2/pim/pass/enum.mod: (New file).
	* gm2/pim/pass/enum2.mod: (New file).
	* gm2/pim/pass/enum3.mod: (New file).
	* gm2/pim/pass/file.mod: (New file).
	* gm2/pim/pass/filesystem.mod: (New file).
	* gm2/pim/pass/foo.mod: (New file).
	* gm2/pim/pass/foo2.mod: (New file).
	* gm2/pim/pass/for1.mod: (New file).
	* gm2/pim/pass/function.mod: (New file).
	* gm2/pim/pass/function2.mod: (New file).
	* gm2/pim/pass/gcd.def: (New file).
	* gm2/pim/pass/gcd.mod: (New file).
	* gm2/pim/pass/getconst.mod: (New file).
	* gm2/pim/pass/hello.mod: (New file).
	* gm2/pim/pass/impa.mod: (New file).
	* gm2/pim/pass/impb.def: (New file).
	* gm2/pim/pass/impb.mod: (New file).
	* gm2/pim/pass/impc.def: (New file).
	* gm2/pim/pass/impc.mod: (New file).
	* gm2/pim/pass/impd.mod: (New file).
	* gm2/pim/pass/impe.mod: (New file).
	* gm2/pim/pass/impf.mod: (New file).
	* gm2/pim/pass/impg.mod: (New file).
	* gm2/pim/pass/imph.mod: (New file).
	* gm2/pim/pass/impi.mod: (New file).
	* gm2/pim/pass/impj.mod: (New file).
	* gm2/pim/pass/impk.mod: (New file).
	* gm2/pim/pass/impl.mod: (New file).
	* gm2/pim/pass/impm.mod: (New file).
	* gm2/pim/pass/impn.def: (New file).
	* gm2/pim/pass/impn.mod: (New file).
	* gm2/pim/pass/impo.mod: (New file).
	* gm2/pim/pass/imports.mod: (New file).
	* gm2/pim/pass/impp.def: (New file).
	* gm2/pim/pass/impp.mod: (New file).
	* gm2/pim/pass/impq.def: (New file).
	* gm2/pim/pass/impq.mod: (New file).
	* gm2/pim/pass/incompsets.mod: (New file).
	* gm2/pim/pass/index.mod: (New file).
	* gm2/pim/pass/index2.mod: (New file).
	* gm2/pim/pass/indirect.mod: (New file).
	* gm2/pim/pass/inner.mod: (New file).
	* gm2/pim/pass/inner2.mod: (New file).
	* gm2/pim/pass/int.mod: (New file).
	* gm2/pim/pass/largeset.mod: (New file).
	* gm2/pim/pass/largeset1.mod: (New file).
	* gm2/pim/pass/largeset2.mod: (New file).
	* gm2/pim/pass/largeset3.mod: (New file).
	* gm2/pim/pass/largeset4.mod: (New file).
	* gm2/pim/pass/largeset5.mod: (New file).
	* gm2/pim/pass/largeset6.mod: (New file).
	* gm2/pim/pass/largeset7.mod: (New file).
	* gm2/pim/pass/localmod.mod: (New file).
	* gm2/pim/pass/localproc.mod: (New file).
	* gm2/pim/pass/localvar.mod: (New file).
	* gm2/pim/pass/log: (New file).
	* gm2/pim/pass/longint.mod: (New file).
	* gm2/pim/pass/longint2.mod: (New file).
	* gm2/pim/pass/longmm.mod: (New file).
	* gm2/pim/pass/longreal.mod: (New file).
	* gm2/pim/pass/longtypes.mod: (New file).
	* gm2/pim/pass/longtypes3.mod: (New file).
	* gm2/pim/pass/longtypes4.mod: (New file).
	* gm2/pim/pass/longtypes5.mod: (New file).
	* gm2/pim/pass/longtypes6.mod: (New file).
	* gm2/pim/pass/loopexit.mod: (New file).
	* gm2/pim/pass/math.mod: (New file).
	* gm2/pim/pass/maxlongint.mod: (New file).
	* gm2/pim/pass/maxreal.mod: (New file).
	* gm2/pim/pass/maxreal2.mod: (New file).
	* gm2/pim/pass/minmaxconst.mod: (New file).
	* gm2/pim/pass/minmaxconst2.mod: (New file).
	* gm2/pim/pass/modaddr.mod: (New file).
	* gm2/pim/pass/multaddr.mod: (New file).
	* gm2/pim/pass/multiple.mod: (New file).
	* gm2/pim/pass/multiset.mod: (New file).
	* gm2/pim/pass/multtypes.mod: (New file).
	* gm2/pim/pass/mydef.def: (New file).
	* gm2/pim/pass/negatives.def: (New file).
	* gm2/pim/pass/negatives.mod: (New file).
	* gm2/pim/pass/nested.mod: (New file).
	* gm2/pim/pass/nested2.mod: (New file).
	* gm2/pim/pass/nested3.mod: (New file).
	* gm2/pim/pass/nested4.mod: (New file).
	* gm2/pim/pass/nested5.mod: (New file).
	* gm2/pim/pass/nested6.mod: (New file).
	* gm2/pim/pass/nested7.mod: (New file).
	* gm2/pim/pass/nestedfor.mod: (New file).
	* gm2/pim/pass/nestedif.mod: (New file).
	* gm2/pim/pass/nestedset.mod: (New file).
	* gm2/pim/pass/onezero.mod: (New file).
	* gm2/pim/pass/opaque.def: (New file).
	* gm2/pim/pass/opaque.mod: (New file).
	* gm2/pim/pass/opaque2.mod: (New file).
	* gm2/pim/pass/opaquetype.def: (New file).
	* gm2/pim/pass/opaquetype.mod: (New file).
	* gm2/pim/pass/param.mod: (New file).
	* gm2/pim/pass/param2.mod: (New file).
	* gm2/pim/pass/param3.mod: (New file).
	* gm2/pim/pass/parambool.mod: (New file).
	* gm2/pim/pass/paramreal.mod: (New file).
	* gm2/pim/pass/pim-pass.exp: (New file).
	* gm2/pim/pass/pimimp.mod: (New file).
	* gm2/pim/pass/pointer.mod: (New file).
	* gm2/pim/pass/procadr.mod: (New file).
	* gm2/pim/pass/procconv.mod: (New file).
	* gm2/pim/pass/procconv2.mod: (New file).
	* gm2/pim/pass/procedure1.mod: (New file).
	* gm2/pim/pass/procedure2.mod: (New file).
	* gm2/pim/pass/procindirect.mod: (New file).
	* gm2/pim/pass/procmod.mod: (New file).
	* gm2/pim/pass/procmod2.mod: (New file).
	* gm2/pim/pass/procmod3.mod: (New file).
	* gm2/pim/pass/procmod31.mod: (New file).
	* gm2/pim/pass/procmod4.mod: (New file).
	* gm2/pim/pass/procmod5.mod: (New file).
	* gm2/pim/pass/procmod6.def: (New file).
	* gm2/pim/pass/procmod6.mod: (New file).
	* gm2/pim/pass/procmod7.mod: (New file).
	* gm2/pim/pass/procmod8.mod: (New file).
	* gm2/pim/pass/procmod9.mod: (New file).
	* gm2/pim/pass/proctype.mod: (New file).
	* gm2/pim/pass/proctype2.def: (New file).
	* gm2/pim/pass/proctype3.mod: (New file).
	* gm2/pim/pass/proctype4.mod: (New file).
	* gm2/pim/pass/program.mod: (New file).
	* gm2/pim/pass/program2.mod: (New file).
	* gm2/pim/pass/ptrarray.mod: (New file).
	* gm2/pim/pass/ptrarray2.mod: (New file).
	* gm2/pim/pass/ptrarray3.mod: (New file).
	* gm2/pim/pass/ptrcard.mod: (New file).
	* gm2/pim/pass/quads.def: (New file).
	* gm2/pim/pass/quads.mod: (New file).
	* gm2/pim/pass/real.mod: (New file).
	* gm2/pim/pass/real2.mod: (New file).
	* gm2/pim/pass/real3.mod: (New file).
	* gm2/pim/pass/realconst.mod: (New file).
	* gm2/pim/pass/realneg.mod: (New file).
	* gm2/pim/pass/realneg2.mod: (New file).
	* gm2/pim/pass/realone.mod: (New file).
	* gm2/pim/pass/realsize.mod: (New file).
	* gm2/pim/pass/record1.mod: (New file).
	* gm2/pim/pass/record10.mod: (New file).
	* gm2/pim/pass/record11.mod: (New file).
	* gm2/pim/pass/record12.def: (New file).
	* gm2/pim/pass/record13.def: (New file).
	* gm2/pim/pass/record14.def: (New file).
	* gm2/pim/pass/record15.def: (New file).
	* gm2/pim/pass/record16.def: (New file).
	* gm2/pim/pass/record2.mod: (New file).
	* gm2/pim/pass/record3.mod: (New file).
	* gm2/pim/pass/record4.mod: (New file).
	* gm2/pim/pass/record5.mod: (New file).
	* gm2/pim/pass/record6.mod: (New file).
	* gm2/pim/pass/record7.mod: (New file).
	* gm2/pim/pass/record8.mod: (New file).
	* gm2/pim/pass/record9.mod: (New file).
	* gm2/pim/pass/recordarray.c: (New file).
	* gm2/pim/pass/recordarray.mod: (New file).
	* gm2/pim/pass/recordarray2.mod: (New file).
	* gm2/pim/pass/redef.mod: (New file).
	* gm2/pim/pass/set10.mod: (New file).
	* gm2/pim/pass/set11.def: (New file).
	* gm2/pim/pass/set11.mod: (New file).
	* gm2/pim/pass/set12.mod: (New file).
	* gm2/pim/pass/set4.mod: (New file).
	* gm2/pim/pass/set5.mod: (New file).
	* gm2/pim/pass/set6.mod: (New file).
	* gm2/pim/pass/set7.mod: (New file).
	* gm2/pim/pass/set8.mod: (New file).
	* gm2/pim/pass/set9.mod: (New file).
	* gm2/pim/pass/setchar.mod: (New file).
	* gm2/pim/pass/setchar10.mod: (New file).
	* gm2/pim/pass/setchar11.mod: (New file).
	* gm2/pim/pass/setchar3.mod: (New file).
	* gm2/pim/pass/setchar4.mod: (New file).
	* gm2/pim/pass/setchar5.mod: (New file).
	* gm2/pim/pass/setchar7.mod: (New file).
	* gm2/pim/pass/setchar8.mod: (New file).
	* gm2/pim/pass/setchar9.mod: (New file).
	* gm2/pim/pass/setconst.mod: (New file).
	* gm2/pim/pass/setconst2.mod: (New file).
	* gm2/pim/pass/setconst3.mod: (New file).
	* gm2/pim/pass/setenum.mod: (New file).
	* gm2/pim/pass/setimp.mod: (New file).
	* gm2/pim/pass/setimp2.mod: (New file).
	* gm2/pim/pass/setofchar.mod: (New file).
	* gm2/pim/pass/setoverflow.mod: (New file).
	* gm2/pim/pass/sets.mod: (New file).
	* gm2/pim/pass/sets2.mod: (New file).
	* gm2/pim/pass/sets3.mod: (New file).
	* gm2/pim/pass/sets4.mod: (New file).
	* gm2/pim/pass/sets5.mod: (New file).
	* gm2/pim/pass/sets6.mod: (New file).
	* gm2/pim/pass/setsnul.mod: (New file).
	* gm2/pim/pass/settest1.mod: (New file).
	* gm2/pim/pass/settest2.mod: (New file).
	* gm2/pim/pass/settest3.mod: (New file).
	* gm2/pim/pass/simpleproc.mod: (New file).
	* gm2/pim/pass/sizes.mod: (New file).
	* gm2/pim/pass/sizetype.mod: (New file).
	* gm2/pim/pass/smallset1.mod: (New file).
	* gm2/pim/pass/smallset2.mod: (New file).
	* gm2/pim/pass/smallset3.mod: (New file).
	* gm2/pim/pass/smallset4.mod: (New file).
	* gm2/pim/pass/smallset5.mod: (New file).
	* gm2/pim/pass/smallset6.mod: (New file).
	* gm2/pim/pass/smallset7.mod: (New file).
	* gm2/pim/pass/stabs.mod: (New file).
	* gm2/pim/pass/stdio.mod: (New file).
	* gm2/pim/pass/str1.mod: (New file).
	* gm2/pim/pass/str2.mod: (New file).
	* gm2/pim/pass/str3.mod: (New file).
	* gm2/pim/pass/str4.mod: (New file).
	* gm2/pim/pass/str5.mod: (New file).
	* gm2/pim/pass/stressset.mod: (New file).
	* gm2/pim/pass/stringassign.mod: (New file).
	* gm2/pim/pass/stringopaq.mod: (New file).
	* gm2/pim/pass/strings.mod: (New file).
	* gm2/pim/pass/strparam.def: (New file).
	* gm2/pim/pass/strparam.mod: (New file).
	* gm2/pim/pass/subrange.mod: (New file).
	* gm2/pim/pass/subrange10.mod: (New file).
	* gm2/pim/pass/subrange11.mod: (New file).
	* gm2/pim/pass/subrange12.mod: (New file).
	* gm2/pim/pass/subrange14.mod: (New file).
	* gm2/pim/pass/subrange15.mod: (New file).
	* gm2/pim/pass/subrange16.mod: (New file).
	* gm2/pim/pass/subrange17.mod: (New file).
	* gm2/pim/pass/subrange2.mod: (New file).
	* gm2/pim/pass/subrange3.mod: (New file).
	* gm2/pim/pass/subrange4.mod: (New file).
	* gm2/pim/pass/subrange5.mod: (New file).
	* gm2/pim/pass/subrange6.mod: (New file).
	* gm2/pim/pass/subrange7.mod: (New file).
	* gm2/pim/pass/subrange8.mod: (New file).
	* gm2/pim/pass/subrange9.mod: (New file).
	* gm2/pim/pass/test2recursive.mod: (New file).
	* gm2/pim/pass/testabs.mod: (New file).
	* gm2/pim/pass/testbuiltin.mod: (New file).
	* gm2/pim/pass/testbuiltin2.mod: (New file).
	* gm2/pim/pass/testbuiltstr.mod: (New file).
	* gm2/pim/pass/testcap.mod: (New file).
	* gm2/pim/pass/testcap2.mod: (New file).
	* gm2/pim/pass/testcard.mod: (New file).
	* gm2/pim/pass/testcard2.mod: (New file).
	* gm2/pim/pass/testcard3.mod: (New file).
	* gm2/pim/pass/testcard4.mod: (New file).
	* gm2/pim/pass/testcard5.mod: (New file).
	* gm2/pim/pass/testcase.mod: (New file).
	* gm2/pim/pass/testcase2.mod: (New file).
	* gm2/pim/pass/testcase3.mod: (New file).
	* gm2/pim/pass/testcase4.mod: (New file).
	* gm2/pim/pass/testchar.mod: (New file).
	* gm2/pim/pass/testfloat.mod: (New file).
	* gm2/pim/pass/testfloat2.mod: (New file).
	* gm2/pim/pass/testfloat3.mod: (New file).
	* gm2/pim/pass/testfloat4.mod: (New file).
	* gm2/pim/pass/testfor.mod: (New file).
	* gm2/pim/pass/testimpvar.mod: (New file).
	* gm2/pim/pass/testlong3.mod: (New file).
	* gm2/pim/pass/testmod.mod: (New file).
	* gm2/pim/pass/testmod2.mod: (New file).
	* gm2/pim/pass/testodd.mod: (New file).
	* gm2/pim/pass/testopaque.mod: (New file).
	* gm2/pim/pass/testopaque2.mod: (New file).
	* gm2/pim/pass/testopaque3.mod: (New file).
	* gm2/pim/pass/testord.mod: (New file).
	* gm2/pim/pass/testparam.mod: (New file).
	* gm2/pim/pass/testparam2.mod: (New file).
	* gm2/pim/pass/testparam3.mod: (New file).
	* gm2/pim/pass/testpimsize.mod: (New file).
	* gm2/pim/pass/testrecursive.def: (New file).
	* gm2/pim/pass/testrecursive.mod: (New file).
	* gm2/pim/pass/testreturnstr.mod: (New file).
	* gm2/pim/pass/testset.mod: (New file).
	* gm2/pim/pass/testshort.mod: (New file).
	* gm2/pim/pass/testsinf.mod: (New file).
	* gm2/pim/pass/testsinl.mod: (New file).
	* gm2/pim/pass/testsize.mod: (New file).
	* gm2/pim/pass/testvar.mod: (New file).
	* gm2/pim/pass/testvarin.mod: (New file).
	* gm2/pim/pass/timeio.mod: (New file).
	* gm2/pim/pass/timeio2.mod: (New file).
	* gm2/pim/pass/timeio3.mod: (New file).
	* gm2/pim/pass/timeio4.mod: (New file).
	* gm2/pim/pass/timeio5.mod: (New file).
	* gm2/pim/pass/timeio6.mod: (New file).
	* gm2/pim/pass/timeio7.mod: (New file).
	* gm2/pim/pass/timeio8.mod: (New file).
	* gm2/pim/pass/timeio9.mod: (New file).
	* gm2/pim/pass/tinyalloc.mod: (New file).
	* gm2/pim/pass/tinyarray.mod: (New file).
	* gm2/pim/pass/tinyarray2.mod: (New file).
	* gm2/pim/pass/tinyarray3.mod: (New file).
	* gm2/pim/pass/tinyarray4.mod: (New file).
	* gm2/pim/pass/tinyarray5.mod: (New file).
	* gm2/pim/pass/tinyarray6.mod: (New file).
	* gm2/pim/pass/tinyassign.def: (New file).
	* gm2/pim/pass/tinyassign.mod: (New file).
	* gm2/pim/pass/tinyassign2.mod: (New file).
	* gm2/pim/pass/tinyassign3.mod: (New file).
	* gm2/pim/pass/tinyassign4.mod: (New file).
	* gm2/pim/pass/tinyassign5.mod: (New file).
	* gm2/pim/pass/tinybitset.mod: (New file).
	* gm2/pim/pass/tinyelse.mod: (New file).
	* gm2/pim/pass/tinyenum.mod: (New file).
	* gm2/pim/pass/tinyfor.mod: (New file).
	* gm2/pim/pass/tinyfor2.mod: (New file).
	* gm2/pim/pass/tinyfor3.mod: (New file).
	* gm2/pim/pass/tinyhalt.mod: (New file).
	* gm2/pim/pass/tinyhello.mod: (New file).
	* gm2/pim/pass/tinyif.mod: (New file).
	* gm2/pim/pass/tinyif2.mod: (New file).
	* gm2/pim/pass/tinyif3.mod: (New file).
	* gm2/pim/pass/tinyif4.mod: (New file).
	* gm2/pim/pass/tinyif5.mod: (New file).
	* gm2/pim/pass/tinyif6.mod: (New file).
	* gm2/pim/pass/tinyif7.mod: (New file).
	* gm2/pim/pass/tinyif8.mod: (New file).
	* gm2/pim/pass/tinyimp.mod: (New file).
	* gm2/pim/pass/tinylit.mod: (New file).
	* gm2/pim/pass/tinylit2.mod: (New file).
	* gm2/pim/pass/tinymax.mod: (New file).
	* gm2/pim/pass/tinymod.mod: (New file).
	* gm2/pim/pass/tinynode.mod: (New file).
	* gm2/pim/pass/tinyparam.mod: (New file).
	* gm2/pim/pass/tinyparam2.mod: (New file).
	* gm2/pim/pass/tinyplus.mod: (New file).
	* gm2/pim/pass/tinyproc.mod: (New file).
	* gm2/pim/pass/tinyproc2.mod: (New file).
	* gm2/pim/pass/tinyproc3.mod: (New file).
	* gm2/pim/pass/tinyproc4.mod: (New file).
	* gm2/pim/pass/tinyproc5.mod: (New file).
	* gm2/pim/pass/tinyproc6.mod: (New file).
	* gm2/pim/pass/tinyptr.mod: (New file).
	* gm2/pim/pass/tinyreal.mod: (New file).
	* gm2/pim/pass/tinyrecord.mod: (New file).
	* gm2/pim/pass/tinyrepeat.mod: (New file).
	* gm2/pim/pass/tinyset6.mod: (New file).
	* gm2/pim/pass/tinyset7.mod: (New file).
	* gm2/pim/pass/tinystate.mod: (New file).
	* gm2/pim/pass/tinysub.def: (New file).
	* gm2/pim/pass/tinytest.mod: (New file).
	* gm2/pim/pass/tinytrue.mod: (New file).
	* gm2/pim/pass/tinyvar.mod: (New file).
	* gm2/pim/pass/tinyvar2.mod: (New file).
	* gm2/pim/pass/tinyvar3.mod: (New file).
	* gm2/pim/pass/tinyvar4.mod: (New file).
	* gm2/pim/pass/tinyvar5.mod: (New file).
	* gm2/pim/pass/tinyvarient.mod: (New file).
	* gm2/pim/pass/tinyvarient2.mod: (New file).
	* gm2/pim/pass/tinyvarient3.def: (New file).
	* gm2/pim/pass/tinyvarient3.mod: (New file).
	* gm2/pim/pass/tinyvarient4.mod: (New file).
	* gm2/pim/pass/tinyvarient5.mod: (New file).
	* gm2/pim/pass/tinyvarient6.mod: (New file).
	* gm2/pim/pass/tinywhile.mod: (New file).
	* gm2/pim/pass/tinywith.mod: (New file).
	* gm2/pim/pass/tinywith2.mod: (New file).
	* gm2/pim/pass/tinywith3.mod: (New file).
	* gm2/pim/pass/tinywith4.mod: (New file).
	* gm2/pim/pass/tinywith5.mod: (New file).
	* gm2/pim/pass/tinywith6.mod: (New file).
	* gm2/pim/pass/trunc.mod: (New file).
	* gm2/pim/pass/try: (New file).
	* gm2/pim/pass/typeequiv.mod: (New file).
	* gm2/pim/pass/typeequiv2.mod: (New file).
	* gm2/pim/pass/typeequiv3.mod: (New file).
	* gm2/pim/pass/typeonly.def: (New file).
	* gm2/pim/pass/typeonly.mod: (New file).
	* gm2/pim/pass/typesize.mod: (New file).
	* gm2/pim/pass/unbounded.mod: (New file).
	* gm2/pim/pass/unbounded2.mod: (New file).
	* gm2/pim/pass/unbounded3.mod: (New file).
	* gm2/pim/pass/v.def: (New file).
	* gm2/pim/pass/varaddress.mod: (New file).
	* gm2/pim/pass/varaddress2.mod: (New file).
	* gm2/pim/pass/varaddress3.mod: (New file).
	* gm2/pim/pass/varcard.mod: (New file).
	* gm2/pim/pass/variant9.mod: (New file).
	* gm2/pim/pass/varient.mod: (New file).
	* gm2/pim/pass/varient2.mod: (New file).
	* gm2/pim/pass/varient3.mod: (New file).
	* gm2/pim/pass/varient4.mod: (New file).
	* gm2/pim/pass/varient5.mod: (New file).
	* gm2/pim/pass/varient6.mod: (New file).
	* gm2/pim/pass/varient7.mod: (New file).
	* gm2/pim/pass/varient8.mod: (New file).
	* gm2/pim/pass/varin.def: (New file).
	* gm2/pim/pass/varin.mod: (New file).
	* gm2/pim/pass/varint.mod: (New file).
	* gm2/pim/pass/wincat.mod: (New file).
	* gm2/pim/pass/with.mod: (New file).
	* gm2/pim/pass/wordconst.mod: (New file).
	* gm2/pim/run/fail/case.mod: (New file).
	* gm2/pim/run/fail/nil.mod: (New file).
	* gm2/pim/run/fail/pim-run-fail.exp: (New file).
	* gm2/pim/run/pass/Countdown.mod: (New file).
	* gm2/pim/run/pass/EndFor.def: (New file).
	* gm2/pim/run/pass/EndFor.mod: (New file).
	* gm2/pim/run/pass/EnumTest.mod: (New file).
	* gm2/pim/run/pass/For1.mod: (New file).
	* gm2/pim/run/pass/For10.mod: (New file).
	* gm2/pim/run/pass/For11.mod: (New file).
	* gm2/pim/run/pass/For12.mod: (New file).
	* gm2/pim/run/pass/For2.mod: (New file).
	* gm2/pim/run/pass/For3.mod: (New file).
	* gm2/pim/run/pass/For4.mod: (New file).
	* gm2/pim/run/pass/For5.mod: (New file).
	* gm2/pim/run/pass/For6.mod: (New file).
	* gm2/pim/run/pass/For7.mod: (New file).
	* gm2/pim/run/pass/For8.mod: (New file).
	* gm2/pim/run/pass/For9.mod: (New file).
	* gm2/pim/run/pass/FpuIOBug.mod: (New file).
	* gm2/pim/run/pass/MaxReal.mod: (New file).
	* gm2/pim/run/pass/MaxReal2.mod: (New file).
	* gm2/pim/run/pass/TestLong.mod: (New file).
	* gm2/pim/run/pass/TestLong2.mod: (New file).
	* gm2/pim/run/pass/TestLong4.mod: (New file).
	* gm2/pim/run/pass/TestLong5.mod: (New file).
	* gm2/pim/run/pass/addrarray.mod: (New file).
	* gm2/pim/run/pass/arraychar.mod: (New file).
	* gm2/pim/run/pass/arraychar2.mod: (New file).
	* gm2/pim/run/pass/arrayrecord.mod: (New file).
	* gm2/pim/run/pass/bitsettest.def: (New file).
	* gm2/pim/run/pass/bitsettest.mod: (New file).
	* gm2/pim/run/pass/bytearray.mod: (New file).
	* gm2/pim/run/pass/constdynstr.mod: (New file).
	* gm2/pim/run/pass/conststr.mod: (New file).
	* gm2/pim/run/pass/conststr2.mod: (New file).
	* gm2/pim/run/pass/cycles.mod: (New file).
	* gm2/pim/run/pass/dec.mod: (New file).
	* gm2/pim/run/pass/enums.mod: (New file).
	* gm2/pim/run/pass/incsubrange.def: (New file).
	* gm2/pim/run/pass/incsubrange.mod: (New file).
	* gm2/pim/run/pass/index3.mod: (New file).
	* gm2/pim/run/pass/int16.mod: (New file).
	* gm2/pim/run/pass/int32.mod: (New file).
	* gm2/pim/run/pass/int8.mod: (New file).
	* gm2/pim/run/pass/line.mod: (New file).
	* gm2/pim/run/pass/long.mod: (New file).
	* gm2/pim/run/pass/longfor.mod: (New file).
	* gm2/pim/run/pass/longtypes10.mod: (New file).
	* gm2/pim/run/pass/longtypes7.mod: (New file).
	* gm2/pim/run/pass/longtypes8.mod: (New file).
	* gm2/pim/run/pass/longtypes9.mod: (New file).
	* gm2/pim/run/pass/math.mod: (New file).
	* gm2/pim/run/pass/math2.mod: (New file).
	* gm2/pim/run/pass/mathconst.mod: (New file).
	* gm2/pim/run/pass/minhello.mod: (New file).
	* gm2/pim/run/pass/minimal.mod: (New file).
	* gm2/pim/run/pass/nestedproc.mod: (New file).
	* gm2/pim/run/pass/nestedproc2.mod: (New file).
	* gm2/pim/run/pass/nestedproc3.mod: (New file).
	* gm2/pim/run/pass/nestedproc4.mod: (New file).
	* gm2/pim/run/pass/nestedproc5.mod: (New file).
	* gm2/pim/run/pass/nestedproc6.mod: (New file).
	* gm2/pim/run/pass/nestedproc7.mod: (New file).
	* gm2/pim/run/pass/nestedwith.mod: (New file).
	* gm2/pim/run/pass/nestedwith2.mod: (New file).
	* gm2/pim/run/pass/nestedwith3.mod: (New file).
	* gm2/pim/run/pass/nothing.mod: (New file).
	* gm2/pim/run/pass/pim-run-pass.exp: (New file).
	* gm2/pim/run/pass/prog31ex.mod: (New file).
	* gm2/pim/run/pass/rts.mod: (New file).
	* gm2/pim/run/pass/setcritical.mod: (New file).
	* gm2/pim/run/pass/setequiv.mod: (New file).
	* gm2/pim/run/pass/str6.mod: (New file).
	* gm2/pim/run/pass/stringaddr.mod: (New file).
	* gm2/pim/run/pass/stringaddr2.def: (New file).
	* gm2/pim/run/pass/stringaddr2.mod: (New file).
	* gm2/pim/run/pass/stripped.mod: (New file).
	* gm2/pim/run/pass/sys.def: (New file).
	* gm2/pim/run/pass/sys.mod: (New file).
	* gm2/pim/run/pass/t.def: (New file).
	* gm2/pim/run/pass/testaddr.mod: (New file).
	* gm2/pim/run/pass/testaddr2.mod: (New file).
	* gm2/pim/run/pass/testaddr3.mod: (New file).
	* gm2/pim/run/pass/testarray.mod: (New file).
	* gm2/pim/run/pass/testarray2.mod: (New file).
	* gm2/pim/run/pass/testarray3.mod: (New file).
	* gm2/pim/run/pass/testarray4.mod: (New file).
	* gm2/pim/run/pass/testarray5.mod: (New file).
	* gm2/pim/run/pass/testavail.mod: (New file).
	* gm2/pim/run/pass/testdiv.mod: (New file).
	* gm2/pim/run/pass/testfpufunc.mod: (New file).
	* gm2/pim/run/pass/testfpufunc2.mod: (New file).
	* gm2/pim/run/pass/testlarge.mod: (New file).
	* gm2/pim/run/pass/testlarge2.mod: (New file).
	* gm2/pim/run/pass/testnextproc.mod: (New file).
	* gm2/pim/run/pass/testparam.mod: (New file).
	* gm2/pim/run/pass/testreturnstr.mod: (New file).
	* gm2/pim/run/pass/testreturnstr2.mod: (New file).
	* gm2/pim/run/pass/testreturnstr3.def: (New file).
	* gm2/pim/run/pass/testreturnstr3.mod: (New file).
	* gm2/pim/run/pass/testsize.mod: (New file).
	* gm2/pim/run/pass/testsize2.mod: (New file).
	* gm2/pim/run/pass/testsize3.mod: (New file).
	* gm2/pim/run/pass/testsize4.mod: (New file).
	* gm2/pim/run/pass/testtbitsize.mod: (New file).
	* gm2/pim/run/pass/tinywith.mod: (New file).
	* gm2/pim/run/pass/unbounded.mod: (New file).
	* gm2/pim/run/pass/varaddress3.mod: (New file).
	* gm2/pim/run/pass/varparam2.mod: (New file).
	* gm2/pim/run/pass/varparam3.mod: (New file).
	* gm2/pim/run/pass/varparm.mod: (New file).
	* gm2/pim/run/pass/wr.mod: (New file).
	* gm2/pimcoroutines/pass/imports.mod: (New file).
	* gm2/pimcoroutines/pass/imports2.mod: (New file).
	* gm2/pimcoroutines/pass/pimcoroutines-pass.exp: (New file).
	* gm2/pimcoroutines/run/pass/pimcoroutines-run-pass.exp: (New file).
	* gm2/pimcoroutines/run/pass/testtime.mod: (New file).
	* gm2/pimlib/base/run/pass/FIO.mod: (New file).
	* gm2/pimlib/base/run/pass/StrLib.mod: (New file).
	* gm2/pimlib/base/run/pass/pimlib-base-run-pass.exp: (New file).
	* gm2/pimlib/base/run/pass/testconvert.mod: (New file).
	* gm2/pimlib/coroutines/pass/pimlib-coroutines-pass.exp: (New file).
	* gm2/pimlib/coroutines/pass/priority.mod: (New file).
	* gm2/pimlib/coroutines/pass/priority2.mod: (New file).
	* gm2/pimlib/coroutines/pass/priority3.def: (New file).
	* gm2/pimlib/coroutines/pass/priority3.mod: (New file).
	* gm2/pimlib/logitech/pass/LogitechLong.mod: (New file).
	* gm2/pimlib/logitech/pass/hello.mod: (New file).
	* gm2/pimlib/logitech/pass/pimlib-logitech-pass.exp: (New file).
	* gm2/pimlib/logitech/run/pass/bbits.mod: (New file).
	* gm2/pimlib/logitech/run/pass/hello.mod: (New file).
	* gm2/pimlib/logitech/run/pass/helloinout.mod: (New file).
	* gm2/pimlib/logitech/run/pass/intb.mod: (New file).
	* gm2/pimlib/logitech/run/pass/pimlib-logitech-run-pass.exp: (New file).
	* gm2/pimlib/logitech/run/pass/realconv.mod: (New file).
	* gm2/pimlib/logitech/run/pass/realinput.mod: (New file).
	* gm2/pimlib/logitech/run/pass/realinput2.mod: (New file).
	* gm2/pimlib/logitech/run/pass/realinput3.mod: (New file).
	* gm2/pimlib/logitech/run/pass/rename.mod: (New file).
	* gm2/pimlib/logitech/run/pass/timedate.mod: (New file).
	* gm2/pimlib/logitech/run/pass/writeoct.mod: (New file).
	* gm2/pimlib/pass/pimlib-pass.exp: (New file).
	* gm2/pimlib/run/pass/format.mod: (New file).
	* gm2/pimlib/run/pass/limittests.c: (New file).
	* gm2/pimlib/run/pass/limittests.mod: (New file).
	* gm2/pimlib/run/pass/longreal.mod: (New file).
	* gm2/pimlib/run/pass/pimlib-run-pass.exp: (New file).
	* gm2/pimlib/run/pass/test.c: (New file).
	* gm2/pimlib/run/pass/testreal.mod: (New file).
	* gm2/pimlib/run/pass/testreal2.mod: (New file).
	* gm2/pimlib/run/pass/testreal4.mod: (New file).
	* gm2/projects/README: (New file).
	* gm2/projects/iso/run/pass/halma/halma.mod: (New file).
	* gm2/projects/iso/run/pass/halma/projects-iso-run-pass-halma.exp:
	(New file).
	* gm2/projects/iso/run/pass/hello/hello.mod: (New file).
	* gm2/projects/iso/run/pass/hello/projects-iso-run-pass-hello.exp:
	(New file).
	* gm2/projects/log/run/pass/hello/hello.mod: (New file).
	* gm2/projects/log/run/pass/hello/projects-log-run-pass-hello.exp:
	(New file).
	* gm2/projects/pim/run/pass/hello/hello.mod: (New file).
	* gm2/projects/pim/run/pass/hello/projects-pim-run-pass-hello.exp:
	(New file).
	* gm2/projects/pim/run/pass/random/AdvMap.def: (New file).
	* gm2/projects/pim/run/pass/random/AdvMap.mod: (New file).
	* gm2/projects/pim/run/pass/random/BoxMap.def: (New file).
	* gm2/projects/pim/run/pass/random/BoxMap.mod: (New file).
	* gm2/projects/pim/run/pass/random/Chance.def: (New file).
	* gm2/projects/pim/run/pass/random/Chance.mod: (New file).
	* gm2/projects/pim/run/pass/random/Geometry.def: (New file).
	* gm2/projects/pim/run/pass/random/Geometry.mod: (New file).
	* gm2/projects/pim/run/pass/random/MakeBoxes.def: (New file).
	* gm2/projects/pim/run/pass/random/MakeBoxes.mod: (New file).
	* gm2/projects/pim/run/pass/random/Map.mod: (New file).
	* gm2/projects/pim/run/pass/random/MapOptions.def: (New file).
	* gm2/projects/pim/run/pass/random/MapOptions.mod: (New file).
	* gm2/projects/pim/run/pass/random/Options.def: (New file).
	* gm2/projects/pim/run/pass/random/Options.mod: (New file).
	* gm2/projects/pim/run/pass/random/RoomMap.def: (New file).
	* gm2/projects/pim/run/pass/random/RoomMap.mod: (New file).
	* gm2/projects/pim/run/pass/random/StoreCoords.def: (New file).
	* gm2/projects/pim/run/pass/random/StoreCoords.mod: (New file).
	* gm2/projects/pim/run/pass/random/WriteMap.def: (New file).
	* gm2/projects/pim/run/pass/random/WriteMap.mod: (New file).
	* gm2/projects/pim/run/pass/random/projects-pim-run-pass-random.exp:
	(New file).
	* gm2/quads/run/pass/becomes.mod: (New file).
	* gm2/quads/run/pass/param.mod: (New file).
	* gm2/quads/run/pass/quads-run-pass.exp: (New file).
	* gm2/quads/run/pass/return.mod: (New file).
	* gm2/recover/pass/cannot-solve/begin.mod: (New file).
	* gm2/recover/pass/cannot-solve/statementsemi.mod: (New file).
	* gm2/recover/pass/end2.mod: (New file).
	* gm2/recover/pass/of.mod: (New file).
	* gm2/recover/pass/procsemi.mod: (New file).
	* gm2/recover/pass/recover-pass.exp: (New file).
	* gm2/recover/pass/rrbra.mod: (New file).
	* gm2/recover/pass/rsbra.mod: (New file).
	* gm2/recover/pass/semi.mod: (New file).
	* gm2/run/fail/list.mod: (New file).
	* gm2/run/fail/options: (New file).
	* gm2/run/fail/testdec.mod: (New file).
	* gm2/run/fail/testfunc.mod: (New file).
	* gm2/run/pass/cycles.mod: (New file).
	* gm2/run/pass/line.mod: (New file).
	* gm2/run/pass/nestedproc.mod: (New file).
	* gm2/run/pass/nestedproc2.mod: (New file).
	* gm2/run/pass/nestedproc3.mod: (New file).
	* gm2/run/pass/nestedproc5.mod: (New file).
	* gm2/run/pass/nestedset.mod: (New file).
	* gm2/run/pass/nothing.mod: (New file).
	* gm2/run/pass/options: (New file).
	* gm2/run/pass/prog31ex.mod: (New file).
	* gm2/run/pass/rts.mod: (New file).
	* gm2/run/pass/stripped.mod: (New file).
	* gm2/run/pass/testavail.mod: (New file).
	* gm2/run/pass/testfpufunc.mod: (New file).
	* gm2/run/pass/testfpufunc2.mod: (New file).
	* gm2/run/pass/testnextproc.mod: (New file).
	* gm2/run/pass/testparam.mod: (New file).
	* gm2/run/pass/testsize.mod: (New file).
	* gm2/run/pass/testsize2.mod: (New file).
	* gm2/run/pass/testsize3.mod: (New file).
	* gm2/run/pass/wr.mod: (New file).
	* gm2/scripts/addit: (New file).
	* gm2/scripts/comp: (New file).
	* gm2/scripts/compile: (New file).
	* gm2/scripts/compileiso: (New file).
	* gm2/scripts/link: (New file).
	* gm2/scripts/regression: (New file).
	* gm2/scripts/subit: (New file).
	* gm2/sets/run/pass/multisetarith.mod: (New file).
	* gm2/sets/run/pass/multisetarith2.mod: (New file).
	* gm2/sets/run/pass/multisetarith3.mod: (New file).
	* gm2/sets/run/pass/multisetarith4.mod: (New file).
	* gm2/sets/run/pass/multisetrotate.mod: (New file).
	* gm2/sets/run/pass/multisetrotate2.mod: (New file).
	* gm2/sets/run/pass/multisetrotate3.mod: (New file).
	* gm2/sets/run/pass/multisetrotate4.mod: (New file).
	* gm2/sets/run/pass/multisetshift.mod: (New file).
	* gm2/sets/run/pass/multisetshift2.mod: (New file).
	* gm2/sets/run/pass/multisimple.mod: (New file).
	* gm2/sets/run/pass/multisimple2.mod: (New file).
	* gm2/sets/run/pass/multisimple3.mod: (New file).
	* gm2/sets/run/pass/multisimple4.mod: (New file).
	* gm2/sets/run/pass/multisimple5.mod: (New file).
	* gm2/sets/run/pass/multisimple6.mod: (New file).
	* gm2/sets/run/pass/multisimple7.mod: (New file).
	* gm2/sets/run/pass/setarith.mod: (New file).
	* gm2/sets/run/pass/setarith2.mod: (New file).
	* gm2/sets/run/pass/setarith3.mod: (New file).
	* gm2/sets/run/pass/setarith4.mod: (New file).
	* gm2/sets/run/pass/setrotate.mod: (New file).
	* gm2/sets/run/pass/setrotate2.mod: (New file).
	* gm2/sets/run/pass/setrotate3.mod: (New file).
	* gm2/sets/run/pass/setrotate4.mod: (New file).
	* gm2/sets/run/pass/sets-run-pass.exp: (New file).
	* gm2/sets/run/pass/setshift.mod: (New file).
	* gm2/sets/run/pass/setshift2.mod: (New file).
	* gm2/sets/run/pass/simple.mod: (New file).
	* gm2/sets/run/pass/simple2.mod: (New file).
	* gm2/sets/run/pass/simple3.mod: (New file).
	* gm2/sets/run/pass/simple4.mod: (New file).
	* gm2/sets/run/pass/simple5.mod: (New file).
	* gm2/sets/run/pass/simple6.mod: (New file).
	* gm2/sets/run/pass/simple7.mod: (New file).
	* gm2/switches/auto-init/fail/switches-auto-init-fail.exp: (New file).
	* gm2/switches/auto-init/fail/uninitptr.mod: (New file).
	* gm2/switches/auto-init/fail/uninitptr2.mod: (New file).
	* gm2/switches/check-all/pim2/fail/overflow.mod: (New file).
	* gm2/switches/check-all/pim2/fail/overflow2.mod: (New file).
	* gm2/switches/check-all/pim2/fail/overflowdiv1.mod: (New file).
	* gm2/switches/check-all/pim2/fail/switches-check-all-pim2-fail.exp:
	(New file).
	* gm2/switches/check-all/plugin/iso/fail/divceilposneg.mod: (New file).
	* gm2/switches/check-all/plugin/iso/fail/divceilposneg2.mod: (New file).
	* gm2/switches/check-all/plugin/iso/fail/divceilposnegcall.mod: (New file).
	* gm2/switches/check-all/plugin/iso/fail/divceilposnegcall2.mod: (New file).
	* gm2/switches/check-all/plugin/iso/fail/divfloornegpos.mod: (New file).
	* gm2/switches/check-all/plugin/iso/fail/divfloorpospos.mod: (New file).
	* gm2/switches/check-all/plugin/iso/fail/lowdiv.mod: (New file).
	* gm2/switches/check-all/plugin/iso/fail/switches-check-all-plugin-iso-fail.exp:
	(New file).
	* gm2/switches/check-all/plugin/pim2/fail/divceil.mod: (New file).
	* gm2/switches/check-all/plugin/pim2/fail/highdiv.mod: (New file).
	* gm2/switches/check-all/plugin/pim2/fail/modulus.mod: (New file).
	* gm2/switches/check-all/plugin/pim2/fail/plugin1.mod: (New file).
	* gm2/switches/check-all/plugin/pim2/fail/plugin3.mod: (New file).
	* gm2/switches/check-all/plugin/pim2/fail/plugin4.def: (New file).
	* gm2/switches/check-all/plugin/pim2/fail/plugin4.mod: (New file).
	* gm2/switches/check-all/plugin/pim2/fail/plugin5.def: (New file).
	* gm2/switches/check-all/plugin/pim2/fail/plugin5.mod: (New file).
	* gm2/switches/check-all/plugin/pim2/fail/plugin6.def: (New file).
	* gm2/switches/check-all/plugin/pim2/fail/plugin6.mod: (New file).
	* gm2/switches/check-all/plugin/pim2/fail/plugin7.def: (New file).
	* gm2/switches/check-all/plugin/pim2/fail/plugin7.mod: (New file).
	* gm2/switches/check-all/plugin/pim2/fail/plugin8.def: (New file).
	* gm2/switches/check-all/plugin/pim2/fail/plugin8.mod: (New file).
	* gm2/switches/check-all/plugin/pim2/fail/plugin9.mod: (New file).
	* gm2/switches/check-all/plugin/pim2/fail/switches-check-all-plugin-pim2-fail.exp:
	(New file).
	* gm2/switches/check-all/run/fail/cardrange.mod: (New file).
	* gm2/switches/check-all/run/fail/cardrange2.mod: (New file).
	* gm2/switches/check-all/run/fail/cardrange3.mod: (New file).
	* gm2/switches/check-all/run/fail/intrange.mod: (New file).
	* gm2/switches/check-all/run/fail/intrange2.mod: (New file).
	* gm2/switches/check-all/run/fail/intrange3.mod: (New file).
	* gm2/switches/check-all/run/fail/intrange4.mod: (New file).
	* gm2/switches/check-all/run/fail/intrange5.mod: (New file).
	* gm2/switches/check-all/run/fail/multint1.mod: (New file).
	* gm2/switches/check-all/run/fail/multint2.mod: (New file).
	* gm2/switches/check-all/run/fail/multint3.mod: (New file).
	* gm2/switches/check-all/run/fail/rangesupport.def: (New file).
	* gm2/switches/check-all/run/fail/rangesupport.mod: (New file).
	* gm2/switches/check-all/run/fail/realrange.mod: (New file).
	* gm2/switches/check-all/run/fail/subrange.mod: (New file).
	* gm2/switches/check-all/run/fail/switches-check-all-run-fail.exp:
	(New file).
	* gm2/switches/check-all/run/fail/tinyrange.mod: (New file).
	* gm2/switches/check-all/run/pass/cardrange.mod: (New file).
	* gm2/switches/check-all/run/pass/forcheck.mod: (New file).
	* gm2/switches/check-all/run/pass/subrange.mod: (New file).
	* gm2/switches/check-all/run/pass/switches-check-all-run-pass.exp:
	(New file).
	* gm2/switches/extended-opaque/fail/a.def: (New file).
	* gm2/switches/extended-opaque/fail/a.mod: (New file).
	* gm2/switches/extended-opaque/fail/switches-extended-opaque-fail.exp:
	(New file).
	* gm2/switches/extended-opaque/pass/a.def: (New file).
	* gm2/switches/extended-opaque/pass/a.mod: (New file).
	* gm2/switches/extended-opaque/pass/b.mod: (New file).
	* gm2/switches/extended-opaque/pass/switches-extended-opaque-pass.exp:
	(New file).
	* gm2/switches/iso/run/pass/modulus.mod: (New file).
	* gm2/switches/iso/run/pass/modulus4.mod: (New file).
	* gm2/switches/iso/run/pass/switches-iso-run-pass.exp: (New file).
	* gm2/switches/makeall/fail/switches-makeall-fail.exp: (New file).
	* gm2/switches/makeall/fail/test.def: (New file).
	* gm2/switches/makeall/fail/test.mod: (New file).
	* gm2/switches/makeall/pass/switches-makeall-pass.exp: (New file).
	* gm2/switches/makeall/pass/test.def: (New file).
	* gm2/switches/makeall/pass/test.mod: (New file).
	* gm2/switches/none/run/pass/gm2-none.exp: (New file).
	* gm2/switches/none/run/pass/hello.mod: (New file).
	* gm2/switches/optimization/run/pass/fact.mod: (New file).
	* gm2/switches/optimization/run/pass/switches-optimization-run-pass.exp:
	(New file).
	* gm2/switches/pedantic-params/fail/a.def: (New file).
	* gm2/switches/pedantic-params/fail/a.mod: (New file).
	* gm2/switches/pedantic-params/fail/switches-pedantic-params-fail.exp:
	(New file).
	* gm2/switches/pedantic-params/pass/Strings.def: (New file).
	* gm2/switches/pedantic-params/pass/Strings.mod: (New file).
	* gm2/switches/pedantic-params/pass/Strings2.def: (New file).
	* gm2/switches/pedantic-params/pass/Strings2.mod: (New file).
	* gm2/switches/pedantic-params/pass/switches-pedantic-params-pass.exp:
	(New file).
	* gm2/switches/pedantic/fail/onlywrite.mod: (New file).
	* gm2/switches/pedantic/fail/readb4.mod: (New file).
	* gm2/switches/pic/run/pass/func.c: (New file).
	* gm2/switches/pic/run/pass/func.mod: (New file).
	* gm2/switches/pic/run/pass/func2.c: (New file).
	* gm2/switches/pic/run/pass/func2.mod: (New file).
	* gm2/switches/pic/run/pass/switches-pic-run-pass.exp: (New file).
	* gm2/switches/pim2/run/pass/modulus.mod: (New file).
	* gm2/switches/pim2/run/pass/switches-pim2-run-pass.exp: (New file).
	* gm2/switches/pim3/run/pass/modulus.mod: (New file).
	* gm2/switches/pim3/run/pass/switches-pim3-run-pass.exp: (New file).
	* gm2/switches/pim4/run/pass/FpuIOBug.mod: (New file).
	* gm2/switches/pim4/run/pass/InOutBug.mod: (New file).
	* gm2/switches/pim4/run/pass/NumberIOBug.mod: (New file).
	* gm2/switches/pim4/run/pass/modulus.mod: (New file).
	* gm2/switches/pim4/run/pass/modulus2.mod: (New file).
	* gm2/switches/pim4/run/pass/switches-pim4-run-pass.exp: (New file).
	* gm2/switches/whole-program/pass/run/hello.mod: (New file).
	* gm2/switches/whole-program/pass/run/hello2.mod: (New file).
	* gm2/switches/whole-program/pass/run/switches-whole-program-pass-run.exp:
	(New file).
	* gm2/switches/whole-program/pass/run/tiny.mod: (New file).
	* gm2/switches/whole-program/pass/run/tiny2.mod: (New file).
	* gm2/types/bitset.mod: (New file).
	* gm2/types/bitset2.mod: (New file).
	* gm2/types/bitset3.mod: (New file).
	* gm2/types/charset.mod: (New file).
	* gm2/types/const.mod: (New file).
	* gm2/types/prog35.mod: (New file).
	* gm2/types/real.mod: (New file).
	* gm2/types/run/pass/d.c: (New file).
	* gm2/types/run/pass/d.def: (New file).
	* gm2/types/run/pass/types-run-pass.exp: (New file).
	* gm2/types/run/pass/varient4.mod: (New file).
	* gm2/types/run/pass/varient5.mod: (New file).
	* gm2/types/string.mod: (New file).
	* gm2/types/type1.mod: (New file).
	* gm2/types/type2.mod: (New file).
	* gm2/types/type3.mod: (New file).
	* gm2/types/type4.mod: (New file).
	* gm2/types/varient.mod: (New file).
	* gm2/types/word.mod: (New file).
	* gm2/ulmlib/pass/ulmlib-pass.exp: (New file).
	* gm2/ulmlib/std/pass/ulmlib-std-pass.exp: (New file).
	* gm2/ulmlib/sys/pass/ulmlib-sys-pass.exp: (New file).
	* gm2/warnings/todo/nestedproc6.mod: (New file).
	* gm2/warnings/todo/options: (New file).
	* gm2/warnings/todo/testfor.mod: (New file).
	* gm2/warnings/todo/testfor2.mod: (New file).
	* gm2/warnings/todo/testfor3.mod: (New file).
	* gm2/warnings/todo/testkeywords.mod: (New file).
	* gm2/warnings/todo/testloop.mod: (New file).
	* gm2/warnings/todo/testscope.mod: (New file).
	* gm2/warnings/todo/testscope2.mod: (New file).
	* gm2/x86-asm/asm.mod: (New file).
	* gm2/x86-asm/asm2.mod: (New file).

Signed-off-by: Gaius Mulley <gaiusmod2@gmail.com>
2022-12-14 17:43:08 +00:00

2117 lines
75 KiB
Smarty

[+ AutoGen5 template -*- Mode: Makefile -*-
in
+]
# Makefile.in is generated from Makefile.tpl by 'autogen Makefile.def'.
#
# Makefile for directory with subdirs to build.
# Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
# 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
# Free Software Foundation
#
# This file is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; see the file COPYING3. If not see
# <http://www.gnu.org/licenses/>.
#
# First, test for a proper version of make, but only where one is required.
@if gcc
ifeq (,$(.VARIABLES)) # The variable .VARIABLES, new with 3.80, is never empty.
$(error GNU make version 3.80 or newer is required.)
endif
@endif gcc
# -------------------------------
# Standard Autoconf-set variables
# -------------------------------
VPATH=@srcdir@
build_alias=@build_noncanonical@
build_vendor=@build_vendor@
build_os=@build_os@
build=@build@
host_alias=@host_noncanonical@
host_vendor=@host_vendor@
host_os=@host_os@
host=@host@
target_alias=@target_noncanonical@
target_vendor=@target_vendor@
target_os=@target_os@
target=@target@
program_transform_name = @program_transform_name@
prefix = @prefix@
exec_prefix = @exec_prefix@
srcdir = @srcdir@
bindir = @bindir@
sbindir = @sbindir@
libexecdir = @libexecdir@
datadir = @datadir@
sysconfdir = @sysconfdir@
sharedstatedir = @sharedstatedir@
localstatedir = @localstatedir@
libdir = @libdir@
includedir = @includedir@
oldincludedir = @oldincludedir@
infodir = @infodir@
datarootdir = @datarootdir@
docdir = @docdir@
pdfdir = @pdfdir@
htmldir = @htmldir@
mandir = @mandir@
man1dir = $(mandir)/man1
man2dir = $(mandir)/man2
man3dir = $(mandir)/man3
man4dir = $(mandir)/man4
man5dir = $(mandir)/man5
man6dir = $(mandir)/man6
man7dir = $(mandir)/man7
man8dir = $(mandir)/man8
man9dir = $(mandir)/man9
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_DATA = @INSTALL_DATA@
LN = @LN@
LN_S = @LN_S@
MAINT = @MAINT@
MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
# -------------------------------------------------
# Miscellaneous non-standard autoconf-set variables
# -------------------------------------------------
# The gcc driver likes to know the arguments it was configured with.
TOPLEVEL_CONFIGURE_ARGUMENTS=@TOPLEVEL_CONFIGURE_ARGUMENTS@
tooldir = @tooldir@
build_tooldir = @build_tooldir@
# This is the name of the environment variable used for the path to
# the libraries.
RPATH_ENVVAR = @RPATH_ENVVAR@
# On targets where RPATH_ENVVAR is PATH, a subdirectory of the GCC build path
# is used instead of the directory itself to avoid including built
# executables in PATH.
GCC_SHLIB_SUBDIR = @GCC_SHLIB_SUBDIR@
# If the build should make suitable code for shared host resources.
host_shared = @host_shared@
# Build programs are put under this directory.
BUILD_SUBDIR = @build_subdir@
# This is set by the configure script to the arguments to use when configuring
# directories built for the build system.
BUILD_CONFIGARGS = @build_configargs@ --with-build-subdir="$(BUILD_SUBDIR)"
# Linker flags to use on the host, for stage1 or when not
# bootstrapping.
STAGE1_LDFLAGS = @stage1_ldflags@
# Libraries to use on the host, for stage1 or when not bootstrapping.
STAGE1_LIBS = @stage1_libs@
# Linker flags to use for stage2 and later.
POSTSTAGE1_LDFLAGS = @poststage1_ldflags@
# Libraries to use for stage2 and later.
POSTSTAGE1_LIBS = @poststage1_libs@
# This is the list of variables to export in the environment when
# configuring any subdirectory. It must also be exported whenever
# recursing into a build directory in case that directory's Makefile
# re-runs configure.
BASE_EXPORTS = \
FLEX="$(FLEX)"; export FLEX; \
LEX="$(LEX)"; export LEX; \
BISON="$(BISON)"; export BISON; \
YACC="$(YACC)"; export YACC; \
M4="$(M4)"; export M4; \
SED="$(SED)"; export SED; \
AWK="$(AWK)"; export AWK; \
MAKEINFO="$(MAKEINFO)"; export MAKEINFO;
# This is the list of variables to export in the environment when
# configuring subdirectories for the build system.
BUILD_EXPORTS = \
$(BASE_EXPORTS) \
AR="$(AR_FOR_BUILD)"; export AR; \
AS="$(AS_FOR_BUILD)"; export AS; \
CC="$(CC_FOR_BUILD)"; export CC; \
CFLAGS="$(CFLAGS_FOR_BUILD)"; export CFLAGS; \
CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
CPP="$(CPP_FOR_BUILD)"; export CPP; \
CPPFLAGS="$(CPPFLAGS_FOR_BUILD)"; export CPPFLAGS; \
CXX="$(CXX_FOR_BUILD)"; export CXX; \
CXXFLAGS="$(CXXFLAGS_FOR_BUILD)"; export CXXFLAGS; \
GFORTRAN="$(GFORTRAN_FOR_BUILD)"; export GFORTRAN; \
GOC="$(GOC_FOR_BUILD)"; export GOC; \
GOCFLAGS="$(GOCFLAGS_FOR_BUILD)"; export GOCFLAGS; \
GDC="$(GDC_FOR_BUILD)"; export GDC; \
GDCFLAGS="$(GDCFLAGS_FOR_BUILD)"; export GDCFLAGS; \
GM2="$(GM2_FOR_BUILD)"; export GM2; \
GM2FLAGS="$(GM2FLAGS_FOR_BUILD)"; export GM2FLAGS; \
DLLTOOL="$(DLLTOOL_FOR_BUILD)"; export DLLTOOL; \
DSYMUTIL="$(DSYMUTIL_FOR_BUILD)"; export DSYMUTIL; \
LD="$(LD_FOR_BUILD)"; export LD; \
LDFLAGS="$(LDFLAGS_FOR_BUILD)"; export LDFLAGS; \
NM="$(NM_FOR_BUILD)"; export NM; \
RANLIB="$(RANLIB_FOR_BUILD)"; export RANLIB; \
WINDRES="$(WINDRES_FOR_BUILD)"; export WINDRES; \
WINDMC="$(WINDMC_FOR_BUILD)"; export WINDMC;
# These variables must be set on the make command line for directories
# built for the build system to override those in BASE_FLAGS_TO_PASS.
EXTRA_BUILD_FLAGS = \
CFLAGS="$(CFLAGS_FOR_BUILD)" \
LDFLAGS="$(LDFLAGS_FOR_BUILD)"
# This is the list of directories to built for the host system.
SUBDIRS = @configdirs@
TARGET_CONFIGDIRS = @target_configdirs@
# This is set by the configure script to the arguments to use when configuring
# directories built for the host system.
HOST_CONFIGARGS = @host_configargs@
# Host programs are put under this directory, which is . except if building
# with srcdir=..
HOST_SUBDIR = @host_subdir@
# This is the list of variables to export in the environment when
# configuring subdirectories for the host system. We need to pass
# some to the GCC configure because of its hybrid host/target nature.
HOST_EXPORTS = \
$(BASE_EXPORTS) \
CC="$(CC)"; export CC; \
ADA_CFLAGS="$(ADA_CFLAGS)"; export ADA_CFLAGS; \
CFLAGS="$(CFLAGS)"; export CFLAGS; \
CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
CXX="$(CXX)"; export CXX; \
CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
GFORTRAN="$(GFORTRAN)"; export GFORTRAN; \
GOC="$(GOC)"; export GOC; \
GDC="$(GDC)"; export GDC; \
GM2="$(GM2)"; export GM2; \
AR="$(AR)"; export AR; \
AS="$(AS)"; export AS; \
CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
CPP_FOR_BUILD="$(CPP_FOR_BUILD)"; export CPP_FOR_BUILD; \
CPPFLAGS_FOR_BUILD="$(CPPFLAGS_FOR_BUILD)"; export CPPFLAGS_FOR_BUILD; \
CXX_FOR_BUILD="$(CXX_FOR_BUILD)"; export CXX_FOR_BUILD; \
DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
DSYMUTIL="$(DSYMUTIL)"; export DSYMUTIL; \
LD="$(LD)"; export LD; \
LDFLAGS="$(STAGE1_LDFLAGS) $(LDFLAGS)"; export LDFLAGS; \
NM="$(NM)"; export NM; \
RANLIB="$(RANLIB)"; export RANLIB; \
WINDRES="$(WINDRES)"; export WINDRES; \
WINDMC="$(WINDMC)"; export WINDMC; \
OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
OTOOL="$(OTOOL)"; export OTOOL; \
READELF="$(READELF)"; export READELF; \
AR_FOR_TARGET="$(AR_FOR_TARGET)"; export AR_FOR_TARGET; \
AS_FOR_TARGET="$(AS_FOR_TARGET)"; export AS_FOR_TARGET; \
DSYMUTIL_FOR_TARGET="$(DSYMUTIL_FOR_TARGET)"; export DSYMUTIL_FOR_TARGET; \
GCC_FOR_TARGET="$(GCC_FOR_TARGET) $$TFLAGS"; export GCC_FOR_TARGET; \
LD_FOR_TARGET="$(LD_FOR_TARGET)"; export LD_FOR_TARGET; \
NM_FOR_TARGET="$(NM_FOR_TARGET)"; export NM_FOR_TARGET; \
OBJDUMP_FOR_TARGET="$(OBJDUMP_FOR_TARGET)"; export OBJDUMP_FOR_TARGET; \
OBJCOPY_FOR_TARGET="$(OBJCOPY_FOR_TARGET)"; export OBJCOPY_FOR_TARGET; \
OTOOL_FOR_TARGET="$(OTOOL_FOR_TARGET)"; export OTOOL_FOR_TARGET; \
RANLIB_FOR_TARGET="$(RANLIB_FOR_TARGET)"; export RANLIB_FOR_TARGET; \
READELF_FOR_TARGET="$(READELF_FOR_TARGET)"; export READELF_FOR_TARGET; \
TOPLEVEL_CONFIGURE_ARGUMENTS="$(TOPLEVEL_CONFIGURE_ARGUMENTS)"; export TOPLEVEL_CONFIGURE_ARGUMENTS; \
HOST_LIBS="$(STAGE1_LIBS)"; export HOST_LIBS; \
GMPLIBS="$(HOST_GMPLIBS)"; export GMPLIBS; \
GMPINC="$(HOST_GMPINC)"; export GMPINC; \
ISLLIBS="$(HOST_ISLLIBS)"; export ISLLIBS; \
ISLINC="$(HOST_ISLINC)"; export ISLINC; \
XGCC_FLAGS_FOR_TARGET="$(XGCC_FLAGS_FOR_TARGET)"; export XGCC_FLAGS_FOR_TARGET; \
@if gcc-bootstrap
$(RPATH_ENVVAR)=`echo "$(TARGET_LIB_PATH)$$$(RPATH_ENVVAR)" | sed 's,::*,:,g;s,^:*,,;s,:*$$,,'`; export $(RPATH_ENVVAR); \
@endif gcc-bootstrap
$(RPATH_ENVVAR)=`echo "$(HOST_LIB_PATH)$$$(RPATH_ENVVAR)" | sed 's,::*,:,g;s,^:*,,;s,:*$$,,'`; export $(RPATH_ENVVAR);
POSTSTAGE1_CXX_EXPORT = \
CXX='$(CXX)'; export CXX; \
CXX_FOR_BUILD='$(CXX_FOR_BUILD)'; export CXX_FOR_BUILD;
@if target-libstdc++-v3-bootstrap
# Override the above if we're bootstrapping C++.
POSTSTAGE1_CXX_EXPORT = \
CXX="$(STAGE_CC_WRAPPER) $$r/$(HOST_SUBDIR)/prev-gcc/xg++$(exeext) \
-B$$r/$(HOST_SUBDIR)/prev-gcc/ -B$(build_tooldir)/bin/ -nostdinc++ \
-B$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/src/.libs \
-B$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/libsupc++/.libs \
`if $(LEAN); then echo ' -isystem '; else echo ' -I'; fi`$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/include/$(TARGET_SUBDIR) \
`if $(LEAN); then echo ' -isystem '; else echo ' -I'; fi`$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/include \
`if $(LEAN); then echo ' -isystem '; else echo ' -I'; fi`$$s/libstdc++-v3/libsupc++ \
-L$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/src/.libs \
-L$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/libsupc++/.libs"; \
export CXX; \
CXX_FOR_BUILD="$$CXX"; export CXX_FOR_BUILD;
@endif target-libstdc++-v3-bootstrap
# Similar, for later GCC stages.
POSTSTAGE1_HOST_EXPORTS = \
$(HOST_EXPORTS) \
CC="$(STAGE_CC_WRAPPER) $$r/$(HOST_SUBDIR)/prev-gcc/xgcc$(exeext) \
-B$$r/$(HOST_SUBDIR)/prev-gcc/ -B$(build_tooldir)/bin/ \
$(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export CC; \
CC_FOR_BUILD="$$CC"; export CC_FOR_BUILD; \
$(POSTSTAGE1_CXX_EXPORT) \
$(LTO_EXPORTS) \
GDC="$$r/$(HOST_SUBDIR)/prev-gcc/gdc$(exeext) -B$$r/$(HOST_SUBDIR)/prev-gcc/ \
-B$(build_tooldir)/bin/ $(GDCFLAGS_FOR_TARGET) \
-B$$r/prev-$(TARGET_SUBDIR)/libphobos/libdruntime/gcc \
-B$$r/prev-$(TARGET_SUBDIR)/libphobos/src \
-B$$r/prev-$(TARGET_SUBDIR)/libphobos/src/.libs \
-I$$r/prev-$(TARGET_SUBDIR)/libphobos/libdruntime -I$$s/libphobos/libdruntime \
-L$$r/prev-$(TARGET_SUBDIR)/libphobos/src/.libs \
-B$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/src/.libs \
-L$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/src/.libs"; \
export GDC; \
GDC_FOR_BUILD="$$GDC"; export GDC_FOR_BUILD; \
GNATBIND="$$r/$(HOST_SUBDIR)/prev-gcc/gnatbind"; export GNATBIND; \
LDFLAGS="$(POSTSTAGE1_LDFLAGS) $(BOOT_LDFLAGS)"; export LDFLAGS; \
HOST_LIBS="$(POSTSTAGE1_LIBS)"; export HOST_LIBS;
# Target libraries are put under this directory:
TARGET_SUBDIR = @target_subdir@
# This is set by the configure script to the arguments to use when configuring
# directories built for the target.
TARGET_CONFIGARGS = @target_configargs@ --with-target-subdir="$(TARGET_SUBDIR)"
# This is the list of variables to export in the environment when
# configuring subdirectories for the target system.
BASE_TARGET_EXPORTS = \
$(BASE_EXPORTS) \
AR="$(AR_FOR_TARGET)"; export AR; \
AS="$(COMPILER_AS_FOR_TARGET)"; export AS; \
CC="$(CC_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export CC; \
CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
CPPFLAGS="$(CPPFLAGS_FOR_TARGET)"; export CPPFLAGS; \
CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
GFORTRAN="$(GFORTRAN_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export GFORTRAN; \
GOC="$(GOC_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export GOC; \
GDC="$(GDC_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export GDC; \
GM2="$(GM2_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export GM2; \
DLLTOOL="$(DLLTOOL_FOR_TARGET)"; export DLLTOOL; \
DSYMUTIL="$(DSYMUTIL_FOR_TARGET)"; export DSYMUTIL; \
LD="$(COMPILER_LD_FOR_TARGET)"; export LD; \
LDFLAGS="$(LDFLAGS_FOR_TARGET)"; export LDFLAGS; \
LIPO="$(LIPO_FOR_TARGET)"; export LIPO; \
NM="$(COMPILER_NM_FOR_TARGET)"; export NM; \
OBJDUMP="$(OBJDUMP_FOR_TARGET)"; export OBJDUMP; \
OBJCOPY="$(OBJCOPY_FOR_TARGET)"; export OBJCOPY; \
OTOOL="$(OTOOL_FOR_TARGET)"; export OTOOL; \
RANLIB="$(RANLIB_FOR_TARGET)"; export RANLIB; \
READELF="$(READELF_FOR_TARGET)"; export READELF; \
STRIP="$(STRIP_FOR_TARGET)"; export STRIP; \
WINDRES="$(WINDRES_FOR_TARGET)"; export WINDRES; \
WINDMC="$(WINDMC_FOR_TARGET)"; export WINDMC; \
@if gcc-bootstrap
$(RPATH_ENVVAR)=`echo "$(TARGET_LIB_PATH)$$$(RPATH_ENVVAR)" | sed 's,::*,:,g;s,^:*,,;s,:*$$,,'`; export $(RPATH_ENVVAR); \
@endif gcc-bootstrap
$(RPATH_ENVVAR)=`echo "$(HOST_LIB_PATH)$$$(RPATH_ENVVAR)" | sed 's,::*,:,g;s,^:*,,;s,:*$$,,'`; export $(RPATH_ENVVAR); \
TARGET_CONFIGDIRS="$(TARGET_CONFIGDIRS)"; export TARGET_CONFIGDIRS;
RAW_CXX_TARGET_EXPORTS = \
$(BASE_TARGET_EXPORTS) \
CXX_FOR_TARGET="$(RAW_CXX_FOR_TARGET)"; export CXX_FOR_TARGET; \
CXX="$(RAW_CXX_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export CXX;
NORMAL_TARGET_EXPORTS = \
$(BASE_TARGET_EXPORTS) \
CXX="$(CXX_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export CXX;
# Where to find GMP
HOST_GMPLIBS = @gmplibs@
HOST_GMPINC = @gmpinc@
# Where to find isl
HOST_ISLLIBS = @isllibs@
HOST_ISLINC = @islinc@
# ----------------------------------------------
# Programs producing files for the BUILD machine
# ----------------------------------------------
SHELL = @SHELL@
# pwd command to use. Allow user to override default by setting PWDCMD in
# the environment to account for automounters. The make variable must not
# be called PWDCMD, otherwise the value set here is passed to make
# subprocesses and overrides the setting from the user's environment.
# Don't use PWD since it is a common shell environment variable and we
# don't want to corrupt it.
PWD_COMMAND = $${PWDCMD-pwd}
# compilers to use to create programs which must be run in the build
# environment.
AR_FOR_BUILD = @AR_FOR_BUILD@
AS_FOR_BUILD = @AS_FOR_BUILD@
CC_FOR_BUILD = @CC_FOR_BUILD@
CFLAGS_FOR_BUILD = @CFLAGS_FOR_BUILD@
CPP_FOR_BUILD = @CPP_FOR_BUILD@
CPPFLAGS_FOR_BUILD = @CPPFLAGS_FOR_BUILD@
CXXFLAGS_FOR_BUILD = @CXXFLAGS_FOR_BUILD@
CXX_FOR_BUILD = @CXX_FOR_BUILD@
DLLTOOL_FOR_BUILD = @DLLTOOL_FOR_BUILD@
DSYMUTIL_FOR_BUILD = @DSYMUTIL_FOR_BUILD@
GFORTRAN_FOR_BUILD = @GFORTRAN_FOR_BUILD@
GOC_FOR_BUILD = @GOC_FOR_BUILD@
GDC_FOR_BUILD = @GDC_FOR_BUILD@
GM2_FOR_BUILD = @GM2_FOR_BUILD@
LDFLAGS_FOR_BUILD = @LDFLAGS_FOR_BUILD@
LD_FOR_BUILD = @LD_FOR_BUILD@
NM_FOR_BUILD = @NM_FOR_BUILD@
RANLIB_FOR_BUILD = @RANLIB_FOR_BUILD@
WINDMC_FOR_BUILD = @WINDMC_FOR_BUILD@
WINDRES_FOR_BUILD = @WINDRES_FOR_BUILD@
# Special variables passed down in EXTRA_GCC_FLAGS. They are defined
# here so that they can be overridden by Makefile fragments.
BUILD_PREFIX = @BUILD_PREFIX@
BUILD_PREFIX_1 = @BUILD_PREFIX_1@
# Flags to pass to stage2 and later makes. They are defined
# here so that they can be overridden by Makefile fragments.
BOOT_CFLAGS= -g -O2
BOOT_LDFLAGS=
BOOT_ADAFLAGS= -gnatpg
AWK = @AWK@
SED = @SED@
BISON = @BISON@
YACC = @YACC@
FLEX = @FLEX@
LEX = @LEX@
M4 = @M4@
MAKEINFO = @MAKEINFO@
EXPECT = @EXPECT@
RUNTEST = @RUNTEST@
AUTO_PROFILE = gcc-auto-profile -c 10000000
# This just becomes part of the MAKEINFO definition passed down to
# sub-makes. It lets flags be given on the command line while still
# using the makeinfo from the object tree.
# (Default to avoid splitting info files by setting the threshold high.)
MAKEINFOFLAGS = --split-size=5000000
# ---------------------------------------------
# Programs producing files for the HOST machine
# ---------------------------------------------
AS = @AS@
AR = @AR@
AR_FLAGS = rc
CC = @CC@
CXX = @CXX@
DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
LD = @LD@
LIPO = @LIPO@
NM = @NM@
OBJDUMP = @OBJDUMP@
OTOOL = @OTOOL@
RANLIB = @RANLIB@
READELF = @READELF@
STRIP = @STRIP@
WINDRES = @WINDRES@
WINDMC = @WINDMC@
GDC = @GDC@
GNATBIND = @GNATBIND@
GNATMAKE = @GNATMAKE@
CFLAGS = @CFLAGS@
LDFLAGS = @LDFLAGS@
LIBCFLAGS = $(CFLAGS)
CXXFLAGS = @CXXFLAGS@
LIBCXXFLAGS = $(CXXFLAGS) -fno-implicit-templates
GOCFLAGS = $(CFLAGS)
GDCFLAGS = $(CFLAGS)
GM2FLAGS = $(CFLAGS)
# Pass additional PGO and LTO compiler options to the PGO build.
BUILD_CFLAGS = $(PGO_BUILD_CFLAGS) $(PGO_BUILD_LTO_CFLAGS)
override CFLAGS += $(BUILD_CFLAGS)
override CXXFLAGS += $(BUILD_CFLAGS)
# Additional PGO and LTO compiler options to generate profiling data
# for the PGO build.
PGO_BUILD_GEN_FLAGS_TO_PASS = \
PGO_BUILD_CFLAGS="@PGO_BUILD_GEN_CFLAGS@" \
PGO_BUILD_LTO_CFLAGS="@PGO_BUILD_LTO_CFLAGS@"
# NB: Filter out any compiler options which may fail PGO training runs.
PGO_BUILD_TRAINING_CFLAGS:= \
$(filter-out -Werror=%,$(CFLAGS))
PGO_BUILD_TRAINING_CXXFLAGS:=\
$(filter-out -Werror=%,$(CXXFLAGS))
PGO_BUILD_TRAINING_CFLAGS:= \
$(filter-out -Wall,$(PGO_BUILD_TRAINING_CFLAGS))
PGO_BUILD_TRAINING_CXXFLAGS:= \
$(filter-out -Wall,$(PGO_BUILD_TRAINING_CXXFLAGS))
PGO_BUILD_TRAINING_CFLAGS:= \
$(filter-out -specs=%,$(PGO_BUILD_TRAINING_CFLAGS))
PGO_BUILD_TRAINING_CXXFLAGS:= \
$(filter-out -specs=%,$(PGO_BUILD_TRAINING_CXXFLAGS))
PGO_BUILD_TRAINING_FLAGS_TO_PASS = \
PGO_BUILD_TRAINING=yes \
CFLAGS_FOR_TARGET="$(PGO_BUILD_TRAINING_CFLAGS)" \
CXXFLAGS_FOR_TARGET="$(PGO_BUILD_TRAINING_CXXFLAGS)"
# Ignore "make check" errors in PGO training runs.
PGO_BUILD_TRAINING_MFLAGS = -i
# Additional PGO and LTO compiler options to use profiling data for the
# PGO build.
PGO_BUILD_USE_FLAGS_TO_PASS = \
PGO_BUILD_CFLAGS="@PGO_BUILD_USE_CFLAGS@" \
PGO_BUILD_LTO_CFLAGS="@PGO_BUILD_LTO_CFLAGS@"
# PGO training targets for the PGO build. FIXME: Add gold tests to
# training.
PGO-TRAINING-TARGETS = binutils gas gdb ld sim
PGO_BUILD_TRAINING = $(addprefix maybe-check-,$(PGO-TRAINING-TARGETS))
CREATE_GCOV = create_gcov
TFLAGS =
# Defaults for all stages; some are overridden below.
STAGE_CFLAGS = $(BOOT_CFLAGS)
STAGE_TFLAGS = $(TFLAGS)
STAGE_CONFIGURE_FLAGS=@stage2_werror_flag@
[+ FOR bootstrap-stage +]
# Defaults for stage [+id+]; some are overridden below.
STAGE[+id+]_CFLAGS = $(STAGE_CFLAGS)
STAGE[+id+]_CXXFLAGS = $(CXXFLAGS)
@if target-libstdc++-v3-bootstrap
# Override the above if we're bootstrapping C++.
STAGE[+id+]_CXXFLAGS = $(STAGE[+id+]_CFLAGS)
@endif target-libstdc++-v3-bootstrap
STAGE[+id+]_TFLAGS = $(STAGE_TFLAGS)
STAGE[+id+]_CONFIGURE_FLAGS = $(STAGE_CONFIGURE_FLAGS)
[+ ENDFOR bootstrap-stage +]
# By default, C and C++ are the only stage1 languages, because they are the
# only ones we require to build with the bootstrap compiler, and also the
# only ones useful for building stage2.
STAGE1_CFLAGS = @stage1_cflags@
STAGE1_CHECKING = @stage1_checking@
STAGE1_LANGUAGES = @stage1_languages@
# * We force-disable intermodule optimizations, even if
# --enable-intermodule was passed, since the installed compiler
# probably can't handle them. Luckily, autoconf always respects
# the last argument when conflicting --enable arguments are passed.
# * Likewise, we force-disable coverage flags, since the installed
# compiler probably has never heard of them.
# * We also disable -Wformat, since older GCCs don't understand newer %s.
STAGE1_CONFIGURE_FLAGS = --disable-intermodule $(STAGE1_CHECKING) \
--disable-coverage --enable-languages="$(STAGE1_LANGUAGES)" \
--disable-build-format-warnings
@if target-libphobos-bootstrap
STAGE1_CONFIGURE_FLAGS += --with-libphobos-druntime-only
STAGE2_CONFIGURE_FLAGS += --with-libphobos-druntime-only
@endif target-libphobos-bootstrap
# When using the slow stage1 compiler disable IL verification and forcefully
# enable it when using the stage2 compiler instead. As we later compare
# stage2 and stage3 we are merely avoid doing redundant work, plus we apply
# checking when building all target libraries for release builds.
STAGE1_TFLAGS += -fno-checking
STAGE2_CFLAGS += -fno-checking
STAGE2_TFLAGS += -fno-checking
STAGE3_CFLAGS += -fchecking=1
STAGE3_TFLAGS += -fchecking=1
STAGEprofile_CFLAGS = $(STAGE2_CFLAGS) -fprofile-generate
STAGEprofile_TFLAGS = $(STAGE2_TFLAGS)
STAGEtrain_CFLAGS = $(filter-out -fchecking=1,$(STAGE3_CFLAGS))
STAGEtrain_TFLAGS = $(filter-out -fchecking=1,$(STAGE3_TFLAGS))
STAGEfeedback_CFLAGS = $(STAGE4_CFLAGS) -fprofile-use -fprofile-reproducible=parallel-runs
STAGEfeedback_TFLAGS = $(STAGE4_TFLAGS)
STAGEautoprofile_CFLAGS = $(STAGE2_CFLAGS) -g
STAGEautoprofile_TFLAGS = $(STAGE2_TFLAGS)
STAGEautofeedback_CFLAGS = $(STAGE3_CFLAGS)
STAGEautofeedback_TFLAGS = $(STAGE3_TFLAGS)
do-compare = @do_compare@
do-compare3 = $(do-compare)
# -----------------------------------------------
# Programs producing files for the TARGET machine
# -----------------------------------------------
AR_FOR_TARGET=@AR_FOR_TARGET@
AS_FOR_TARGET=@AS_FOR_TARGET@
CC_FOR_TARGET=$(STAGE_CC_WRAPPER) @CC_FOR_TARGET@
# If GCC_FOR_TARGET is not overriden on the command line, then this
# variable is passed down to the gcc Makefile, where it is used to
# build libgcc2.a. We define it here so that it can itself be
# overridden on the command line.
GCC_FOR_TARGET=$(STAGE_CC_WRAPPER) @GCC_FOR_TARGET@
CXX_FOR_TARGET=$(STAGE_CC_WRAPPER) @CXX_FOR_TARGET@
RAW_CXX_FOR_TARGET=$(STAGE_CC_WRAPPER) @RAW_CXX_FOR_TARGET@
GFORTRAN_FOR_TARGET=$(STAGE_CC_WRAPPER) @GFORTRAN_FOR_TARGET@
GOC_FOR_TARGET=$(STAGE_CC_WRAPPER) @GOC_FOR_TARGET@
GDC_FOR_TARGET=$(STAGE_CC_WRAPPER) @GDC_FOR_TARGET@
GM2_FOR_TARGET=$(STAGE_CC_WRAPPER) @GM2_FOR_TARGET@
DLLTOOL_FOR_TARGET=@DLLTOOL_FOR_TARGET@
DSYMUTIL_FOR_TARGET=@DSYMUTIL_FOR_TARGET@
LD_FOR_TARGET=@LD_FOR_TARGET@
LIPO_FOR_TARGET=@LIPO_FOR_TARGET@
NM_FOR_TARGET=@NM_FOR_TARGET@
OBJDUMP_FOR_TARGET=@OBJDUMP_FOR_TARGET@
OBJCOPY_FOR_TARGET=@OBJCOPY_FOR_TARGET@
OTOOL_FOR_TARGET=@OTOOL_FOR_TARGET@
RANLIB_FOR_TARGET=@RANLIB_FOR_TARGET@
READELF_FOR_TARGET=@READELF_FOR_TARGET@
STRIP_FOR_TARGET=@STRIP_FOR_TARGET@
WINDRES_FOR_TARGET=@WINDRES_FOR_TARGET@
WINDMC_FOR_TARGET=@WINDMC_FOR_TARGET@
COMPILER_AS_FOR_TARGET=@COMPILER_AS_FOR_TARGET@
COMPILER_LD_FOR_TARGET=@COMPILER_LD_FOR_TARGET@
COMPILER_NM_FOR_TARGET=@COMPILER_NM_FOR_TARGET@
CFLAGS_FOR_TARGET = @CFLAGS_FOR_TARGET@
CXXFLAGS_FOR_TARGET = @CXXFLAGS_FOR_TARGET@
LIBCFLAGS_FOR_TARGET = $(CFLAGS_FOR_TARGET)
LIBCXXFLAGS_FOR_TARGET = $(CXXFLAGS_FOR_TARGET) -fno-implicit-templates
LDFLAGS_FOR_TARGET = @LDFLAGS_FOR_TARGET@
GM2FLAGS_FOR_TARGET = -O2 -g
GOCFLAGS_FOR_TARGET = -O2 -g
GDCFLAGS_FOR_TARGET = -O2 -g
FLAGS_FOR_TARGET = @FLAGS_FOR_TARGET@
SYSROOT_CFLAGS_FOR_TARGET = @SYSROOT_CFLAGS_FOR_TARGET@
DEBUG_PREFIX_CFLAGS_FOR_TARGET = @DEBUG_PREFIX_CFLAGS_FOR_TARGET@
XGCC_FLAGS_FOR_TARGET = $(FLAGS_FOR_TARGET) $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)
# ------------------------------------
# Miscellaneous targets and flag lists
# ------------------------------------
# The first rule in the file had better be this one. Don't put any above it.
# This lives here to allow makefile fragments to contain dependencies.
all:
#### host and target specific makefile fragments come in here.
@target_makefile_frag@
@alphaieee_frag@
@ospace_frag@
@host_makefile_frag@
###
# This is the list of directories that may be needed in RPATH_ENVVAR
# so that programs built for the target machine work.
TARGET_LIB_PATH = [+ FOR target_modules +][+
IF lib_path +]$(TARGET_LIB_PATH_[+module+])[+ ENDIF lib_path +][+
ENDFOR target_modules +]$(HOST_LIB_PATH_gcc)
[+ FOR target_modules +][+ IF lib_path +]
@if target-[+module+]
TARGET_LIB_PATH_[+module+] = $$r/$(TARGET_SUBDIR)/[+module+]/[+lib_path+]:
@endif target-[+module+]
[+ ENDIF lib_path +][+ ENDFOR target_modules +]
# This is the list of directories that may be needed in RPATH_ENVVAR
# so that programs built for the host machine work.
HOST_LIB_PATH = [+ FOR host_modules +][+
IF lib_path +]$(HOST_LIB_PATH_[+module+])[+ ENDIF lib_path +][+
ENDFOR host_modules +]
# Define HOST_LIB_PATH_gcc here, for the sake of TARGET_LIB_PATH, ouch
@if gcc
HOST_LIB_PATH_gcc = $$r/$(HOST_SUBDIR)/gcc$(GCC_SHLIB_SUBDIR):$$r/$(HOST_SUBDIR)/prev-gcc$(GCC_SHLIB_SUBDIR):
@endif gcc
[+ FOR host_modules +][+ IF lib_path +]
@if [+module+]
HOST_LIB_PATH_[+module+] = \
$$r/$(HOST_SUBDIR)/[+module+]/[+lib_path+]:[+ IF bootstrap
+]$$r/$(HOST_SUBDIR)/prev-[+module+]/[+lib_path+]:[+ ENDIF bootstrap +]
@endif [+module+]
[+ ENDIF lib_path +][+ ENDFOR host_modules +]
CXX_FOR_TARGET_FLAG_TO_PASS = \
"CXX_FOR_TARGET=$(CXX_FOR_TARGET)"
@if target-libstdc++-v3
# CXX_FOR_TARGET is tricky to get right for target libs that require a
# functional C++ compiler. When we recurse, if we expand
# CXX_FOR_TARGET before configuring libstdc++-v3, we won't get
# libstdc++ include flags from the script. Instead, we get an
# -funconfigured-* word, so that we'll get errors if this invalid C++
# command line is used for anything, but also so that we can use the
# word to decide whether or not to pass on this CXX_FOR_TARGET. If we
# don't pass it on, sub-make will use the default definition, that
# re-expands it at the time of use, so we'll get it right when we need
# it. One potential exception is the expansion of CXX_FOR_TARGET
# passed down as part of CXX within TARGET_FLAGS, but this wouldn't
# really work, for C++ host programs can't depend on the current-stage
# C++ target library.
CXX_FOR_TARGET_FLAG_TO_PASS = \
$(shell if echo "$(CXX_FOR_TARGET)" | grep " -funconfigured-" > /dev/null; then :; else echo '"CXX_FOR_TARGET=$(CXX_FOR_TARGET)"'; fi)
@endif target-libstdc++-v3
# Flags to pass down to all sub-makes. STAGE*FLAGS,
# MAKEINFO and MAKEINFOFLAGS are explicitly passed here to make them
# overrideable (for a bootstrap build stage1 also builds gcc.info).
BASE_FLAGS_TO_PASS =[+ FOR flags_to_pass +][+ IF optional +] \
"`echo '[+flag+]=$([+flag+])' | sed -e s'/[^=][^=]*=$$/XFOO=/'`"[+ ELSE optional +] \
"[+flag+]=$([+flag+])"[+ ENDIF optional+][+ ENDFOR flags_to_pass +][+ FOR bootstrap-stage +] \
"STAGE[+id+]_CFLAGS=$(STAGE[+id+]_CFLAGS)" \
"STAGE[+id+]_CXXFLAGS=$(STAGE[+id+]_CXXFLAGS)" \
"STAGE[+id+]_GENERATOR_CFLAGS=$(STAGE[+id+]_GENERATOR_CFLAGS)" \
"STAGE[+id+]_TFLAGS=$(STAGE[+id+]_TFLAGS)"[+ ENDFOR bootstrap-stage +] \
$(CXX_FOR_TARGET_FLAG_TO_PASS) \
"TFLAGS=$(TFLAGS)" \
"CONFIG_SHELL=$(SHELL)" \
"MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" \
$(if $(LSAN_OPTIONS),"LSAN_OPTIONS=$(LSAN_OPTIONS)")
# We leave this in just in case, but it is not needed anymore.
RECURSE_FLAGS_TO_PASS = $(BASE_FLAGS_TO_PASS)
# Flags to pass down to most sub-makes, in which we're building with
# the host environment.
EXTRA_HOST_FLAGS = \
'AR=$(AR)' \
'AS=$(AS)' \
'CC=$(CC)' \
'CXX=$(CXX)' \
'DLLTOOL=$(DLLTOOL)' \
'DSYMUTIL=$(DSYMUTIL)' \
'GFORTRAN=$(GFORTRAN)' \
'GOC=$(GOC)' \
'GDC=$(GDC)' \
'GM2=$(GM2)' \
'LD=$(LD)' \
'LIPO=$(LIPO)' \
'NM=$(NM)' \
'OBJDUMP=$(OBJDUMP)' \
'OTOOL=$(OTOOL)' \
'RANLIB=$(RANLIB)' \
'READELF=$(READELF)' \
'STRIP=$(STRIP)' \
'WINDRES=$(WINDRES)' \
'WINDMC=$(WINDMC)' \
'CREATE_GCOV=$(CREATE_GCOV)'
FLAGS_TO_PASS = $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS)
# Flags to pass to stage1 or when not bootstrapping.
STAGE1_FLAGS_TO_PASS = \
LDFLAGS="$${LDFLAGS}" \
HOST_LIBS="$${HOST_LIBS}"
# Flags to pass to stage2 and later makes.
POSTSTAGE1_FLAGS_TO_PASS = \
CC="$${CC}" CC_FOR_BUILD="$${CC_FOR_BUILD}" \
CXX="$${CXX}" CXX_FOR_BUILD="$${CXX_FOR_BUILD}" \
GDC="$${GDC}" GDC_FOR_BUILD="$${GDC_FOR_BUILD}" \
GM2="$${GM2}" GM2_FOR_BUILD="$${GM2_FOR_BUILD}" \
GNATBIND="$${GNATBIND}" \
LDFLAGS="$${LDFLAGS}" \
HOST_LIBS="$${HOST_LIBS}" \
$(LTO_FLAGS_TO_PASS) \
"`echo 'ADAFLAGS=$(BOOT_ADAFLAGS)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`"
@if gcc-bootstrap
EXTRA_HOST_EXPORTS = if [ $(current_stage) != stage1 ]; then \
$(POSTSTAGE1_HOST_EXPORTS) \
fi;
EXTRA_BOOTSTRAP_FLAGS = CC="$$CC" CXX="$$CXX" LDFLAGS="$$LDFLAGS"
@endif gcc-bootstrap
# Flags to pass down to makes which are built with the target environment.
# The double $ decreases the length of the command line; those variables
# are set in BASE_FLAGS_TO_PASS, and the sub-make will expand them. The
# *_CFLAGS_FOR_TARGET variables are not passed down and most often empty,
# so we expand them here.
EXTRA_TARGET_FLAGS = \
'AR=$$(AR_FOR_TARGET)' \
'AS=$(COMPILER_AS_FOR_TARGET)' \
'CC=$$(CC_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
'CFLAGS=$$(CFLAGS_FOR_TARGET)' \
'CXX=$$(CXX_FOR_TARGET) -B$$r/$$(TARGET_SUBDIR)/libstdc++-v3/src/.libs \
-B$$r/$$(TARGET_SUBDIR)/libstdc++-v3/libsupc++/.libs \
$$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
'CXXFLAGS=$$(CXXFLAGS_FOR_TARGET)' \
'DLLTOOL=$$(DLLTOOL_FOR_TARGET)' \
'DSYMUTIL=$$(DSYMUTIL_FOR_TARGET)' \
'GFORTRAN=$$(GFORTRAN_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
'GOC=$$(GOC_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
'GOCFLAGS=$$(GOCFLAGS_FOR_TARGET)' \
'GDC=$$(GDC_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
'GDCFLAGS=$$(GDCFLAGS_FOR_TARGET)' \
'GM2=$$(GM2_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
'GM2FLAGS=$$(GM2FLAGS_FOR_TARGET)' \
'LD=$(COMPILER_LD_FOR_TARGET)' \
'LDFLAGS=$$(LDFLAGS_FOR_TARGET)' \
'LIBCFLAGS=$$(LIBCFLAGS_FOR_TARGET)' \
'LIBCXXFLAGS=$$(LIBCXXFLAGS_FOR_TARGET)' \
'NM=$(COMPILER_NM_FOR_TARGET)' \
'OBJDUMP=$$(OBJDUMP_FOR_TARGET)' \
'OBJCOPY=$$(OBJCOPY_FOR_TARGET)' \
'RANLIB=$$(RANLIB_FOR_TARGET)' \
'READELF=$$(READELF_FOR_TARGET)' \
'WINDRES=$$(WINDRES_FOR_TARGET)' \
'WINDMC=$$(WINDMC_FOR_TARGET)' \
'XGCC_FLAGS_FOR_TARGET=$(XGCC_FLAGS_FOR_TARGET)' \
'STAGE1_LDFLAGS=$$(POSTSTAGE1_LDFLAGS)' \
'STAGE1_LIBS=$$(POSTSTAGE1_LIBS)' \
"TFLAGS=$$TFLAGS"
TARGET_FLAGS_TO_PASS = $(BASE_FLAGS_TO_PASS) $(EXTRA_TARGET_FLAGS)
# Flags to pass down to gcc. gcc builds a library, libgcc.a, so it
# unfortunately needs the native compiler and the target ar and
# ranlib.
# If any variables are added here, they must be added to do-*, below.
# The BUILD_* variables are a special case, which are used for the gcc
# cross-building scheme.
EXTRA_GCC_FLAGS = \
"GCC_FOR_TARGET=$(GCC_FOR_TARGET) $$TFLAGS" \
"GM2_FOR_TARGET=$(GM2_FOR_TARGET) $$TFLAGS" \
"`echo 'STMP_FIXPROTO=$(STMP_FIXPROTO)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`" \
"`echo 'LIMITS_H_TEST=$(LIMITS_H_TEST)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`"
GCC_FLAGS_TO_PASS = $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) $(EXTRA_GCC_FLAGS)
@if gcc
BUILD_CONFIG = @BUILD_CONFIG@
ifneq ($(BUILD_CONFIG),)
include $(foreach CONFIG, $(BUILD_CONFIG), $(srcdir)/config/$(CONFIG).mk)
endif
@endif gcc
.PHONY: configure-host
configure-host: [+
FOR host_modules +] \
maybe-configure-[+module+][+
ENDFOR host_modules +]
.PHONY: configure-target
configure-target: [+
FOR target_modules +] \
maybe-configure-target-[+module+][+
ENDFOR target_modules +]
# The target built for a native non-bootstrap build.
.PHONY: all
# --enable-pgo-build enables the PGO build.
# 1. First build with -fprofile-generate.
# 2. Use "make maybe-check-*" to generate profiling data.
# 3. Use "make clean" to remove the previous build.
# 4. Rebuild with -fprofile-use.
all:
@if gcc-bootstrap
[ -f stage_final ] || echo stage3 > stage_final
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(MAKE) $(RECURSE_FLAGS_TO_PASS) `cat stage_final`-bubble
@endif gcc-bootstrap
@: $(MAKE); $(unstage)
+@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
@if gcc-bootstrap
if [ -f stage_last ]; then \
TFLAGS="$(STAGE$(shell test ! -f stage_last || sed s,^stage,, stage_last)_TFLAGS)"; \
$(MAKE) $(TARGET_FLAGS_TO_PASS) all-host all-target; \
else \
@endif gcc-bootstrap
$(MAKE) $(RECURSE_FLAGS_TO_PASS) \
$(PGO_BUILD_GEN_FLAGS_TO_PASS) all-host all-target \
@if pgo-build
&& $(MAKE) $(RECURSE_FLAGS_TO_PASS) \
$(PGO_BUILD_TRAINING_MFLAGS) \
$(PGO_BUILD_TRAINING_FLAGS_TO_PASS) \
$(PGO_BUILD_TRAINING) \
&& $(MAKE) $(RECURSE_FLAGS_TO_PASS) clean \
&& $(MAKE) $(RECURSE_FLAGS_TO_PASS) \
$(PGO_BUILD_USE_FLAGS_TO_PASS) all-host all-target \
@endif pgo-build
@if gcc-bootstrap
; \
fi \
@endif gcc-bootstrap
&& :
.PHONY: all-build
[+ FOR build_modules +]
all-build: maybe-all-build-[+module+][+ ENDFOR build_modules +]
.PHONY: all-host
[+ FOR host_modules +][+ IF bootstrap +]
@if [+module+]-no-bootstrap[+ ENDIF bootstrap +]
all-host: maybe-all-[+module+][+ IF bootstrap +]
@endif [+module+]-no-bootstrap[+ ENDIF bootstrap +][+ ENDFOR host_modules +]
.PHONY: all-target
[+ FOR target_modules +][+ IF bootstrap +]
@if target-[+module+]-no-bootstrap[+ ENDIF bootstrap +]
all-target: maybe-all-target-[+module+][+ IF bootstrap +]
@endif target-[+module+]-no-bootstrap[+
ENDIF bootstrap +][+ ENDFOR target_modules +]
# 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
# dependency (below) of X upon do-X, a ``make X'' will also do this,
# but it may do additional work as well).
[+ FOR recursive_targets +]
.PHONY: do-[+make_target+]
do-[+make_target+]:
@: $(MAKE); $(unstage)
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(MAKE) $(RECURSE_FLAGS_TO_PASS) [+make_target+]-host \
[+make_target+]-target
.PHONY: [+make_target+]-host
[+ FOR host_modules +]
[+make_target+]-host: maybe-[+make_target+]-[+module+][+ ENDFOR host_modules +]
.PHONY: [+make_target+]-target
[+ FOR target_modules +]
[+make_target+]-target: maybe-[+make_target+]-target-[+module+][+ ENDFOR target_modules +]
[+ ENDFOR recursive_targets +]
# Here are the targets which correspond to the do-X targets.
.PHONY: info installcheck dvi pdf html
.PHONY: install-info install-dvi install-pdf install-html
.PHONY: clean distclean mostlyclean maintainer-clean realclean
.PHONY: local-clean local-distclean local-maintainer-clean
info: do-info
installcheck: do-installcheck
dvi: do-dvi
pdf: do-pdf
html: do-html
# Make sure makeinfo is built before we do a `make info', if we're
# in fact building texinfo.
do-info: maybe-all-texinfo
install-info: do-install-info dir.info
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
if [ -f dir.info ]; then \
$(INSTALL_DATA) dir.info $(DESTDIR)$(infodir)/dir.info; \
else true; fi
install-dvi: do-install-dvi
install-pdf: do-install-pdf
install-html: do-install-html
local-clean:
-rm -f *.a TEMP errs core *.o *~ \#* TAGS *.E *.log
local-distclean:
-rm -f Makefile config.status config.cache mh-frag mt-frag
-rm -f maybedep.tmp serdep.tmp stage_final
-if [ "$(TARGET_SUBDIR)" != "." ]; then \
rm -rf $(TARGET_SUBDIR); \
else true; fi
-rm -rf $(BUILD_SUBDIR)
-if [ "$(HOST_SUBDIR)" != "." ]; then \
rm -rf $(HOST_SUBDIR); \
else true; fi
-rm -f texinfo/po/Makefile texinfo/po/Makefile.in texinfo/info/Makefile
-rm -f texinfo/doc/Makefile texinfo/po/POTFILES
-rmdir texinfo/doc texinfo/info texinfo/intl texinfo/lib 2>/dev/null
-rmdir texinfo/makeinfo texinfo/po texinfo/util 2>/dev/null
-rmdir c++tools fastjar gcc gnattools gotools 2>/dev/null
-rmdir libcc1 libiberty texinfo zlib 2>/dev/null
-find . -name config.cache -exec rm -f {} \; \; 2>/dev/null
local-maintainer-clean:
@echo "This command is intended for maintainers to use;"
@echo "it deletes files that may require special tools to rebuild."
clean: do-clean local-clean
mostlyclean: do-mostlyclean local-clean
distclean: do-distclean local-clean local-distclean
maintainer-clean: local-maintainer-clean do-maintainer-clean local-clean
maintainer-clean: local-distclean
realclean: maintainer-clean
# Check target.
.PHONY: check do-check
check: do-check
# Only include modules actually being configured and built.
.PHONY: check-host
check-host: [+
FOR host_modules +] \
maybe-check-[+module+][+
ENDFOR host_modules +]
.PHONY: check-target
check-target: [+
FOR target_modules +] \
maybe-check-target-[+module+][+
ENDFOR target_modules +]
do-check:
@: $(MAKE); $(unstage)
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(MAKE) $(RECURSE_FLAGS_TO_PASS) check-host check-target
# Automated reporting of test results.
warning.log: build.log
$(srcdir)/contrib/warn_summary build.log > $@
mail-report.log:
if test x'$(BOOT_CFLAGS)' != x''; then \
BOOT_CFLAGS='$(BOOT_CFLAGS)'; export BOOT_CFLAGS; \
fi; \
$(srcdir)/contrib/test_summary -t >$@
chmod +x $@
echo If you really want to send e-mail, run ./$@ now
mail-report-with-warnings.log: warning.log
if test x'$(BOOT_CFLAGS)' != x''; then \
BOOT_CFLAGS='$(BOOT_CFLAGS)'; export BOOT_CFLAGS; \
fi; \
$(srcdir)/contrib/test_summary -t -i warning.log >$@
chmod +x $@
echo If you really want to send e-mail, run ./$@ now
# Local Vim config
$(srcdir)/.local.vimrc:
$(LN_S) contrib/vimrc $@
$(srcdir)/.lvimrc:
$(LN_S) contrib/vimrc $@
vimrc: $(srcdir)/.local.vimrc $(srcdir)/.lvimrc
.PHONY: vimrc
# clang-format config
$(srcdir)/.clang-format:
$(LN_S) contrib/clang-format $@
clang-format: $(srcdir)/.clang-format
.PHONY: clang-format
# Installation targets.
.PHONY: install uninstall
install:
@: $(MAKE); $(unstage)
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(MAKE) $(RECURSE_FLAGS_TO_PASS) installdirs install-host install-target
.PHONY: install-host-nogcc
install-host-nogcc: [+
FOR host_modules +][+ IF (not (= (get "module") "gcc")) +] \
maybe-install-[+module+][+ ENDIF +][+
ENDFOR host_modules +]
.PHONY: install-host
install-host: [+
FOR host_modules +] \
maybe-install-[+module+][+
ENDFOR host_modules +]
.PHONY: install-target
install-target: [+
FOR target_modules +] \
maybe-install-target-[+module+][+
ENDFOR target_modules +]
uninstall:
@echo "the uninstall target is not supported in this tree"
.PHONY: install.all
install.all: install-no-fixedincludes
@if [ -f ./gcc/Makefile ]; then \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(HOST_EXPORTS) \
(cd ./gcc && \
$(MAKE) $(FLAGS_TO_PASS) install-headers); \
else \
true; \
fi
# install-no-fixedincludes is used to allow the elaboration of binary packages
# suitable for distribution, where we cannot include the fixed system header
# files.
.PHONY: install-no-fixedincludes
install-no-fixedincludes: installdirs install-host-nogcc \
install-target gcc-install-no-fixedincludes
.PHONY: install-strip
install-strip:
@: $(MAKE); $(unstage)
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(MAKE) $(RECURSE_FLAGS_TO_PASS) installdirs install-strip-host install-strip-target
.PHONY: install-strip-host
install-strip-host: [+
FOR host_modules +] \
maybe-install-strip-[+module+][+
ENDFOR host_modules +]
.PHONY: install-strip-target
install-strip-target: [+
FOR target_modules +] \
maybe-install-strip-target-[+module+][+
ENDFOR target_modules +]
### other supporting targets
MAKEDIRS= \
$(DESTDIR)$(prefix) \
$(DESTDIR)$(exec_prefix)
.PHONY: installdirs
installdirs: mkinstalldirs
$(SHELL) $(srcdir)/mkinstalldirs $(MAKEDIRS)
dir.info: do-install-info
if [ -f $(srcdir)/texinfo/gen-info-dir ]; then \
$(srcdir)/texinfo/gen-info-dir $(DESTDIR)$(infodir) $(srcdir)/texinfo/dir.info-template > dir.info.new; \
mv -f dir.info.new dir.info; \
else true; \
fi
dist:
@echo "Building a full distribution of this tree isn't done"
@echo "via 'make dist'. Check out the etc/ subdirectory"
etags tags: TAGS
# Right now this just builds TAGS in each subdirectory. emacs19 has the
# ability to use several tags files at once, so there is probably no need
# to combine them into one big TAGS file (like CVS 1.3 does). We could
# (if we felt like it) have this Makefile write a piece of elisp which
# the user could load to tell emacs19 where all the TAGS files we just
# built are.
TAGS: do-TAGS
# ------------------------------------
# Macros for configure and all targets
# ------------------------------------
[+ DEFINE configure +]
.PHONY: configure-[+prefix+][+module+] maybe-configure-[+prefix+][+module+]
maybe-configure-[+prefix+][+module+]:
@if gcc-bootstrap
configure-[+prefix+][+module+]: stage_current
@endif gcc-bootstrap
@if [+prefix+][+module+]
maybe-configure-[+prefix+][+module+]: configure-[+prefix+][+module+]
configure-[+prefix+][+module+]: [+ IF bootstrap +][+ ELSE +]
@: $(MAKE); $(unstage)[+ ENDIF bootstrap +]
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
[+ IF check_multilibs
+]echo "Checking multilib configuration for [+module+]..."; \
$(SHELL) $(srcdir)/mkinstalldirs [+subdir+]/[+module+]; \
$(CC_FOR_TARGET) --print-multi-lib > [+subdir+]/[+module+]/multilib.tmp 2> /dev/null; \
if test -r [+subdir+]/[+module+]/multilib.out; then \
if cmp -s [+subdir+]/[+module+]/multilib.tmp [+subdir+]/[+module+]/multilib.out; then \
rm -f [+subdir+]/[+module+]/multilib.tmp; \
else \
rm -f [+subdir+]/[+module+]/Makefile; \
mv [+subdir+]/[+module+]/multilib.tmp [+subdir+]/[+module+]/multilib.out; \
fi; \
else \
mv [+subdir+]/[+module+]/multilib.tmp [+subdir+]/[+module+]/multilib.out; \
fi; \
[+ ENDIF check_multilibs +]test ! -f [+subdir+]/[+module+]/Makefile || exit 0; \
$(SHELL) $(srcdir)/mkinstalldirs [+subdir+]/[+module+]; \
[+exports+] [+extra_exports+] \
echo Configuring in [+subdir+]/[+module+]; \
cd "[+subdir+]/[+module+]" || exit 1; \
case $(srcdir) in \
/* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
*) topdir=`echo [+subdir+]/[+module+]/ | \
sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
esac; \
module_srcdir=[+? module_srcdir (get "module_srcdir") (get "module")+]; \
[+ IF no-config-site +]rm -f no-such-file || : ; \
CONFIG_SITE=no-such-file [+ ENDIF +]$(SHELL) \
$$s/$$module_srcdir/configure \
--srcdir=$${topdir}/$$module_srcdir \
[+args+] --build=${build_alias} --host=[+host_alias+] \
--target=[+target_alias+] [+extra_configure_flags+] \
|| exit 1
@endif [+prefix+][+module+]
[+ IF bootstrap +]
[+ FOR bootstrap_stage +]
.PHONY: configure-stage[+id+]-[+prefix+][+module+] maybe-configure-stage[+id+]-[+prefix+][+module+]
maybe-configure-stage[+id+]-[+prefix+][+module+]:
@if [+prefix+][+module+]-bootstrap
maybe-configure-stage[+id+]-[+prefix+][+module+]: configure-stage[+id+]-[+prefix+][+module+]
configure-stage[+id+]-[+prefix+][+module+]:
@[ $(current_stage) = stage[+id+] ] || $(MAKE) stage[+id+]-start
@$(SHELL) $(srcdir)/mkinstalldirs [+subdir+]/[+module+]
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
TFLAGS="$(STAGE[+id+]_TFLAGS)"; \
[+ IF check_multilibs
+]echo "Checking multilib configuration for [+module+]..."; \
$(CC_FOR_TARGET) --print-multi-lib > [+subdir+]/[+module+]/multilib.tmp 2> /dev/null; \
if test -r [+subdir+]/[+module+]/multilib.out; then \
if cmp -s [+subdir+]/[+module+]/multilib.tmp [+subdir+]/[+module+]/multilib.out; then \
rm -f [+subdir+]/[+module+]/multilib.tmp; \
else \
rm -f [+subdir+]/[+module+]/Makefile; \
mv [+subdir+]/[+module+]/multilib.tmp [+subdir+]/[+module+]/multilib.out; \
fi; \
else \
mv [+subdir+]/[+module+]/multilib.tmp [+subdir+]/[+module+]/multilib.out; \
fi; \
[+ ENDIF check_multilibs +]test ! -f [+subdir+]/[+module+]/Makefile || exit 0; \
[+exports+][+ IF prev +] \
[+poststage1_exports+][+ ENDIF prev +][+ IF prefix +] \
CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"; export LIBCFLAGS;[+ ELSE prefix +] \
CFLAGS="$(STAGE[+id+]_CFLAGS)"; export CFLAGS; \
CXXFLAGS="$(STAGE[+id+]_CXXFLAGS)"; export CXXFLAGS;[+ IF prev +] \
LIBCFLAGS="$(STAGE[+id+]_CFLAGS)"[+ ELSE prev +] \
LIBCFLAGS="$(LIBCFLAGS)"[+ ENDIF prev +]; export LIBCFLAGS;[+
ENDIF prefix +] [+extra_exports+] \
echo Configuring stage [+id+] in [+subdir+]/[+module+]; \
$(SHELL) $(srcdir)/mkinstalldirs [+subdir+]/[+module+]; \
cd [+subdir+]/[+module+] || exit 1; \
case $(srcdir) in \
/* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
*) topdir=`echo [+subdir+]/[+module+]/ | \
sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
esac; \
module_srcdir=[+? module_srcdir (get "module_srcdir") (get "module")+]; \
$(SHELL) $$s/$$module_srcdir/configure \
--srcdir=$${topdir}/$$module_srcdir \
[+args+] --build=${build_alias} --host=[+host_alias+] \
--target=[+target_alias+] \
[+ IF prev +]--with-build-libsubdir=$(HOST_SUBDIR)[+ ENDIF prev +] \
$(STAGE[+id+]_CONFIGURE_FLAGS)[+ IF extra_configure_flags +] \
[+extra_configure_flags+][+ ENDIF extra_configure_flags +]
@endif [+prefix+][+module+]-bootstrap
[+ ENDFOR bootstrap_stage +]
[+ ENDIF bootstrap +]
[+ ENDDEF +]
[+ DEFINE all +]
.PHONY: all-[+prefix+][+module+] maybe-all-[+prefix+][+module+]
maybe-all-[+prefix+][+module+]:
@if gcc-bootstrap
all-[+prefix+][+module+]: stage_current
@endif gcc-bootstrap
@if [+prefix+][+module+]
TARGET-[+prefix+][+module+]=[+
IF all_target +][+all_target+][+ ELSE +]all[+ ENDIF all_target +]
maybe-all-[+prefix+][+module+]: all-[+prefix+][+module+]
all-[+prefix+][+module+]: configure-[+prefix+][+module+][+ IF bootstrap +][+ ELSE +]
@: $(MAKE); $(unstage)[+ ENDIF bootstrap +]
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
[+exports+] [+extra_exports+] \
(cd [+subdir+]/[+module+] && \
$(MAKE) $(BASE_FLAGS_TO_PASS) [+args+] [+stage1_args+] [+extra_make_flags+] \
$(TARGET-[+prefix+][+module+]))
@endif [+prefix+][+module+]
[+ IF bootstrap +]
[+ FOR bootstrap_stage +]
.PHONY: all-stage[+id+]-[+prefix+][+module+] maybe-all-stage[+id+]-[+prefix+][+module+]
.PHONY: clean-stage[+id+]-[+prefix+][+module+] maybe-clean-stage[+id+]-[+prefix+][+module+]
maybe-all-stage[+id+]-[+prefix+][+module+]:
maybe-clean-stage[+id+]-[+prefix+][+module+]:
@if [+prefix+][+module+]-bootstrap
maybe-all-stage[+id+]-[+prefix+][+module+]: all-stage[+id+]-[+prefix+][+module+]
all-stage[+id+]: all-stage[+id+]-[+prefix+][+module+]
TARGET-stage[+id+]-[+prefix+][+module+] = $(TARGET-[+prefix+][+module+])
all-stage[+id+]-[+prefix+][+module+]: configure-stage[+id+]-[+prefix+][+module+]
@[ $(current_stage) = stage[+id+] ] || $(MAKE) stage[+id+]-start
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
TFLAGS="$(STAGE[+id+]_TFLAGS)"; \
[+exports+][+ IF prev +] \
[+poststage1_exports+][+ ENDIF prev +] [+extra_exports+] \
cd [+subdir+]/[+module+] && \
[+autoprofile+] \
$(MAKE) $(BASE_FLAGS_TO_PASS)[+ IF prefix +] \
CFLAGS="$(CFLAGS_FOR_TARGET)" \
CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"[+ ELSE prefix +] \
CFLAGS="$(STAGE[+id+]_CFLAGS)" \
GENERATOR_CFLAGS="$(STAGE[+id+]_GENERATOR_CFLAGS)" \
CXXFLAGS="$(STAGE[+id+]_CXXFLAGS)"[+ IF prev +] \
LIBCFLAGS="$(STAGE[+id+]_CFLAGS)"[+ ELSE prev +] \
LIBCFLAGS="$(LIBCFLAGS)"[+ ENDIF prev +][+ ENDIF prefix +] \
CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
[+args+] [+IF prev +][+poststage1_args+][+ ELSE prev +] \
[+stage1_args+][+ ENDIF prev +] [+extra_make_flags+] \
TFLAGS="$(STAGE[+id+]_TFLAGS)" [+profile_data+] \
$(TARGET-stage[+id+]-[+prefix+][+module+])
maybe-clean-stage[+id+]-[+prefix+][+module+]: clean-stage[+id+]-[+prefix+][+module+]
clean-stage[+id+]: clean-stage[+id+]-[+prefix+][+module+]
clean-stage[+id+]-[+prefix+][+module+]:
@if [ $(current_stage) = stage[+id+] ]; then \
[ -f [+subdir+]/[+module+]/Makefile ] || exit 0; \
else \
[ -f [+subdir+]/stage[+id+]-[+module+]/Makefile ] || exit 0; \
$(MAKE) stage[+id+]-start; \
fi; \
cd [+subdir+]/[+module+] && \
$(MAKE) [+args+] [+ IF prev +][+poststage1_args+][+ ELSE prev +] \
[+stage1_args+][+ ENDIF prev +] [+extra_make_flags+] clean
@endif [+prefix+][+module+]-bootstrap
[+ ENDFOR bootstrap_stage +]
[+ ENDIF bootstrap +]
[+ ENDDEF +]
# --------------------------------------
# Modules which run on the build machine
# --------------------------------------
[+ FOR build_modules +]
[+ configure prefix="build-" subdir="$(BUILD_SUBDIR)" exports="$(BUILD_EXPORTS)"
host_alias=(get "host" "${build_alias}")
target_alias=(get "target" "${target_alias}")
args="$(BUILD_CONFIGARGS)" no-config-site=true +]
[+ all prefix="build-" subdir="$(BUILD_SUBDIR)" exports="$(BUILD_EXPORTS)"
args="$(EXTRA_BUILD_FLAGS)" +]
[+ ENDFOR build_module +]
# --------------------------------------
# Modules which run on the host machine
# --------------------------------------
[+ FOR host_modules +]
[+ configure prefix="" subdir="$(HOST_SUBDIR)"
exports="$(HOST_EXPORTS)"
poststage1_exports="$(POSTSTAGE1_HOST_EXPORTS)"
host_alias=(get "host" "${host_alias}")
target_alias=(get "target" "${target_alias}")
args="$(HOST_CONFIGARGS)" +]
[+ all prefix="" subdir="$(HOST_SUBDIR)"
exports="$(HOST_EXPORTS)"
poststage1_exports="$(POSTSTAGE1_HOST_EXPORTS)"
args="$(EXTRA_HOST_FLAGS)"
stage1_args="$(STAGE1_FLAGS_TO_PASS)"
poststage1_args="$(POSTSTAGE1_FLAGS_TO_PASS)" +]
.PHONY: check-[+module+] maybe-check-[+module+]
maybe-check-[+module+]:
@if [+module+]
maybe-check-[+module+]: check-[+module+]
[+ IF no_check +]
check-[+module+]:
[+ ELIF no_check_cross +]
# This module is only tested in a native toolchain.
check-[+module+]:
@: $(MAKE); $(unstage)
@if [ '$(host)' = '$(target)' ]; then \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(HOST_EXPORTS) [+ IF bootstrap +]$(EXTRA_HOST_EXPORTS)[+
ENDIF bootstrap +] \
(cd $(HOST_SUBDIR)/[+module+] && \
$(MAKE) $(FLAGS_TO_PASS) [+extra_make_flags+][+
IF bootstrap +] $(EXTRA_BOOTSTRAP_FLAGS)[+ ENDIF bootstrap +] check)
fi
[+ ELSE check +]
check-[+module+]:
@: $(MAKE); $(unstage)
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(HOST_EXPORTS) [+ IF bootstrap +]$(EXTRA_HOST_EXPORTS)[+
ENDIF bootstrap +] \
(cd $(HOST_SUBDIR)/[+module+] && \
$(MAKE) $(FLAGS_TO_PASS) [+extra_make_flags+][+
IF bootstrap +] $(EXTRA_BOOTSTRAP_FLAGS)[+ ENDIF bootstrap +] check)
[+ ENDIF no_check +]
@endif [+module+]
.PHONY: install-[+module+] maybe-install-[+module+]
maybe-install-[+module+]:
@if [+module+]
maybe-install-[+module+]: install-[+module+]
[+ IF no_install +]
install-[+module+]:
[+ ELSE install +]
install-[+module+]: installdirs
@: $(MAKE); $(unstage)
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(HOST_EXPORTS) \
(cd $(HOST_SUBDIR)/[+module+] && \
$(MAKE) $(FLAGS_TO_PASS) [+extra_make_flags+] install)
[+ ENDIF no_install +]
@endif [+module+]
.PHONY: install-strip-[+module+] maybe-install-strip-[+module+]
maybe-install-strip-[+module+]:
@if [+module+]
maybe-install-strip-[+module+]: install-strip-[+module+]
[+ IF no_install +]
install-strip-[+module+]:
[+ ELSE install +]
install-strip-[+module+]: installdirs
@: $(MAKE); $(unstage)
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(HOST_EXPORTS) \
(cd $(HOST_SUBDIR)/[+module+] && \
$(MAKE) $(FLAGS_TO_PASS) [+extra_make_flags+] install-strip)
[+ ENDIF no_install +]
@endif [+module+]
# Other targets (info, dvi, pdf, etc.)
[+ FOR recursive_targets +]
.PHONY: maybe-[+make_target+]-[+module+] [+make_target+]-[+module+]
maybe-[+make_target+]-[+module+]:
@if [+module+]
maybe-[+make_target+]-[+module+]: [+make_target+]-[+module+]
[+ IF (match-value? = "missing" (get "make_target") ) +]
# [+module+] doesn't support [+make_target+].
[+make_target+]-[+module+]:
[+ ELSE +]
[+make_target+]-[+module+]: [+
FOR depend +]\
[+depend+]-[+module+] [+
ENDFOR depend +]
@[+ IF bootstrap +][+ ELSE +]: $(MAKE); $(unstage)
@[+ ENDIF bootstrap +][ -f ./[+module+]/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(HOST_EXPORTS) \
for flag in $(EXTRA_HOST_FLAGS) [+extra_make_flags+]; do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
echo "Doing [+make_target+] in [+module+]"; \
(cd $(HOST_SUBDIR)/[+module+] && \
$(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}" \
[+make_target+]) \
|| exit 1
[+ ENDIF +]
@endif [+module+]
[+ ENDFOR recursive_targets +]
[+ ENDFOR host_modules +]
# ---------------------------------------
# Modules which run on the target machine
# ---------------------------------------
[+ FOR target_modules +]
[+ IF raw_cxx +]
[+ configure prefix="target-" subdir="$(TARGET_SUBDIR)"
check_multilibs=true
exports="$(RAW_CXX_TARGET_EXPORTS)"
host_alias=(get "host" "${target_alias}")
target_alias=(get "target" "${target_alias}")
args="$(TARGET_CONFIGARGS)" no-config-site=true +]
[+ all prefix="target-" subdir="$(TARGET_SUBDIR)"
exports="$(RAW_CXX_TARGET_EXPORTS)"
args="$(EXTRA_TARGET_FLAGS) 'CXX=$$(RAW_CXX_FOR_TARGET)' 'CXX_FOR_TARGET=$$(RAW_CXX_FOR_TARGET)'" +]
[+ ELSE +]
[+ configure prefix="target-" subdir="$(TARGET_SUBDIR)"
check_multilibs=true
exports="$(NORMAL_TARGET_EXPORTS)"
host_alias=(get "host" "${target_alias}")
target_alias=(get "target" "${target_alias}")
args="$(TARGET_CONFIGARGS)" no-config-site=true +]
[+ all prefix="target-" subdir="$(TARGET_SUBDIR)"
exports="$(NORMAL_TARGET_EXPORTS)"
args="$(EXTRA_TARGET_FLAGS)" +]
[+ ENDIF +]
.PHONY: check-target-[+module+] maybe-check-target-[+module+]
maybe-check-target-[+module+]:
@if target-[+module+]
maybe-check-target-[+module+]: check-target-[+module+]
[+ IF no_check +]
# Dummy target for uncheckable module.
check-target-[+module+]:
[+ ELSE check +]
check-target-[+module+]:
@: $(MAKE); $(unstage)
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \[+
IF raw_cxx +]
$(RAW_CXX_TARGET_EXPORTS) \[+
ELSE normal_cxx +]
$(NORMAL_TARGET_EXPORTS) \[+
ENDIF raw_cxx +]
(cd $(TARGET_SUBDIR)/[+module+] && \
$(MAKE) $(TARGET_FLAGS_TO_PASS) [+
IF raw_cxx
+] 'CXX=$$(RAW_CXX_FOR_TARGET)' 'CXX_FOR_TARGET=$$(RAW_CXX_FOR_TARGET)' [+
ENDIF raw_cxx
+] [+extra_make_flags+] check)
[+ ENDIF no_check +]
@endif target-[+module+]
.PHONY: install-target-[+module+] maybe-install-target-[+module+]
maybe-install-target-[+module+]:
@if target-[+module+]
maybe-install-target-[+module+]: install-target-[+module+]
[+ IF no_install +]
# Dummy target for uninstallable.
install-target-[+module+]:
[+ ELSE install +]
install-target-[+module+]: installdirs
@: $(MAKE); $(unstage)
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \[+
IF raw_cxx +]
$(RAW_CXX_TARGET_EXPORTS) \[+
ELSE normal_cxx +]
$(NORMAL_TARGET_EXPORTS) \[+
ENDIF raw_cxx +]
(cd $(TARGET_SUBDIR)/[+module+] && \
$(MAKE) $(TARGET_FLAGS_TO_PASS) [+extra_make_flags+] install)
[+ ENDIF no_install +]
@endif target-[+module+]
.PHONY: install-strip-target-[+module+] maybe-install-strip-target-[+module+]
maybe-install-strip-target-[+module+]:
@if target-[+module+]
maybe-install-strip-target-[+module+]: install-strip-target-[+module+]
[+ IF no_install +]
# Dummy target for uninstallable.
install-strip-target-[+module+]:
[+ ELSE install +]
install-strip-target-[+module+]: installdirs
@: $(MAKE); $(unstage)
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \[+
IF raw_cxx +]
$(RAW_CXX_TARGET_EXPORTS) \[+
ELSE normal_cxx +]
$(NORMAL_TARGET_EXPORTS) \[+
ENDIF raw_cxx +]
(cd $(TARGET_SUBDIR)/[+module+] && \
$(MAKE) $(TARGET_FLAGS_TO_PASS) [+extra_make_flags+] install-strip)
[+ ENDIF no_install +]
@endif target-[+module+]
# Other targets (info, dvi, pdf, etc.)
[+ FOR recursive_targets +]
.PHONY: maybe-[+make_target+]-target-[+module+] [+make_target+]-target-[+module+]
maybe-[+make_target+]-target-[+module+]:
@if target-[+module+]
maybe-[+make_target+]-target-[+module+]: [+make_target+]-target-[+module+]
[+ IF (match-value? = "missing" (get "make_target") ) +]
# [+module+] doesn't support [+make_target+].
[+make_target+]-target-[+module+]:
[+ ELSE +]
[+make_target+]-target-[+module+]: [+
FOR depend +]\
[+depend+]-target-[+module+] [+
ENDFOR depend +]
@: $(MAKE); $(unstage)
@[ -f $(TARGET_SUBDIR)/[+module+]/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \[+
IF raw_cxx +]
$(RAW_CXX_TARGET_EXPORTS) \[+
ELSE normal_cxx +]
$(NORMAL_TARGET_EXPORTS) \[+
ENDIF raw_cxx +]
echo "Doing [+make_target+] in $(TARGET_SUBDIR)/[+module+]"; \
for flag in $(EXTRA_TARGET_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
(cd $(TARGET_SUBDIR)/[+module+] && \
$(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}" \
[+extra_make_flags+] [+make_target+]) \
|| exit 1
[+ ENDIF +]
@endif target-[+module+]
[+ ENDFOR recursive_targets +]
[+ ENDFOR target_modules +]
@if target-libgomp
.PHONY: check-target-libgomp-c++
check-target-libgomp-c++:
$(MAKE) RUNTESTFLAGS="$(RUNTESTFLAGS) c++.exp" check-target-libgomp
.PHONY: check-target-libgomp-fortran
check-target-libgomp-fortran:
$(MAKE) RUNTESTFLAGS="$(RUNTESTFLAGS) fortran.exp" check-target-libgomp
@endif target-libgomp
@if target-libitm
.PHONY: check-target-libitm-c++
check-target-libitm-c++:
$(MAKE) RUNTESTFLAGS="$(RUNTESTFLAGS) c++.exp" check-target-libitm
@endif target-libitm
# ----------
# GCC module
# ----------
@if gcc-no-bootstrap
.PHONY: cross
cross: all-build all-gas all-ld
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(HOST_EXPORTS) \
echo "Building the C and C++ compiler"; \
cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) LANGUAGES="c c++"
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
echo "Building runtime libraries"; \
$(MAKE) $(RECURSE_FLAGS_TO_PASS) LANGUAGES="c c++" all
@endif gcc-no-bootstrap
@if gcc
[+ FOR languages +]
.PHONY: check-gcc-[+language+] check-[+language+]
check-gcc-[+language+]:
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(HOST_EXPORTS) \
(cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) [+gcc-check-target+]);
check-[+language+]: check-gcc-[+language+][+ FOR lib-check-target +] [+ lib-check-target +][+ ENDFOR lib-check-target +]
[+ ENDFOR languages +]
# The gcc part of install-no-fixedincludes, which relies on an intimate
# knowledge of how a number of gcc internal targets (inter)operate. Delegate.
.PHONY: gcc-install-no-fixedincludes
gcc-install-no-fixedincludes:
@if [ -f ./gcc/Makefile ]; then \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(HOST_EXPORTS) \
(cd ./gcc \
&& $(MAKE) $(GCC_FLAGS_TO_PASS) install-no-fixedincludes); \
else true; fi
@endif gcc
# ---------------------
# GCC bootstrap support
# ---------------------
# We track the current stage (the one in 'gcc') in the stage_current file.
# stage_last instead tracks the stage that was built last. These targets
# are dummy when toplevel bootstrap is not active.
# While making host and target tools, symlinks to the final stage must be
# there, so $(unstage) should be run at various points. To avoid excessive
# recursive invocations of make, we "inline" them using a variable. These
# must be referenced as ": $(MAKE) ; $(unstage)" rather than "$(unstage)"
# to avoid warnings from the GNU Make job server.
unstage = :
stage = :
current_stage = ""
@if gcc-bootstrap
unstage = if [ -f stage_last ]; then [ -f stage_current ] || $(MAKE) `cat stage_last`-start || exit 1; else :; fi
stage = if [ -f stage_current ]; then $(MAKE) `cat stage_current`-end || exit 1; else :; fi
current_stage = "`cat stage_current 2> /dev/null`"
@endif gcc-bootstrap
.PHONY: unstage stage
unstage:
@: $(MAKE); $(unstage)
stage:
@: $(MAKE); $(stage)
# Disable commands for lean bootstrap.
LEAN = false
# We name the build directories for the various stages "stage1-gcc",
# "stage2-gcc","stage3-gcc", etc.
# Since the 'compare' process will fail (on debugging information) if any
# directory names are different, we need to link the gcc directory for
# the previous stage to a constant name ('prev-gcc'), and to make the name of
# the build directories constant as well. For the latter, we use naked names
# like 'gcc', because the scripts in that directory assume it. We use
# mv on platforms where symlinks to directories do not work or are not
# reliable.
# 'touch' doesn't work right on some platforms.
STAMP = echo timestamp >
# We only want to compare .o files, so set this!
objext = .o
[+ FOR bootstrap-stage +]
.PHONY: stage[+id+]-start stage[+id+]-end
stage[+id+]-start::
@: $(MAKE); $(stage); \
echo stage[+id+] > stage_current; \
echo stage[+id+] > stage_last; \
$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)[+
FOR host_modules +][+ IF bootstrap +]
@if [+ module +]
@cd $(HOST_SUBDIR); [ -d stage[+id+]-[+module+] ] || \
mkdir stage[+id+]-[+module+]; \
mv stage[+id+]-[+module+] [+module+][+ IF prev +]; \
mv stage[+prev+]-[+module+] prev-[+module+] || test -f stage[+prev+]-lean [+ ENDIF prev +]
@endif [+ module +][+ ENDIF bootstrap +][+ ENDFOR host_modules +]
@[ -d stage[+id+]-$(TARGET_SUBDIR) ] || \
mkdir stage[+id+]-$(TARGET_SUBDIR); \
mv stage[+id+]-$(TARGET_SUBDIR) $(TARGET_SUBDIR)[+ IF prev +]; \
mv stage[+prev+]-$(TARGET_SUBDIR) prev-$(TARGET_SUBDIR) || test -f stage[+prev+]-lean [+ ENDIF prev +]
stage[+id+]-end:: [+ FOR host_modules +][+ IF bootstrap +]
@if [+ module +]
@if test -d $(HOST_SUBDIR)/[+module+]; then \
cd $(HOST_SUBDIR); mv [+module+] stage[+id+]-[+module+][+ IF prev +]; \
mv prev-[+module+] stage[+prev+]-[+module+]; : [+ ENDIF prev +]; \
fi
@endif [+ module +][+ ENDIF bootstrap +][+ ENDFOR host_modules +]
@if test -d $(TARGET_SUBDIR); then \
mv $(TARGET_SUBDIR) stage[+id+]-$(TARGET_SUBDIR)[+ IF prev +]; \
mv prev-$(TARGET_SUBDIR) stage[+prev+]-$(TARGET_SUBDIR); : [+ ENDIF prev +]; \
fi
rm -f stage_current
# Bubble a bug fix through all the stages up to stage [+id+]. They are
# remade, but not reconfigured. The next stage (if any) will not be
# reconfigured either.
.PHONY: stage[+id+]-bubble
stage[+id+]-bubble:: [+ IF prev +]stage[+prev+]-bubble[+ ENDIF +]
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
if test -f stage[+id+]-lean [+
IF prev +]|| test -f stage[+prev+]-lean [+ ENDIF prev +]; then \
echo Skipping rebuild of stage[+id+]; \
else \
$(MAKE) stage[+id+]-start; \[+IF lean +]
if $(LEAN); then \
rm -rf stage[+lean+]-*; \
$(STAMP) stage[+lean+]-lean; \
fi; \[+ ENDIF lean +]
$(MAKE) $(RECURSE_FLAGS_TO_PASS) all-stage[+id+]; \
fi[+ IF compare-target +]
$(MAKE) $(RECURSE_FLAGS_TO_PASS) [+compare-target+][+ ENDIF compare-target +]
.PHONY: all-stage[+id+] clean-stage[+id+]
do-clean: clean-stage[+id+]
# FIXME: Will not need to be conditional when toplevel bootstrap is the
# only possibility, but now it conflicts with no-bootstrap rules
@if gcc-bootstrap
[+ IF compare-target +]
[+compare-target+]:
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
if test -f stage[+prev+]-lean; then \
echo Cannot compare object files as stage [+prev+] was deleted.; \
exit 0; \
fi; \
: $(MAKE); $(stage); \
rm -f .bad_compare; \
echo Comparing stages [+prev+] and [+id+]; \
sed=`echo stage[+id+] | sed 's,^stage,,;s,.,.,g'`; \
files=`find stage[+id+]-* -name "*$(objext)" -print | \
sed -n s,^stage$$sed-,,p`; \
for file in $${files} ${extra-compare}; do \
f1=$$r/stage[+prev+]-$$file; f2=$$r/stage[+id+]-$$file; \
if test ! -f $$f1; then continue; fi; \
$(do-[+compare-target+]) > /dev/null 2>&1; \
if test $$? -eq 1; then \
case $$file in \
@compare_exclusions@) \
echo warning: $$file differs ;; \
*) \
echo $$file differs >> .bad_compare ;; \
esac; \
fi; \
done; \
if [ -f .bad_compare ]; then \
echo "Bootstrap comparison failure!"; \
cat .bad_compare; \
exit 1; \
else \
echo Comparison successful.; \
fi; \
$(STAMP) [+compare-target+][+ IF prev +]
if $(LEAN); then \
rm -rf stage[+prev+]-*; \
$(STAMP) stage[+prev+]-lean; \
fi[+ ENDIF prev +]
[+ ENDIF compare-target +]
[+ IF bootstrap-target +]
.PHONY: [+bootstrap-target+] [+bootstrap-target+]-lean
[+bootstrap-target+]:
echo stage[+id+] > stage_final
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(MAKE) $(RECURSE_FLAGS_TO_PASS) stage[+id+]-bubble
@: $(MAKE); $(unstage)
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
TFLAGS="$(STAGE[+id+]_TFLAGS)"; \
$(MAKE) $(TARGET_FLAGS_TO_PASS) all-host all-target
[+bootstrap-target+]-lean:
echo stage[+id+] > stage_final
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(MAKE) $(RECURSE_FLAGS_TO_PASS) LEAN=: stage[+id+]-bubble
@: $(MAKE); $(unstage)
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
TFLAGS="$(STAGE[+id+]_TFLAGS)"; \
$(MAKE) $(TARGET_FLAGS_TO_PASS) all-host all-target
[+ ENDIF bootstrap-target +]
# Rules to wipe a stage and all the following ones, also used for cleanstrap
[+ IF prev +]distclean-stage[+prev+]:: distclean-stage[+id+] [+ ENDIF prev +]
.PHONY: distclean-stage[+id+]
distclean-stage[+id+]::
@: $(MAKE); $(stage)
@test "`cat stage_last`" != stage[+id+] || rm -f stage_last
rm -rf stage[+id+]-* [+
IF compare-target +][+compare-target+] [+ ENDIF compare-target +]
[+ IF cleanstrap-target +]
.PHONY: [+cleanstrap-target+]
[+cleanstrap-target+]: do-distclean local-clean
echo stage[+id+] > stage_final
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(MAKE) $(RECURSE_FLAGS_TO_PASS) stage[+id+]-bubble
@: $(MAKE); $(unstage)
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
TFLAGS="$(STAGE[+id+]_TFLAGS)"; \
$(MAKE) $(TARGET_FLAGS_TO_PASS) all-host all-target
[+ ENDIF cleanstrap-target +]
@endif gcc-bootstrap
[+ ENDFOR bootstrap-stage +]
stageprofile-end::
$(MAKE) distclean-stagefeedback
stagefeedback-start::
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
for i in prev-*; do \
j=`echo $$i | sed s/^prev-//`; \
cd $$r/$$i && \
{ find . -type d | sort | sed 's,.*,$(SHELL) '"$$s"'/mkinstalldirs "../'$$j'/&",' | $(SHELL); } && \
{ find . -name '*.*da' | sed 's,.*,$(LN) -f "&" "../'$$j'/&",' | $(SHELL); }; \
done
@if gcc-bootstrap
do-distclean: distclean-stage1
# Provide a GCC build when we're building target libraries. This does
# not work as a dependency, just as the minimum necessary to avoid errors.
stage_last:
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(MAKE) $(RECURSE_FLAGS_TO_PASS) stage1-bubble
# Same as unstage, but not phony and defaulting to stage1-start. We place
# it in the dependency so that for example `make -j3 all-gcc' works.
stage_current:
@if test -f stage_last; then $(unstage); else $(MAKE) stage1-start; fi
.PHONY: restrap
restrap::
@: $(MAKE); $(stage)
rm -rf stage1-$(TARGET_SUBDIR)[+ FOR bootstrap-stage +][+ IF prev
+] stage[+id+]-*[+ ENDIF prev +][+ ENDFOR bootstrap-stage +]
restrap:: all
@endif gcc-bootstrap
# --------------------------------------
# Dependencies between different modules
# --------------------------------------
# Generic dependencies for target modules on host stuff, especially gcc
@if gcc-bootstrap[+ FOR target_modules +][+ IF bootstrap
+][+ FOR bootstrap_stage +]
configure-stage[+id+]-target-[+module+]: maybe-all-stage[+id+]-gcc[+
ENDFOR +][+ ELSE bootstrap +]
configure-target-[+module+]: stage_last[+
ENDIF bootstrap +][+ ENDFOR target_modules +]
@endif gcc-bootstrap
@if gcc-no-bootstrap[+ FOR target_modules +]
configure-target-[+module+]: maybe-all-gcc[+
ENDFOR target_modules +]
@endif gcc-no-bootstrap
# There are two types of dependencies here: 'hard' dependencies, where one
# module simply won't build without the other; and 'soft' dependencies, where
# if the depended-on module is missing, the depending module will do without
# or find a substitute somewhere (perhaps installed). Soft dependencies
# are made here to depend on a 'maybe-' target. If you're not sure,
# it's safer to use a soft dependency.
[+ ;; These Scheme functions build the bulk of the dependencies.
;; dep-target builds a string like "maybe-all-MODULE_KIND-gcc",
;; where "maybe-" is only included if HARD is not true, and all-gcc
;; is taken from VAR-NAME.
(define dep-target (lambda (module-kind var-name hard)
(string-append
(if hard "" "maybe-")
(dep-subtarget var-name)
module-kind
(dep-module var-name)
)))
;; make-dep builds a dependency from the MODULE and ON AutoGen vars.
(define make-dep (lambda (module-kind on-kind)
(string-append
(dep-target module-kind "module" #t) ": "
(dep-target on-kind "on" (exist? "hard")))))
;; dep-subtarget extracts everything up to the first dash in the given
;; AutoGen variable, for example it extracts "all-" out of "all-gcc".
(define dep-subtarget (lambda (var-name)
(substring (get var-name) 0 (+ 1 (string-index (get var-name) #\-)))))
;; dep-module extracts everything up to the first dash in the given
;; AutoGen variable, for example it extracts "gcc" out of "all-gcc".
(define dep-module (lambda (var-name)
(substring (get var-name) (+ 1 (string-index (get var-name) #\-)))))
;; dep-stage builds a string for the prefix of a bootstrap stage.
(define dep-stage (lambda ()
(string-append
"stage"
(get "id")
"-")))
;; dep-maybe is the same as the AutoGen expression "- hard 'maybe-'"
;; but is written in Scheme.
(define dep-maybe (lambda ()
(if (exist? "hard") "" "maybe-")))
;; dep-kind returns returns "prebootstrap" for configure or build
;; dependencies of bootstrapped modules on a build module
;; (e.g. all-gcc on all-build-bison); "normal" if the dependency is
;; on an "install" target, or if the dependence module is not
;; bootstrapped; otherwise, it returns "bootstrap" or
;; "postbootstrap" depending on whether the dependent module is
;; bootstrapped. All this is only necessary for host and target
;; modules. It might seem like, in order to avoid build races, we
;; might need more elaborate detection between prebootstrap and
;; postbootstrap modules, but there are no host prebootstrap
;; modules. If there were any non-bootstrap host modules that
;; bootstrap modules depended on, we'd get unsatisfied per-stage
;; dependencies on them, which would be immediately noticed.
(define dep-kind (lambda ()
(cond
((and (hash-ref boot-modules (dep-module "module"))
(=* (dep-module "on") "build-"))
"prebootstrap")
((or (= (dep-subtarget "on") "install-")
(not (hash-ref boot-modules (dep-module "on"))))
"normal")
((hash-ref boot-modules (dep-module "module"))
"bootstrap")
(1 "postbootstrap"))))
(define make-postboot-dep (lambda ()
(let ((target (dep-module "module")) (dep "stage_last"))
(unless (= (hash-ref postboot-targets target) dep)
(hash-create-handle! postboot-targets target dep)
;; All non-bootstrap modules' configure target already
;; depend on dep.
(unless (=* target "target-")
(string-append "configure-" target ": " dep "\n"))))))
;; We now build the hash table that is used by dep-kind.
(define boot-modules (make-hash-table 113))
(define postboot-targets (make-hash-table 113))
+]
[+ FOR host_modules +][+
(if (exist? "bootstrap")
(hash-create-handle! boot-modules (get "module") #t))
"" +][+ ENDFOR host_modules +]
[+ FOR target_modules +][+
(if (exist? "bootstrap")
(hash-create-handle! boot-modules (string-append "target-" (get "module")) #t))
"" +][+ ENDFOR target_modules +]
# With all the machinery above in place, it is pretty easy to generate
# dependencies. Host dependencies are a bit more complex because we have
# to check for bootstrap/prebootstrap dependencies. To resolve
# prebootstrap dependencies, prebootstrap modules are gathered in
# a hash table.
[+ FOR dependencies +][+ CASE (dep-kind) +]
[+ == "prebootstrap" +][+ (make-dep "" "") +][+ FOR bootstrap_stage +]
[+ (make-dep (dep-stage) "") +][+ ENDFOR bootstrap_stage +]
[+ == "bootstrap" +][+ (make-dep "" "") +][+ FOR bootstrap_stage +]
[+ (make-dep (dep-stage) (dep-stage)) +][+ ENDFOR bootstrap_stage +]
[+ == "normal" +][+ (make-dep "" "") +]
[+ ESAC +][+ ENDFOR dependencies +]
@if gcc-bootstrap
[+ FOR dependencies +][+ CASE (dep-kind) +]
[+ == "postbootstrap" +][+ (make-postboot-dep) +][+ ESAC +][+
ENDFOR dependencies +]@endif gcc-bootstrap
@unless gcc-bootstrap
[+ FOR dependencies +][+ CASE (dep-kind) +]
[+ == "postbootstrap" +][+ (make-dep "" "") +]
[+ ESAC +][+ ENDFOR dependencies +]@endunless gcc-bootstrap
# Dependencies for target modules on other target modules are
# described by lang_env_dependencies; the defaults apply to anything
# not mentioned there.
[+
;; Predicate for whether LANG was specified in lang_env_dependencies.
(define lang-dep (lambda (lang)
(hash-ref lang-env-deps (string-append (get "module") "-" lang))))
;; Build the hash table we will need.
(define lang-env-deps (make-hash-table 7))
+][+ FOR lang_env_dependencies +][+
(if (exist? "cxx")
(hash-create-handle! lang-env-deps
(string-append (get "module") "-" "cxx") #t))
(if (exist? "no_c")
(hash-create-handle! lang-env-deps
(string-append (get "module") "-" "no_c") #t))
(if (exist? "no_gcc")
(hash-create-handle! lang-env-deps
(string-append (get "module") "-" "no_gcc") #t))
"" +][+ ENDFOR lang_env_dependencies +]
@if gcc-bootstrap[+ FOR target_modules +][+ IF (not (lang-dep "no_gcc"))
+][+ IF bootstrap +][+ FOR bootstrap_stage +]
configure-stage[+id+]-target-[+module+]: maybe-all-stage[+id+]-target-libgcc[+
ENDFOR +][+ ENDIF bootstrap +][+ ENDIF +][+ ENDFOR target_modules +]
@endif gcc-bootstrap
@if gcc-no-bootstrap[+ FOR target_modules +][+ IF (not (lang-dep "no_gcc")) +]
configure-target-[+module+]: maybe-all-target-libgcc[+
ENDIF +][+ ENDFOR target_modules +]
@endif gcc-no-bootstrap
[+ FOR target_modules +][+ IF (not (lang-dep "no_c")) +]
configure-target-[+module+]: maybe-all-target-newlib maybe-all-target-libgloss[+
ENDIF +][+ IF (lang-dep "cxx") +]
configure-target-[+module+]: maybe-all-target-libstdc++-v3[+
ENDIF +]
[+ ENDFOR target_modules +]
CONFIGURE_GDB_TK = @CONFIGURE_GDB_TK@
GDB_TK = @GDB_TK@
INSTALL_GDB_TK = @INSTALL_GDB_TK@
configure-gdb: $(CONFIGURE_GDB_TK)
all-gdb: $(gdbnlmrequirements) $(GDB_TK)
install-gdb: $(INSTALL_GDB_TK)
# Serialization dependencies. Host configures don't work well in parallel to
# each other, due to contention over config.cache. Target configures and
# build configures are similar.
@serialization_dependencies@
# --------------------------------
# Regenerating top level configury
# --------------------------------
# Rebuilding Makefile.in, using autogen.
AUTOGEN = autogen
$(srcdir)/Makefile.in: @MAINT@ $(srcdir)/Makefile.tpl $(srcdir)/Makefile.def
cd $(srcdir) && $(AUTOGEN) Makefile.def
# Rebuilding Makefile.
Makefile: $(srcdir)/Makefile.in config.status
CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
config.status: configure
CONFIG_SHELL="$(SHELL)" $(SHELL) ./config.status --recheck
# Rebuilding configure.
AUTOCONF = autoconf
$(srcdir)/configure: @MAINT@ $(srcdir)/configure.ac $(srcdir)/config/acx.m4 \
$(srcdir)/config/override.m4 $(srcdir)/config/proginstall.m4 \
$(srcdir)/config/elf.m4 $(srcdir)/config/isl.m4 \
$(srcdir)/libtool.m4 $(srcdir)/ltoptions.m4 $(srcdir)/ltsugar.m4 \
$(srcdir)/ltversion.m4 $(srcdir)/lt~obsolete.m4
cd $(srcdir) && $(AUTOCONF)
# ------------------------------
# Special directives to GNU Make
# ------------------------------
# Don't pass command-line variables to submakes.
.NOEXPORT:
MAKEOVERRIDES=
# end of Makefile.in