From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-lf1-x132.google.com (mail-lf1-x132.google.com [IPv6:2a00:1450:4864:20::132]) by sourceware.org (Postfix) with ESMTPS id 7B405384F6FA for ; Fri, 18 Nov 2022 10:26:34 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 7B405384F6FA Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-lf1-x132.google.com with SMTP id s8so7497690lfc.8 for ; Fri, 18 Nov 2022 02:26:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=2bdNPcaEl0QncHjTNc6uoBW1o70XwY5x1jDakadKSaw=; b=oIDjCmbhDWDaJXGpJGcpQfSBRoQ1tCfK6RDbZxsJD+s77ZgARW8zlfafuoIcK0g30Y YNCa0949y9akXxY6zzOOhxADXSZiysFziUnfOauk1WpSeFoPvcqPZIY+q1Li5TLaeCC9 1XpL0Jk+jzLIinnwZpKlswiHxeHHusJN7XObOZV4rna1vDomlf2H3xdYpRhysYzqaw3L C7VooxDqvgKptGv8DLvGhendGww7CQ95Hx5f6cxqalw+CatnQGO0njLlOkq8eOGfrTlT 0m/kgB3+cmVvnzyFUsnSqYKqGDwcEWUqkE/mbpLVC7Tp8kiBRCpTA5sQB1oJI9yWHD4q fMpA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=2bdNPcaEl0QncHjTNc6uoBW1o70XwY5x1jDakadKSaw=; b=q+2k2RFS2+ZrZMjYCJEwCvpIidR2aQZpWeeQROQSX1cY3Y36tve1Q4LP3Lv/QCMHUB 6lgJmCmCu8lsDeL8cxWsCLhkVME0qJLVt31pfTrYWD+gNG3YeLAcqaXxRODiWWum9CvC 3dNIAhL2tXzP8YjC0FyHIPpyRZlh2ynZ9paZS8MEpZGp5DF+RUAN7XiI1CUVLbTii288 sD2w22BIjDmxgUwEoO+tahG+67rLUjQvK6mcxEVMkMe5We4vp7+avZy/D8b73zVxikyV CeNXUJ4JC0v6f6xNR9oLLT7DtDb/76rsfKarO86sgkDiDeb3rWp9uJaBdDj96X9qi5Zl dlQA== X-Gm-Message-State: ANoB5plpm7WZKNBBPu3px4/PAR+2RBtWLmDXDV1laaPRRPsdGprtJJZZ DAJuFW+yNPiESARrc6IkRlJwpSYIHi0bn24GeFCpoUuf X-Google-Smtp-Source: AA0mqf55BiP7LaKxbrntqxcFXmVpRx9rY/bCMj06HqetOPXZSiCyFt1d0Rr9Yzk5grw1jgjEA4pheQTr6e4q70dvXDQ= X-Received: by 2002:a05:6512:1287:b0:494:aca0:e5e5 with SMTP id u7-20020a056512128700b00494aca0e5e5mr2146314lfs.497.1668767191895; Fri, 18 Nov 2022 02:26:31 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: Richard Biener Date: Fri, 18 Nov 2022 11:26:19 +0100 Message-ID: Subject: Re: [PATCH] 8/19 modula2 front end: libgm2 contents To: Gaius Mulley Cc: gcc-patches@gcc.gnu.org Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-1.6 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,KAM_SHORT,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: On Mon, Oct 10, 2022 at 5:35 PM Gaius Mulley via Gcc-patches wrote: > > > > This patch set consists of the libgm2 makefile, autoconf sources > necessary to build the libm2pim, libm2iso, libm2min, libm2cor > and libm2log. This looks OK. I suppose it was also tested building a cross-compiler? Can we get some up-to-date status on the build and support status for the list of primary and secondary platforms we list on https://gcc.gnu.org/gcc-13/criteria.html? Thanks, Richard. > > ------8<----------8<----------8<----------8<----------8<----------8<---- > diff -ruw /dev/null gcc-git-devel-modula2/libgm2/ChangeLog > --- /dev/null 2022-08-24 16:22:16.888000070 +0100 > +++ gcc-git-devel-modula2/libgm2/ChangeLog 2022-10-07 20:21:18.730097923 +0100 > @@ -0,0 +1,506 @@ > +2022-05-18 Gaius Mulley > + > + * Corrected dates on all source files. > + * libm2pim/Selective.c: Reformatted comments. > + * libm2pim/SysExceptions.c: Reformatted comments. > + * libm2pim/dtoa.c: Reformatted comments. > + * libm2pim/ldtoa.c: Reformatted comments. > + * libm2pim/sckt.c: Reformatted comments. > + * libm2pim/termios.c: Reformatted comments. > + * libm2pim/wrapc.c: Reformatted comments. > + * libm2pim/termios.c: Reformatted comments within enum. > + * libm2pim/Selective.c: Correct spelling. > + * libm2pim/termios.c: Use GNU comment formatting. > + > +2022-05-17 Gaius Mulley > + > + * Corrected dates on all source files. > + > +2022-03-02 Gaius Mulley > + > + * libm2pim/sckt.c (tcpServerEstablishPort): Corrected spelling. > + (tcpServerEstablish) Corrected spelling. > + > +2021-06-27 Gaius Mulley > + > + * Makefile.am: renamed getopt.c to cgetopt.c. > + > +2021-05-29 Gaius Mulley > + > + * Makefile.in: (rebuilt). > + * aclocal.m4: (rebuilt). > + * configure: (rebuilt). > + * configure.ac: tidied up messages. Removed android > + from the list of supported hosts. Corrected a comment > + * libm2pim/Makefile.am: Conditionally build. > + * libm2cor/Makefile.am: Conditionally build. > + * libm2log/Makefile.am: Conditionally build. > + * libm2iso/Makefile.am: Conditionally build. > + * libm2cor/Makefile.in: (Rebuilt). > + * libm2iso/Makefile.in: (Rebuilt). > + * libm2log/Makefile.in: (Rebuilt). > + * libm2min/Makefile.in: (Rebuilt). > + * libm2pim/Makefile.in: (Rebuilt). > + > +2021-05-28 Gaius Mulley > + > + * Makefile.in: (Rebuilt). > + * aclocal.m4: (Rebuilt). > + * configure: (Rebuilt). > + * configure.ac: Introduce checks for supported host > + operating system and also known detect target architectures > + which are currently restricted to minimal runtime libraries. > + * libm2cor/Makefile.in: (Rebuilt). > + * libm2iso/Makefile.in: (Rebuilt). > + * libm2log/Makefile.in: (Rebuilt). > + * libm2min/Makefile.in: (Rebuilt). > + * libm2pim/Makefile.in: (Rebuilt). > + > +2021-02-12 Gaius Mulley > + > + * libm2iso/RTco.c: (threadSem) new declaration > + and implmentation of thread semaphores used internally by > + the m2 runtime system. > + > +2021-01-13 Gaius Mulley > + > + * Makefile.am: Updated dates. > + * aclocal.m4: (Rebuilt). > + * autogen.sh: Updated dates. > + * configure: (Rebuilt). > + * configure.ac: Updated dates. > + * libm2cor/KeyBoardLEDs.c: Updated dates. > + * libm2cor/Makefile.am: Updated dates. > + * libm2iso/ChanConsts.h: Updated dates. > + * libm2iso/ErrnoCategory.c: Updated dates. > + * libm2iso/Makefile.am: Updated dates. > + * libm2iso/RTco.c: Updated dates. > + * libm2iso/wrapsock.c: Updated dates. > + * libm2iso/wraptime.c: Updated dates. > + * libm2log/Break.c: Updated dates. > + * libm2log/Makefile.am: Updated dates. > + * libm2min/Makefile.am: Updated dates. > + * libm2min/libc.c: Updated dates. > + * libm2pim/Makefile.am: Updated dates. > + * libm2pim/Selective.c: Updated dates. > + * libm2pim/SysExceptions.c: Updated dates. > + * libm2pim/UnixArgs.c: Updated dates. > + * libm2pim/dtoa.c: Updated dates. > + * libm2pim/errno.c: Updated dates. > + * libm2pim/getopt.c: Updated dates. > + * libm2pim/ldtoa.c: Updated dates. > + * libm2pim/sckt.c: Updated dates. > + * libm2pim/target.c: Updated dates. > + * libm2pim/termios.c: Updated dates. > + * libm2pim/wrapc.c: Updated dates. > + > +2020-11-20 Gaius Mulley > + > + * Makefile.in: (Rebuilt). > + * aclocal.m4: (Rebuilt). > + * configure: (Rebuilt). > + * configure.ac: (libtool_VERSION=17.0.0) > + > +2020-06-18 Gaius Mulley > + > + * Makefile.in: (Rebuilt). > + * aclocal.m4: (Rebuilt). > + * autogen.sh: Execute automake including dependencies. > + * configure: (Rebuilt). > + * libm2cor/Makefile.in: (Rebuilt). > + * libm2iso/Makefile.in: (Rebuilt). > + * libm2log/Makefile.am: SYSTEM.def is a dependency using > + BUILT_SOURCES. > + * libm2log/Makefile.in: (Rebuilt). > + * libm2min/Makefile.in: (Rebuilt). > + * libm2pim/Makefile.in: (Rebuilt). > + > +2020-06-15 Gaius Mulley > + > + * libm2pim/Makefile.am: Added SYSTEM.def as a dependency. > + * libm2log/Makefile.am: Added SYSTEM.def as a dependency. > + > +2020-06-11 Matthias Klose > + > + * Makefile.am: Reordered libraries. > + * Makefile.in: (Rebuilt). > + * libm2pim/Makefile.am: (libm2pim_la_LIBADD) Added > + definition. > + * libm2pim/Makefile.in: (Rebuilt). > + > +2020-05-01 Gaius Mulley > + > + * libm2cor/KeyBoardLEDs.c: Include sys/ioctl.h > + and stdio.h to fix implicit declarations of ioctl and > + perror. > + * libm2iso/RTco.c: Include . > + * libm2pim/SysExceptions.c: (HAVE_STDIO_H) Checked > + and stdio.h included to fix perror implicit declaration. > + > +2020-04-29 Gaius Mulley > + > + * libm2pim/wrapc.c: (HAVE_SYS_TYPES_H) checked to include > + sys/types.h. (HAVE_TIME_H) checked to include time.h. > + Fixes missing prototype errors. (HAVE_UNISTD_H) checked > + to include unistd.h to fix getuid missing prototype. > + > +2020-01-08 Gaius Mulley > + > + * libm2min/libc.c: (exit) noreturn added. > + (abort) noreturn added. > + > +2019-12-10 Matthias Klose > + > + * libm2cor/Makefile.am: (libsubdir) Corrected using > + target_alias. > + * libm2iso/Makefile.am: (libsubdir) Corrected using > + target_alias. > + * libm2log/Makefile.am: (libsubdir) Corrected using > + target_alias. > + * libm2min/Makefile.am: (libsubdir) Corrected using > + target_alias. > + * libm2pim/Makefile.am: (libsubdir) Corrected using > + target_alias. > + * libm2cor/Makefile.in: Regenerated. > + * libm2iso/Makefile.in: Regenerated. > + * libm2log/Makefile.in: Regenerated. > + * libm2min/Makefile.in: Regenerated. > + * libm2pim/Makefile.in: Regenerated. > + > +2019-12-10 Gaius Mulley > + > + * libm2iso/RTco.c: Corrected include files > + for target building. > + > +2019-12-09 Gaius Mulley > + > + * configure.ac: Remove reference to config dir. > + (ACX_NONCANONICAL_TARGET) Removed. > + * libm2cor/Makefile.in: Regenerated. > + * libm2iso/Makefile.in: Regenerated. > + * libm2log/Makefile.in: Regenerated. > + * libm2min/Makefile.in: Regenerated. > + * libm2pim/Makefile.in: Regenerated. > + * configure.ac: (LT_INIT) Used instead of AM_PROG_LIBTOOL. > + * libm2cor/Makefile.in: Regenerated. > + * libm2iso/Makefile.in: Regenerated. > + * libm2log/Makefile.in: Regenerated. > + * libm2min/Makefile.in: Regenerated. > + * libm2pim/Makefile.in: Regenerated. > + > +2019-12-04 Matthias Klose > + > + * Makefile.in: Regenerated. > + * aclocal.m4: Regenerated from automake-1.15.1. > + * libm2cor/Makefile.am: Added -version-info. > + * libm2cor/Makefile.in: Regenerated. > + * libm2iso/Makefile.am: Added -version-info. > + * libm2iso/Makefile.in: Regenerated. > + * libm2log/Makefile.am: Added -version-info. > + * libm2log/Makefile.in: Regenerated. > + * libm2min/Makefile.am: Added -version-info. > + * libm2min/Makefile.in: Regenerated. > + * libm2pim/Makefile.am: Added -version-info. > + * libm2pim/Makefile.in: Regenerated. > + > +2019-12-03 Gaius Mulley > + > + * libm2min/Makefile.am: (M2LIBDIR) Corrected > + destination directory to m2/m2min. > + > +2019-11-19 Gaius Mulley > + > + * multilib fixes > + * Makefile.am: (MULTIBUILDTOP) propagate. > + * Makefile.in: (Regenerated). > + * configure: (Regenerated). > + * configure.ac: (ACX_NONCANONICAL_TARGET) Removed. > + * libm2cor/Makefile.am: (MULTIBUILDTOP) Propagate. > + * libm2cor/Makefile.in: (Regenerated). > + * libm2iso/Makefile.am: (MULTIBUILDTOP) Propagate. > + * libm2iso/Makefile.in: (Regenerated). > + * libm2log/Makefile.am: (MULTIBUILDTOP) Propagate. > + * libm2log/Makefile.in: (Regenerated). > + * libm2min/Makefile.am: (MULTIBUILDTOP) Propagate. > + * libm2min/Makefile.in: (Regenerated). > + * libm2pim/Makefile.am: (MULTIBUILDTOP) Propagate. > + * libm2pim/Makefile.in: (Regenerated). > + > +2019-11-18 Gaius Mulley > + > + * configure: (Regenerated). > + * configure.ac: (libtool_VERSION=15.0.0). > + Place AM_ENABLE_MULTILIB above GCC_NO_EXECUTABLES. > + > +2019-11-13 Gaius Mulley > + > + * libm2pim/Selective.c: Changed to GPL3+ and fixed > + formatting. > + * libm2pim/SysExceptions.c: Changed to GPL3+ and fixed > + formatting. > + * libm2pim/UnixArgs.c: Changed to GPL3+ and fixed > + formatting. > + * libm2pim/dtoa.c: Changed to GPL3+ and fixed > + formatting. > + * libm2pim/errno.c: Changed to GPL3+ and fixed > + formatting. > + * libm2pim/getopt.c: Changed to GPL3+ and fixed > + formatting. > + * libm2pim/ldtoa.c: Changed to GPL3+ and fixed > + formatting. > + * libm2pim/sckt.c: Changed to GPL3+ and fixed > + formatting. > + * libm2pim/target.c: Changed to GPL3+ and fixed > + formatting. > + * libm2pim/termios.c: Changed to GPL3+ and fixed > + formatting. > + * libm2pim/wrapc.c: Changed to GPL3+ and fixed > + formatting. > + > +2019-11-12 Gaius Mulley > + > + * libm2cor/KeyBoardLEDs.c: GPLv3 and reformatted. > + * libm2iso/ChanConsts.h: GPLv3 and reformatted. > + * libm2iso/ErrnoCategory.c: GPLv3 and reformatted. > + * libm2iso/RTco.c: GPLv3 and reformatted. > + * libm2iso/wrapsock.c: GPLv3 and reformatted. > + * libm2iso/wraptime.c: GPLv3 and reformatted. > + * libm2cor/Makefile.am: GPLv3. > + * libm2iso/Makefile.am: GPLv3. > + * libm2log/Makefile.am: GPLv3. > + * libm2min/Makefile.am: GPLv3. > + * libm2pim/Makefile.am: GPLv3. > + * libm2log/Break.c: GPLv3 and reformatted. > + * libm2min/libc.c: GPLv3 and reformatted. > + > +2019-11-04 Gaius Mulley > + > + * libcor/Makefile.am: (MULTIOSSUBDIR) quote test. > + * libiso/Makefile.am: (MULTIOSSUBDIR) quote test. > + * libpim/Makefile.am: (MULTIOSSUBDIR) quote test. > + * liblog/Makefile.am: (MULTIOSSUBDIR) quote test. > + * libmin/Makefile.am: (MULTIOSSUBDIR) quote test. > + * libulm/Makefile.am: (MULTIOSSUBDIR) quote test. > + * libpth/Makefile.am: (MULTIOSSUBDIR) quote test. > + * libcor/Makefile.in: Regenerated. > + * libiso/Makefile.in: Regenerated. > + * libpim/Makefile.in: Regenerated. > + * liblog/Makefile.in: Regenerated. > + * libmin/Makefile.in: Regenerated. > + * libulm/Makefile.in: Regenerated. > + * libpth/Makefile.in: Regenerated. > + > +2019-10-25 Gaius Mulley > + > + * libcor/Makefile.am: Added -fm2-g -g. > + * libiso/Makefile.am: Added -fm2-g -g and include > + path to include ../ > + * libiso/RTco.c: Call HALT if the thread fails to > + find itself. Place initialized inside critical region. > + * libpim/Makefile.am: Added -fm2-g -g. > + > +2019-09-27 Gaius Mulley > + > + * libulm: Removed. > + * Makefile.am: Removed Ulm libaraies. > + * configure.ac: Removed Ulm libaraies. > + > +2019-08-01 Gaius Mulley > + > + * libpim/Makefile.am: (M2MODS) added GetOpt.mod > + and OptLib.mod. (M2DEFS) added GetOpt.def, > + OptLib.def and getopt.def. (libgm2_la_SOURCES) > + added wrapc.c and getopt.c. > + > +2019-07-10 Gaius Mulley > + > + * libpth/Makefile.am: Use $(MAKE) rather than make. > + * libcor/KeyBoardLEDs.c: Reformatted to GNU coding > + standards. Also added/corrected empty functions for non > + linux targets. Fixed the GPL comment. > + > +2019-07-09 Rainer Orth > + > + * Makefile.am: (multilib.am) Included. > + > +2019-04-03 Gaius Mulley > + > + * Makefile.in: Regenerated. > + * aclocal.m4: Regenerated. > + * autogen.sh: Removed version numbers. > + * config/libtool.m4: New version of the file > + taken from libgo/config. > + * configure: Regenerated. > + * configure.ac: Updated version numbers. > + * libcor/Makefile.in: Regenerated. > + * libiso/Makefile.in: Regenerated. > + * liblog/Makefile.in: Regenerated. > + * libmin/Makefile.in: Regenerated. > + * libpim/Makefile.in: Regenerated. > + * libulm/Makefile.in: Regenerated. > + > +2019-03-29 Gaius Mulley > + > + * configure: Regenerated. > + * configure.ac: Implement --enable-libpth-m2 > + * libpth/Makefile.am: Pass FLAGS_TO_PASS to make. > + move install rules into pth subdirectory. > + * libpth/pth/Makefile.am: Added install rules. > + > +2018-11-27 Gaius Mulley > + > + * libpim/wrapc.c: Reformatted according to GNU > + coding standards. Also defended against macro omissions. > + * libiso/wraptime.c: Fixed function declaration > + and erroneous return value. > + > +2018-04-16 Gaius Mulley > + > + * Makefile.am: Specify the libtool location. > + * Makefile.in: Regenerated. > + * aclocal.m4: Regenerated. > + * autogen.sh: Corrected script to regenerate > + using the correct macros and versions of autoconf tools. > + * configure: Regenerated. > + * configure.ac: Regenerated. > + * libcor/Makefile.in: Regenerated. > + * libiso/Makefile.in: Regenerated. > + * liblog/Makefile.in: Regenerated. > + * libmin/Makefile.in: Regenerated. > + * libpim/Makefile.in: Regenerated. > + * libulm/Makefile.in: Regenerated. > + > +2018-04-14 Gaius Mulley > + > + * Makefile.am: Changed to reference the config directory. > + * Makefile.in: Regenerated. > + * aclocal.m4: Regenerated. > + * autogen.sh: Added new script. > + * config.h.in: Regenerated. > + * configure: Regenerated. > + * configure.ac: Minor corrections. > + * libcor/Makefile.am: Use $(LIBTOOL). > + * libcor/Makefile.in: Regenerated. > + * libiso/Makefile.am: Use $(LIBTOOL). > + * libiso/Makefile.in: Regenerated. > + * liblog/Makefile.am: Use $(LIBTOOL). > + * liblog/Makefile.in: Regenerated. > + * libmin/Makefile.am: Use $(LIBTOOL). > + * libmin/Makefile.in: Regenerated. > + * libpim/Makefile.am: Use $(LIBTOOL). > + * libpim/Makefile.in: Regenerated. > + * libulm/Makefile.am: Use $(LIBTOOL). > + * libulm/Makefile.in: Regenerated. > + > +2018-04-10 Gaius Mulley > + > + * configure.ac: Added test to AM_ENABLE_MULTILIB. > + * Makefile.in: Regenerated. > + * aclocal.m4: Regenerated. > + * autogen.sh: Updated. > + * config.h.in: Regenerated. > + * configure: Regenerated. > + * libcor/Makefile.in: Regenerated. > + * libiso/Makefile.in: Regenerated. > + * liblog/Makefile.in: Regenerated. > + * libmin/Makefile.am: Added -fno-m2-plugin > + * libmin/Makefile.in: Regenerated. > + * libpim/Makefile.in: Regenerated. > + * libulm/Makefile.in: Regenerated. > + > +2017-12-27 Gaius Mulley > + > + * libpim/wrapc.c: (wrapc_isfinite) New function. > + > +2016-06-09 Gaius Mulley > + > + * libpim/dtoa.c: Use memmove instead of memcpy. > + > +2016-03-14 Gaius Mulley > + > + * libpim/wrapc.c: Corrected spacing. > + > +2014-12-24 Gaius Mulley > + > + * sckt.c: Added conditional import of > + stdio.h as reported by Christoph Schlegel. > + > +2014-12-23 Gaius Mulley > + > + * libulm/Makefile.am: Added pim libs to the > + path on the createUlmSys command. > + > +2014-12-22 Gaius Mulley > + > + * libulm/Makefile.am: Added rule to build > + SYSTEM.def as a built source. > + > +2014-12-06 Gaius Mulley > + > + * libcor/Makefile.in: Add .la to list of SUFFIXES. > + install .la archive. > + * libcor/Makefile.am: Install .la archive. > + * libiso/Makefile.in: Install .la archive. > + * libiso/Makefile.am: Install .la archive. > + * liblog/Makefile.am: Install .la archive. > + * liblog/Makefile.in: Install .la archive. > + * libmin/Makefile.am: Install .la archive. > + * libmin/Makefile.in: Install .la archive. > + * libpim/Makefile.am: Install .la archive. > + * libpim/Makefile.in: Install .la archive. > + * libulm/Makefile.am: Install .la archive. > + * libulm/Makefile.in: Install .la archive. > + > +2014-12-05 Gaius Mulley > + > + * libmin/Makefile.am: Add .la to the list of SUFFIXES. > + * libulm/Makefile.am: Add .la to the list of SUFFIXES. > + * libpim/Makefile.am: Add .la to the list of SUFFIXES. > + * libcor/Makefile.am: Add .la to the list of SUFFIXES. > + * liblog/Makefile.am: Add .la to the list of SUFFIXES. > + * libiso/Makefile.am: Add .la to the list of SUFFIXES. > + > +2014-07-11 Gaius Mulley > + > + * complete rewrite and restructuring of libgm2. > + * gcc-versionno/libgm2/aclocal.m4: (Rebuilt) > + * gcc-versionno/libgm2/autogen.sh: (Rebuilt) > + * gcc-versionno/libgm2/config.h.in: (New file) > + * gcc-versionno/libgm2/configure: (Rebuilt) > + * gcc-versionno/libgm2/configure.ac: (New file) > + * gcc-versionno/libgm2/libcor: (New directory) > + * gcc-versionno/libgm2/libiso: (New directory) > + * gcc-versionno/libgm2/liblog: (New directory) > + * gcc-versionno/libgm2/libmin: (New directory) > + * gcc-versionno/libgm2/libpim: (New directory) > + * gcc-versionno/libgm2/libulm: (New directory) > + * gcc-versionno/libgm2/Makefile.am: (New file) > + * gcc-versionno/libgm2/Makefile.in: (rebuilt) > + * gcc-versionno/libgm2/p2c: (New directory) > + > +2013-12-06 Gaius Mulley > + > + * gcc-versionno/gcc/gm2/Make-lang.in: Changed flag to -fpim > + and changed path appropriately. > + > +2013-12-05 Gaius Mulley > + > + * gm2/libgm2/Makefile.in: Build coroutine version of SYSTEM.def. > + > +2013-10-17 Gaius Mulley > + > + * gm2/libgm2/Makefile.in: Corrected install of iso SYSTEM.def. > + Ensure that we copy form the object directory and avoid the > + template version in the source directory. > + > +2013-09-14 Gaius Mulley > + > + * gm2/libgm2/Makefile.in: Many changes to allow more libraries > + to build and also build SYSTEM.def for the pim, iso and min > + libraries. > + > +2013-07-08 Gaius Mulley > + > + * gm2/ChangeLog: (New file). > + * gm2/libgm2/Makefile.in: Added install rules. Many of which > + were adapted from gcc/gm2/Make-file.in. > diff -ruw /dev/null gcc-git-devel-modula2/libgm2/config.h.in > --- /dev/null 2022-08-24 16:22:16.888000070 +0100 > +++ gcc-git-devel-modula2/libgm2/config.h.in 2022-10-07 20:21:18.734097972 +0100 > @@ -0,0 +1,313 @@ > +/* config.h.in. Generated from configure.ac by autoheader. */ > + > +/* function access exists */ > +#undef HAVE_ACCESS > + > +/* function brk exists */ > +#undef HAVE_BRK > + > +/* function cfmakeraw exists */ > +#undef HAVE_CFMAKERAW > + > +/* function close exists */ > +#undef HAVE_CLOSE > + > +/* function creat exists */ > +#undef HAVE_CREAT > + > +/* function ctime exists */ > +#undef HAVE_CTIME > + > +/* Define to 1 if you have the header file. */ > +#undef HAVE_DIRECT_H > + > +/* Define to 1 if you have the header file. */ > +#undef HAVE_DIRENT_H > + > +/* Define to 1 if you have the header file. */ > +#undef HAVE_DLFCN_H > + > +/* function dup exists */ > +#undef HAVE_DUP > + > +/* Define to 1 if you have the header file. */ > +#undef HAVE_ERRNO_H > + > +/* function execve exists */ > +#undef HAVE_EXECVE > + > +/* function exit exists */ > +#undef HAVE_EXIT > + > +/* function fcntl exists */ > +#undef HAVE_FCNTL > + > +/* Define to 1 if you have the header file. */ > +#undef HAVE_FCNTL_H > + > +/* function fstat exists */ > +#undef HAVE_FSTAT > + > +/* function getdents exists */ > +#undef HAVE_GETDENTS > + > +/* function getgid exists */ > +#undef HAVE_GETGID > + > +/* function getpid exists */ > +#undef HAVE_GETPID > + > +/* function gettimeofday exists */ > +#undef HAVE_GETTIMEOFD > + > +/* function getuid exists */ > +#undef HAVE_GETUID > + > +/* Define to 1 if you have the header file. */ > +#undef HAVE_INTTYPES_H > + > +/* function ioctl exists */ > +#undef HAVE_IOCTL > + > +/* function kill exists */ > +#undef HAVE_KILL > + > +/* Define to 1 if you have the header file. */ > +#undef HAVE_LANGINFO_H > + > +/* Define to 1 if you have the header file. */ > +#undef HAVE_LIMITS_H > + > +/* function link exists */ > +#undef HAVE_LINK > + > +/* function lseek exists */ > +#undef HAVE_LSEEK > + > +/* Define to 1 if you have the header file. */ > +#undef HAVE_MALLOC_H > + > +/* have math.h */ > +#undef HAVE_MATH_H > + > +/* Define to 1 if you have the header file. */ > +#undef HAVE_MEMORY_H > + > +/* Define to 1 if you have the header file. */ > +#undef HAVE_NETDB_H > + > +/* Define to 1 if you have the header file. */ > +#undef HAVE_NETINET_IN_H > + > +/* function open exists */ > +#undef HAVE_OPEN > + > +/* function pause exists */ > +#undef HAVE_PAUSE > + > +/* function pipe exists */ > +#undef HAVE_PIPE > + > +/* Define to 1 if you have the header file. */ > +#undef HAVE_PTHREAD_H > + > +/* Define to 1 if you have the header file. */ > +#undef HAVE_PWD_H > + > +/* function rand exists */ > +#undef HAVE_RAND > + > +/* function read exists */ > +#undef HAVE_READ > + > +/* function select exists */ > +#undef HAVE_SELECT > + > +/* function setgid exists */ > +#undef HAVE_SETGID > + > +/* function setitimer exists */ > +#undef HAVE_SETITIMER > + > +/* function setuid exists */ > +#undef HAVE_SETUID > + > +/* Define to 1 if you have the header file. */ > +#undef HAVE_SIGNAL_H > + > +/* function signbit exists */ > +#undef HAVE_SIGNBIT > + > +/* function signbitf exists */ > +#undef HAVE_SIGNBITF > + > +/* function signbitl exists */ > +#undef HAVE_SIGNBITL > + > +/* function stat exists */ > +#undef HAVE_STAT > + > +/* Define to 1 if you have the header file. */ > +#undef HAVE_STDARG_H > + > +/* Define to 1 if you have the header file. */ > +#undef HAVE_STDDEF_H > + > +/* Define to 1 if you have the header file. */ > +#undef HAVE_STDINT_H > + > +/* Define to 1 if you have the header file. */ > +#undef HAVE_STDIO_H > + > +/* Define to 1 if you have the header file. */ > +#undef HAVE_STDLIB_H > + > +/* Define to 1 if you have the header file. */ > +#undef HAVE_STRINGS_H > + > +/* Define to 1 if you have the header file. */ > +#undef HAVE_STRING_H > + > +/* function strsignal exists */ > +#undef HAVE_STRSIGNAL > + > +/* function strtod exists */ > +#undef HAVE_STRTOD > + > +/* function strtold exists */ > +#undef HAVE_STRTOLD > + > +/* Define to 1 if the system has the type `struct stat'. */ > +#undef HAVE_STRUCT_STAT > + > +/* Define to 1 if the system has the type `struct timeval'. */ > +#undef HAVE_STRUCT_TIMEVAL > + > +/* Define to 1 if the system has the type `struct timezone'. */ > +#undef HAVE_STRUCT_TIMEZONE > + > +/* Define to 1 if you have the header file. */ > +#undef HAVE_SYS_ERRNO_H > + > +/* Define to 1 if you have the header file. */ > +#undef HAVE_SYS_FILE_H > + > +/* Define to 1 if you have the header file. */ > +#undef HAVE_SYS_IOCTL_H > + > +/* Define to 1 if you have the header file. */ > +#undef HAVE_SYS_MMAN_H > + > +/* Define to 1 if you have the header file. */ > +#undef HAVE_SYS_PARAM_H > + > +/* Define to 1 if you have the header file. */ > +#undef HAVE_SYS_RESOURCE_H > + > +/* Define to 1 if you have the header file. */ > +#undef HAVE_SYS_SOCKET_H > + > +/* Define to 1 if you have the header file. */ > +#undef HAVE_SYS_STAT_H > + > +/* Define to 1 if you have the header file. */ > +#undef HAVE_SYS_TIMES_H > + > +/* Define to 1 if you have the header file. */ > +#undef HAVE_SYS_TIME_H > + > +/* Define to 1 if you have the header file. */ > +#undef HAVE_SYS_TYPES_H > + > +/* Define to 1 if you have the header file. */ > +#undef HAVE_SYS_UIO_H > + > +/* Define to 1 if you have the header file. */ > +#undef HAVE_SYS_WAIT_H > + > +/* Define to 1 if you have the header file. */ > +#undef HAVE_TERMIOS_H > + > +/* function times exists */ > +#undef HAVE_TIMES > + > +/* Define to 1 if you have the header file. */ > +#undef HAVE_TIME_H > + > +/* Define to 1 if you have the header file. */ > +#undef HAVE_UNISTD_H > + > +/* function unlink exists */ > +#undef HAVE_UNLINK > + > +/* function wait exists */ > +#undef HAVE_WAIT > + > +/* Define to 1 if you have the header file. */ > +#undef HAVE_WCHAR_H > + > +/* function write exists */ > +#undef HAVE_WRITE > + > +/* Define to the sub-directory in which libtool stores uninstalled libraries. > + */ > +#undef LT_OBJDIR > + > +/* Name of package */ > +#undef PACKAGE > + > +/* Define to the address where bug reports for this package should be sent. */ > +#undef PACKAGE_BUGREPORT > + > +/* Define to the full name of this package. */ > +#undef PACKAGE_NAME > + > +/* Define to the full name and version of this package. */ > +#undef PACKAGE_STRING > + > +/* Define to the one symbol short name of this package. */ > +#undef PACKAGE_TARNAME > + > +/* Define to the home page for this package. */ > +#undef PACKAGE_URL > + > +/* Define to the version of this package. */ > +#undef PACKAGE_VERSION > + > +/* Define to 1 if you have the ANSI C header files. */ > +#undef STDC_HEADERS > + > +/* Enable extensions on AIX 3, Interix. */ > +#ifndef _ALL_SOURCE > +# undef _ALL_SOURCE > +#endif > +/* Enable GNU extensions on systems that have them. */ > +#ifndef _GNU_SOURCE > +# undef _GNU_SOURCE > +#endif > +/* Enable threading extensions on Solaris. */ > +#ifndef _POSIX_PTHREAD_SEMANTICS > +# undef _POSIX_PTHREAD_SEMANTICS > +#endif > +/* Enable extensions on HP NonStop. */ > +#ifndef _TANDEM_SOURCE > +# undef _TANDEM_SOURCE > +#endif > +/* Enable general extensions on Solaris. */ > +#ifndef __EXTENSIONS__ > +# undef __EXTENSIONS__ > +#endif > + > + > +/* Version number of package */ > +#undef VERSION > + > +/* Define to 1 if on MINIX. */ > +#undef _MINIX > + > +/* Define to 2 if the system does not provide POSIX.1 features except with > + this defined. */ > +#undef _POSIX_1_SOURCE > + > +/* Define to 1 if you need to in order for `stat' and other things to work. */ > +#undef _POSIX_SOURCE > diff -ruw /dev/null gcc-git-devel-modula2/libgm2/Makefile.am > --- /dev/null 2022-08-24 16:22:16.888000070 +0100 > +++ gcc-git-devel-modula2/libgm2/Makefile.am 2022-10-07 20:21:18.730097923 +0100 > @@ -0,0 +1,103 @@ > +# Makefile for libgm2. > +# Copyright 2013-2022 Free Software Foundation, Inc. > +# > +# 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 > +# . > +# > +# > +# if this file is changed then you need to run > +# > +# autoreconf2.64 > +# > +# Modula-2 support. > +AUTOMAKE_OPTIONS = 1.8 foreign > + > +SUFFIXES = .c .mod .def .o .obj .lo .a > + > +ACLOCAL_AMFLAGS = -I . -I .. -I ../config > + > +# Multilib support. > +MAKEOVERRIDES= > + > +AM_CFLAGS = -I $(srcdir)/../libgcc -I $(MULTIBUILDTOP)../../gcc/include > + > +gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER) > +TOP_GCCDIR := $(shell cd $(top_srcdir) && cd .. && pwd) > + > +GCC_DIR = $(TOP_GCCDIR)/gcc > +GM2_SRC = $(GCC_DIR)/m2 > + > +toolexeclibdir=@toolexeclibdir@ > +toolexecdir=@toolexecdir@ > +GM2_FOR_TARGET=@GM2_FOR_TARGET@ > + > +SUBDIRS = libm2min libm2log libm2cor libm2iso libm2pim > +GM2_BUILDDIR := $(shell pwd) > +gm2_cdir = $(libdir)/gcc/$(target_alias)/$(gcc_version)/include > + > +# Work around what appears to be a GNU make bug handling MAKEFLAGS > +# values defined in terms of make variables, as is the case for CC and > +# friends when we are called from the top level Makefile. > +AM_MAKEFLAGS = \ > + "GCC_DIR=$(GCC_DIR)" \ > + "GM2_SRC=$(GM2_SRC)" \ > + "AR_FLAGS=$(AR_FLAGS)" \ > + "CC_FOR_BUILD=$(CC_FOR_BUILD)" \ > + "CC_FOR_TARGET=$(CC_FOR_TARGET)" \ > + "GM2_FOR_TARGET=$(GM2_FOR_TARGET)" \ > + "CFLAGS=$(CFLAGS)" \ > + "CXXFLAGS=$(CXXFLAGS)" \ > + "CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \ > + "CFLAGS_FOR_TARGET=$(CFLAGS_FOR_TARGET)" \ > + "INSTALL=$(INSTALL)" \ > + "INSTALL_DATA=$(INSTALL_DATA)" \ > + "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \ > + "INSTALL_SCRIPT=$(INSTALL_SCRIPT)" \ > + "LDFLAGS=$(LDFLAGS)" \ > + "LIBCFLAGS=$(LIBCFLAGS)" \ > + "LIBCFLAGS_FOR_TARGET=$(LIBCFLAGS_FOR_TARGET)" \ > + "MAKE=$(MAKE)" \ > + "MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" \ > + "MULTIBUILDTOP=$(MULTIBUILDTOP)" \ > + "MULTISUBDIR=$(MULTISUBDIR)" \ > + "MULTIOSDIR=$(MULTIDIR)" \ > + "MULTIFLAGS=$(MULTIFLAGS)" \ > + "PICFLAG=$(PICFLAG)" \ > + "PICFLAG_FOR_TARGET=$(PICFLAG_FOR_TARGET)" \ > + "SHELL=$(SHELL)" \ > + "RUNTESTFLAGS=$(RUNTESTFLAGS)" \ > + "exec_prefix=$(exec_prefix)" \ > + "infodir=$(infodir)" \ > + "libdir=$(libdir)" \ > + "includedir=$(includedir)" \ > + "prefix=$(prefix)" \ > + "tooldir=$(tooldir)" \ > + "gxx_include_dir=$(gxx_include_dir)" \ > + "AR=$(AR)" \ > + "AS=$(AS)" \ > + "LD=$(LD)" \ > + "RANLIB=$(RANLIB)" \ > + "NM=$(NM)" \ > + "NM_FOR_BUILD=$(NM_FOR_BUILD)" \ > + "NM_FOR_TARGET=$(NM_FOR_TARGET)" \ > + "DESTDIR=$(DESTDIR)" \ > + "WERROR=$(WERROR)" \ > + "TARGET_LIB_PATH=$(TARGET_LIB_PATH)" \ > + "TARGET_LIB_PATH_libgm2=$(TARGET_LIB_PATH_libgm2)" \ > + "LIBTOOL=$(GM2_BUILDDIR)/libtool" > + > +# Subdir rules rely on $(FLAGS_TO_PASS) > +FLAGS_TO_PASS = $(AM_MAKEFLAGS) > + > +include $(top_srcdir)/../multilib.am > diff -ruw /dev/null gcc-git-devel-modula2/libgm2/configure.ac > --- /dev/null 2022-08-24 16:22:16.888000070 +0100 > +++ gcc-git-devel-modula2/libgm2/configure.ac 2022-10-07 20:21:18.738098020 +0100 > @@ -0,0 +1,376 @@ > +# Configure script for libgm2. > +# Copyright (C) 2013-2022 Free Software Foundation, Inc. > + > +# This file is part of GCC. > + > +# GCC 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, or (at your option) > +# any later version. > + > +# GCC 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 GCC; see the file COPYING3. If not see > +# . > + > +# Configure looks for the existence of this file to auto-config each language. > +# We define several parameters used by configure: > + > +# Process this file with autoreconf to produce a configure script. > + > +AC_INIT(package-unused, version-unused,,libgm2) > +AC_CONFIG_SRCDIR(Makefile.am) > +# AC_CONFIG_MACRO_DIR([config]) > +AC_CONFIG_HEADER(config.h) > + > +libtool_VERSION=17:0:0 > +AC_SUBST(libtool_VERSION) > + > +AM_ENABLE_MULTILIB(, ..) > + > +GCC_NO_EXECUTABLES > + > +AC_USE_SYSTEM_EXTENSIONS > + > +# Do not delete or change the following two lines. For why, see > +# http://gcc.gnu.org/ml/libstdc++/2003-07/msg00451.html > +AC_CANONICAL_SYSTEM > +target_alias=${target_alias-$host_alias} > +AC_SUBST(target_alias) > + > +AM_INIT_AUTOMAKE([1.9.3 no-define foreign no-dist -Wall -Wno-portability]) > + > +AH_TEMPLATE(PACKAGE, [Name of package]) > +AH_TEMPLATE(VERSION, [Version number of package]) > + > +AC_ARG_WITH(cross-host, > +[ --with-cross-host=HOST Configuring with a cross compiler]) > + > +# Checks for header files. > +AC_HEADER_STDC > +AC_HEADER_SYS_WAIT > +AC_CHECK_HEADER([math.h], > + [AC_DEFINE([HAVE_MATH_H], [1], [have math.h])]) > + > +AC_CHECK_HEADERS(limits.h stddef.h string.h strings.h stdlib.h \ > + time.h \ > + fcntl.h unistd.h sys/file.h sys/time.h sys/mman.h \ > + sys/resource.h sys/param.h sys/times.h sys/stat.h \ > + sys/socket.h \ > + sys/wait.h sys/ioctl.h errno.h sys/errno.h \ > + pwd.h direct.h dirent.h signal.h malloc.h langinfo.h \ > + pthread.h stdarg.h stdio.h sys/types.h termios.h \ > + netinet/in.h netdb.h sys/uio.h sys/stat.h wchar.h) > + > + > +AC_CANONICAL_HOST > +ACX_NONCANONICAL_HOST > +ACX_NONCANONICAL_TARGET > +GCC_TOPLEV_SUBDIRS > + > +AC_MSG_CHECKING([for --enable-version-specific-runtime-libs]) > +AC_ARG_ENABLE(version-specific-runtime-libs, > +[ --enable-version-specific-runtime-libs Specify that runtime libraries should be installed in a compiler-specific directory ], > +[case "$enableval" in > + yes) version_specific_libs=yes ;; > + no) version_specific_libs=no ;; > + *) AC_MSG_ERROR([Unknown argument to enable/disable version-specific libs]);; > + esac], > +[version_specific_libs=no]) > +AC_MSG_RESULT($version_specific_libs) > + > +AC_ARG_WITH(slibdir, > +[ --with-slibdir=DIR shared libraries in DIR [LIBDIR]], > +slibdir="$with_slibdir", > +if test "${version_specific_libs}" = yes; then > + slibdir='$(libsubdir)' > +elif test -n "$with_cross_host" && test x"$with_cross_host" != x"no"; then > + slibdir='$(exec_prefix)/$(host_noncanonical)/lib' > +else > + slibdir='$(libdir)' > +fi) > +AC_SUBST(slibdir) > + > +# Command-line options. > +# Very limited version of AC_MAINTAINER_MODE. > +AC_ARG_ENABLE([maintainer-mode], > + [AC_HELP_STRING([--enable-maintainer-mode], > + [enable make rules and dependencies not useful (and > + sometimes confusing) to the casual installer])], > + [case ${enable_maintainer_mode} in > + yes) MAINT='' ;; > + no) MAINT='#' ;; > + *) AC_MSG_ERROR([--enable-maintainer-mode must be yes or no]) ;; > + esac > + maintainer_mode=${enableval}], > + [MAINT='#']) > +AC_SUBST([MAINT])dnl > + > +toolexecdir=no > +toolexeclibdir=no > + > +# Calculate toolexeclibdir > +# Also toolexecdir, though it's only used in toolexeclibdir > +case ${version_specific_libs} in > + yes) > + # Need the gcc compiler version to know where to install libraries > + # and header files if --enable-version-specific-runtime-libs option > + # is selected. > + toolexecdir='$(libdir)/gcc/$(target_noncanonical)' > + toolexeclibdir='$(toolexecdir)/$(gcc_version)$(MULTISUBDIR)' > + ;; > + no) > + if test -n "$with_cross_host" && > + test x"$with_cross_host" != x"no"; then > + # Install a library built with a cross compiler in tooldir, not libdir. > + toolexecdir='$(exec_prefix)/$(target_noncanonical)' > + toolexeclibdir='$(toolexecdir)/lib' > + else > + toolexecdir='$(libdir)/gcc-lib/$(target_noncanonical)' > + toolexeclibdir='$(libdir)' > + fi > + multi_os_directory=`$CC -print-multi-os-directory` > + case $multi_os_directory in > + .) ;; # Avoid trailing /. > + *) toolexeclibdir=$toolexeclibdir/$multi_os_directory ;; > + esac > + ;; > +esac > + > +AC_SUBST(toolexecdir) > +AC_SUBST(toolexeclibdir) > + > +AH_TEMPLATE(PACKAGE, [Name of package]) > +AH_TEMPLATE(VERSION, [Version number of package]) > + > +AM_MAINTAINER_MODE > + > +# Check the compiler. > +# The same as in boehm-gc and libstdc++. Have to borrow it from there. > +# We must force CC to /not/ be precious variables; otherwise > +# the wrong, non-multilib-adjusted value will be used in multilibs. > +# As a side effect, we have to subst CFLAGS ourselves. > + > +m4_rename([_AC_ARG_VAR_PRECIOUS],[real_PRECIOUS]) > +m4_define([_AC_ARG_VAR_PRECIOUS],[]) > +AC_PROG_CC > +AC_PROG_CXX > +AM_PROG_AS > +m4_rename_force([real_PRECIOUS],[_AC_ARG_VAR_PRECIOUS]) > + > +AC_SUBST(CFLAGS) > + > +# In order to override CFLAGS_FOR_TARGET, all of our special flags go > +# in XCFLAGS. But we need them in CFLAGS during configury. So put them > +# in both places for now and restore CFLAGS at the end of config. > +save_CFLAGS="$CFLAGS" > + > +# Find other programs we need. > +AC_CHECK_TOOL(AR, ar) > +AC_CHECK_TOOL(NM, nm) > +AC_CHECK_TOOL(RANLIB, ranlib, ranlib-not-found-in-path-error) > +AC_PATH_PROG(PERL, perl, perl-not-found-in-path-error) > +AC_PROG_MAKE_SET > +AC_PROG_INSTALL > + > +LT_INIT > +AC_LIBTOOL_DLOPEN > +# AM_PROG_LIBTOOL > +AC_SUBST(enable_shared) > +AC_SUBST(enable_static) > + > +AC_CHECK_TYPES([struct timezone, struct stat, struct timeval]) > + > +AC_LANG_C > +# Check the compiler. > +# The same as in boehm-gc and libstdc++. Have to borrow it from there. > +# We must force CC to /not/ be precious variables; otherwise > +# the wrong, non-multilib-adjusted value will be used in multilibs. > +# As a side effect, we have to subst CFLAGS ourselves. > + > +m4_rename([_AC_ARG_VAR_PRECIOUS],[real_PRECIOUS]) > +m4_define([_AC_ARG_VAR_PRECIOUS],[]) > +AC_PROG_CC > +m4_rename_force([real_PRECIOUS],[_AC_ARG_VAR_PRECIOUS]) > + > +AC_SUBST(CFLAGS) > + > +AC_DEFUN([GM2_UNDEF],[ > + $as_echo "#undef HAVE_$1" >>confdefs.h > +]) > + > +AC_DEFUN([GM2_CHECK_LIB],[ > + AC_MSG_CHECKING([m2 front end checking $1 library for $2]) > + if test x$gcc_no_link != xyes; then > + AC_CHECK_LIB([$1],[$2],[AC_DEFINE([HAVE_$3],[1],[found $2])],[GM2_UNDEF([$3],[$2])]) > + else > + if test "x$[ac_cv_lib_$1_$2]" = xyes; then > + AC_DEFINE([HAVE_$3],[1],[lib$1 includes $2]) > + elif test "x$[ac_cv_func_$2]" = xyes; then > + AC_DEFINE([HAVE_$3],[1],[function $2 exists]) > + else > + GM2_UNDEF([$3],[$2]) > + fi > + fi > +]) > + > +GM2_CHECK_LIB([c],[access],[ACCESS]) > +GM2_CHECK_LIB([c],[brk],[BRK]) > +GM2_CHECK_LIB([c],[cfmakeraw],[CFMAKERAW]) > +GM2_CHECK_LIB([c],[close],[CLOSE]) > +GM2_CHECK_LIB([c],[ctime],[CTIME]) > +GM2_CHECK_LIB([c],[creat],[CREAT]) > +GM2_CHECK_LIB([c],[dup],[DUP]) > +GM2_CHECK_LIB([c],[execve],[EXECVE]) > +GM2_CHECK_LIB([c],[exit],[EXIT]) > +GM2_CHECK_LIB([c],[fcntl],[FCNTL]) > +GM2_CHECK_LIB([c],[fstat],[FSTAT]) > +GM2_CHECK_LIB([c],[getdents],[GETDENTS]) > +GM2_CHECK_LIB([c],[getgid],[GETGID]) > +GM2_CHECK_LIB([c],[getpid],[GETPID]) > +GM2_CHECK_LIB([c],[gettimeofday],[GETTIMEOFD]) > +GM2_CHECK_LIB([c],[getuid],[GETUID]) > +GM2_CHECK_LIB([c],[ioctl],[IOCTL]) > +GM2_CHECK_LIB([c],[kill],[KILL]) > +GM2_CHECK_LIB([c],[link],[LINK]) > +GM2_CHECK_LIB([c],[lseek],[LSEEK]) > +GM2_CHECK_LIB([c],[open],[OPEN]) > +GM2_CHECK_LIB([c],[pause],[PAUSE]) > +GM2_CHECK_LIB([c],[pipe],[PIPE]) > +GM2_CHECK_LIB([c],[rand],[RAND]) > +GM2_CHECK_LIB([c],[read],[READ]) > +GM2_CHECK_LIB([c],[select],[SELECT]) > +GM2_CHECK_LIB([c],[setitimer],[SETITIMER]) > +GM2_CHECK_LIB([c],[setgid],[SETGID]) > +GM2_CHECK_LIB([c],[setuid],[SETUID]) > +GM2_CHECK_LIB([c],[stat],[STAT]) > +GM2_CHECK_LIB([c],[strsignal],[STRSIGNAL]) > +GM2_CHECK_LIB([c],[strtod],[STRTOD]) > +GM2_CHECK_LIB([c],[strtold],[STRTOLD]) > +GM2_CHECK_LIB([c],[times],[TIMES]) > +GM2_CHECK_LIB([c],[unlink],[UNLINK]) > +GM2_CHECK_LIB([c],[wait],[WAIT]) > +GM2_CHECK_LIB([c],[write],[WRITE]) > + > +GM2_CHECK_LIB([m],[signbit],[SIGNBIT]) > +GM2_CHECK_LIB([m],[signbitf],[SIGNBITF]) > +GM2_CHECK_LIB([m],[signbitl],[SIGNBITL]) > + > +AC_MSG_NOTICE([libgm2 has finished checking target libc and libm contents.]) > + > +# We test the host here and later on check the target. > + > +# All known M2_HOST_OS values. This is the union of all host operating systems > +# supported by gm2. > + > +M2_SUPPORTED_HOST_OS="aix freebsd hurd linux netbsd openbsd solaris windows" > + > +M2_HOST_OS=unknown > + > +case ${host} in > + *-*-darwin*) M2_HOST_OS=darwin ;; > + *-*-freebsd*) M2_HOST_OS=freebsd ;; > + *-*-linux*) M2_HOST_OS=linux ;; > + *-*-netbsd*) M2_HOST_OS=netbsd ;; > + *-*-openbsd*) M2_HOST_OS=openbsd ;; > + *-*-solaris2*) M2_HOST_OS=solaris ;; > + *-*-aix*) M2_HOST_OS=aix ;; > + *-*-gnu*) M2_HOST_OS=hurd ;; > +esac > + > +# M2_HOST_OS=unknown > +if test x${M2_HOST_OS} = xunknown; then > + AC_MSG_NOTICE([unsupported host, will build a minimal m2 library]) > + BUILD_PIMLIB=false > + BUILD_ISOLIB=false > + BUILD_CORLIB=false > + BUILD_LOGLIB=false > +else > + AC_MSG_NOTICE([m2 library will be built on ${M2_HOST_OS}]) > + BUILD_PIMLIB=true > + BUILD_ISOLIB=true > + BUILD_CORLIB=true > + BUILD_LOGLIB=true > +fi > + > +CC_FOR_BUILD=${CC_FOR_BUILD:-gcc} > +AC_SUBST(CC_FOR_BUILD) > + > +# Propagate GM2_FOR_TARGET into Makefiles > +GM2_FOR_TARGET=${GM2_FOR_TARGET:-gcc} > +AC_SUBST(GM2_FOR_TARGET) > + > +# Now we check the target as long as it is a supported host. > +# For some embedded targets we choose minimal runtime system which is > +# just enough to satisfy the linker targetting raw metal. > +if test x${M2_HOST_OS} != xunknown; then > +AC_MSG_NOTICE([m2 library building for target ${target}]) > +case "$target" in > + > + avr25*-*-* | avr31*-*-* | avr35*-*-* | avr4*-*-* | avr5*-*-* | avr51*-*-* | avr6*-*-*) > + BUILD_PIMLIB=false > + BUILD_ISOLIB=false > + BUILD_CORLIB=false > + BUILD_LOGLIB=false > + ;; > + > + avrxmega2*-*-* | avrxmega4*-*-* | avrxmega5*-*-* | avrxmega6*-*-* | avrxmega7*-*-*) > + BUILD_PIMLIB=false > + BUILD_ISOLIB=false > + BUILD_CORLIB=false > + BUILD_LOGLIB=false > + ;; > + > + avr3-*-*) > + BUILD_PIMLIB=true > + BUILD_ISOLIB=true > + BUILD_CORLIB=true > + BUILD_LOGLIB=true > + ;; > + esp32-*-*) > + BUILD_PIMLIB=false > + BUILD_ISOLIB=false > + BUILD_CORLIB=false > + BUILD_LOGLIB=false > + ;; > + > +esac > +fi > + > +# GM2_MSG_RESULT issue a query message from the first parameter and a boolean result > +# in the second parameter is printed as a "yes" or "no". > + > +AC_DEFUN([GM2_MSG_RESULT],[ > + AC_MSG_CHECKING([$1]) > + if test x${$2} = xtrue; then > + AC_MSG_RESULT([yes]) > + else > + AC_MSG_RESULT([no]) > + fi > +]) > + > +if test x${M2_HOST_OS} = xunknown; then > + AC_MSG_NOTICE([m2 front end will only build minimal Modula-2 runtime library on this host]) > +else > + GM2_MSG_RESULT([m2 front end will build PIM libraries:],[BUILD_PIMLIB]) > + GM2_MSG_RESULT([m2 front end will build ISO libraries:],[BUILD_ISOLIB]) > + GM2_MSG_RESULT([m2 front end will build coroutine libraries:],[BUILD_CORLIB]) > + GM2_MSG_RESULT([m2 front end will build Logitech compatability libraries:],[BUILD_LOGLIB]) > +fi > + > +AM_CONDITIONAL([BUILD_PIMLIB], [test x$BUILD_PIMLIB = xtrue]) > +AM_CONDITIONAL([BUILD_ISOLIB], [test x$BUILD_ISOLIB = xtrue]) > +AM_CONDITIONAL([BUILD_CORLIB], [test x$BUILD_CORLIB = xtrue]) > +AM_CONDITIONAL([BUILD_LOGLIB], [test x$BUILD_LOGLIB = xtrue]) > + > +AC_CONFIG_SRCDIR([Makefile.am]) > +AC_CONFIG_FILES([Makefile libm2min/Makefile libm2pim/Makefile libm2iso/Makefile > + libm2cor/Makefile libm2log/Makefile]) > + > +AC_MSG_NOTICE([libgm2 has been configured.]) > + > +AC_OUTPUT > diff -ruw /dev/null gcc-git-devel-modula2/libgm2/autogen.sh > --- /dev/null 2022-08-24 16:22:16.888000070 +0100 > +++ gcc-git-devel-modula2/libgm2/autogen.sh 2022-10-07 20:21:18.734097972 +0100 > @@ -0,0 +1,31 @@ > +#!/bin/sh > + > +# autogen.sh regenerate the autoconf files. > +# Copyright 2013-2022 Free Software Foundation, Inc. > +# > +# 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 > +# . > + > +rm -rf autom4te.cache > + > +# libtoolize > +rm -f aclocal.m4 > +# aclocal -I . -I config -I ../config > +aclocal -I . -I ../config > +autoreconf -I . -I ../config > +automake --include-deps > + > +rm -rf autom4te.cache > + > +exit 0 > diff -ruw /dev/null gcc-git-devel-modula2/libgm2/libm2cor/Makefile.am > --- /dev/null 2022-08-24 16:22:16.888000070 +0100 > +++ gcc-git-devel-modula2/libgm2/libm2cor/Makefile.am 2022-10-07 20:21:18.738098020 +0100 > @@ -0,0 +1,156 @@ > +# Makefile for libm2cor. > +# Copyright 2013-2022 Free Software Foundation, Inc. > +# > +# 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 > +# . > + > +SUFFIXES = .c .cc .mod .def .o .obj .lo .a .la > + > +ACLOCAL_AMFLAGS = -I . -I .. -I ../config > + > +VPATH = . @srcdir@ @srcdir@/../../gcc/m2/gm2-libs-coroutines > + > +# Multilib support. > +MAKEOVERRIDES= > + > +version := $(shell $(CC) -dumpversion) > + > +# Directory in which the compiler finds libraries etc. > +libsubdir = $(libdir)/gcc/$(target_alias)/$(version) > +# Used to install the shared libgcc. > +slibdir = @slibdir@ > + > +toolexeclibdir=@toolexeclibdir@ > +toolexecdir=@toolexecdir@ > +GM2_FOR_TARGET=@GM2_FOR_TARGET@ > + > +MULTIDIR := $(shell $(CC) $(CFLAGS) -print-multi-directory) > +MULTIOSDIR := $(shell $(CC) $(CFLAGS) -print-multi-os-directory) > + > +MULTIOSSUBDIR := $(shell if test x$(MULTIOSDIR) != x.; then echo /$(MULTIOSDIR); fi) > +inst_libdir = $(libsubdir)$(MULTISUBDIR) > +inst_slibdir = $(slibdir)$(MULTIOSSUBDIR) > + > + > +# Work around what appears to be a GNU make bug handling MAKEFLAGS > +# values defined in terms of make variables, as is the case for CC and > +# friends when we are called from the top level Makefile. > +AM_MAKEFLAGS = \ > + "GCC_DIR=$(GCC_DIR)" \ > + "GM2_SRC=$(GM2_SRC)" \ > + "AR_FLAGS=$(AR_FLAGS)" \ > + "CC_FOR_BUILD=$(CC_FOR_BUILD)" \ > + "CC_FOR_TARGET=$(CC_FOR_TARGET)" \ > + "GM2_FOR_TARGET=$(GM2_FOR_TARGET)" \ > + "CFLAGS=$(CFLAGS)" \ > + "CXXFLAGS=$(CXXFLAGS)" \ > + "CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \ > + "CFLAGS_FOR_TARGET=$(CFLAGS_FOR_TARGET)" \ > + "INSTALL=$(INSTALL)" \ > + "INSTALL_DATA=$(INSTALL_DATA)" \ > + "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \ > + "INSTALL_SCRIPT=$(INSTALL_SCRIPT)" \ > + "LDFLAGS=$(LDFLAGS)" \ > + "LIBCFLAGS=$(LIBCFLAGS)" \ > + "LIBCFLAGS_FOR_TARGET=$(LIBCFLAGS_FOR_TARGET)" \ > + "MAKE=$(MAKE)" \ > + "MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" \ > + "MULTIBUILDTOP=$(MULTIBUILDTOP)" \ > + "MULTISUBDIR=$(MULTISUBDIR)" \ > + "MULTIOSDIR=$(MULTIOSDIR)" \ > + "MULTIFLAGS=$(MULTIFLAGS)" \ > + "PICFLAG=$(PICFLAG)" \ > + "PICFLAG_FOR_TARGET=$(PICFLAG_FOR_TARGET)" \ > + "SHELL=$(SHELL)" \ > + "RUNTESTFLAGS=$(RUNTESTFLAGS)" \ > + "exec_prefix=$(exec_prefix)" \ > + "infodir=$(infodir)" \ > + "libdir=$(libdir)" \ > + "includedir=$(includedir)" \ > + "prefix=$(prefix)" \ > + "tooldir=$(tooldir)" \ > + "gxx_include_dir=$(gxx_include_dir)" \ > + "AR=$(AR)" \ > + "AS=$(AS)" \ > + "LD=$(LD)" \ > + "RANLIB=$(RANLIB)" \ > + "NM=$(NM)" \ > + "NM_FOR_BUILD=$(NM_FOR_BUILD)" \ > + "NM_FOR_TARGET=$(NM_FOR_TARGET)" \ > + "DESTDIR=$(DESTDIR)" \ > + "WERROR=$(WERROR)" \ > + "TARGET_LIB_PATH_libgm2=$(TARGET_LIB_PATH_libgm2)" > + > +# Subdir rules rely on $(FLAGS_TO_PASS) > +FLAGS_TO_PASS = $(AM_MAKEFLAGS) > + > + > +if BUILD_CORLIB > +M2DEFS = Debug.def Executive.def \ > + KeyBoardLEDs.def SYSTEM.def \ > + TimerHandler.def > + > +M2MODS = Debug.mod Executive.mod \ > + SYSTEM.mod TimerHandler.mod > + > +toolexeclib_LTLIBRARIES = libm2cor.la > + > +libm2cor_la_SOURCES = $(M2MODS) KeyBoardLEDs.cc > + > +nodist_EXTRA_libm2cor_la_SOURCES = dummy.c ## forces automake to generate the LINK definition > + > +libm2cordir = libm2cor > +libm2cor_la_DEPENDENCIES = SYSTEM.def $(addsuffix .lo, $(basename $(libm2cor_la_SOURCES))) > +libm2cor_la_CFLAGS = -I. -I.. -I$(GM2_SRC)/gm2-libs -I$(GM2_SRC)/gm2-libs-iso -DBUILD_GM2_LIBS -I@srcdir@/../ -I@srcdir@/../libm2iso > +libm2cor_la_M2FLAGS = -I. -I$(GM2_SRC)/gm2-libs-coroutines -I$(GM2_SRC)/gm2-libs -I$(GM2_SRC)/gm2-libs-iso -fm2-g -g > +libm2cor_la_LINK = $(LINK) -version-info $(libtool_VERSION) > +BUILT_SOURCES = SYSTEM.def > +CLEANFILES = SYSTEM.def > + > +M2LIBDIR = /m2/m2cor/ > + > +SYSTEM.def: Makefile > + bash $(GM2_SRC)/tools-src/makeSystem -fpim \ > + $(GM2_SRC)/gm2-libs-coroutines/SYSTEM.def \ > + $(GM2_SRC)/gm2-libs-coroutines/SYSTEM.mod \ > + -I$(GM2_SRC)/gm2-libs-coroutines:$(GM2_SRC)/gm2-libs:$(GM2_SRC)/gm2-libs-iso \ > + "$(GM2_FOR_TARGET)" $@ > + > +.mod.lo: > + $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(GM2_FOR_TARGET) -c $(CFLAGS_FOR_TARGET) $(LIBCFLAGS) $(libm2cor_la_M2FLAGS) $< -o $@ > + > +.cc.lo: > + $(LIBTOOL) --tag=CXX --mode=compile $(CXX) -c -I$(srcdir) $(CXXFLAGS) $(LIBCFLAGS) $(libm2cor_la_CFLAGS) $< -o $@ > + > +install-data-local: force > + mkdir -p $(DESTDIR)$(inst_libdir)/$(MULTIDIR)$(M2LIBDIR) > + $(INSTALL_DATA) .libs/libm2cor.la $(DESTDIR)$(inst_libdir)/$(MULTIDIR)$(M2LIBDIR) > + chmod 644 $(DESTDIR)$(inst_libdir)/$(MULTIDIR)$(M2LIBDIR)libm2cor.la > + $(INSTALL_DATA) .libs/libm2cor.a $(DESTDIR)$(inst_libdir)/$(MULTIDIR)$(M2LIBDIR) > + chmod 644 $(DESTDIR)$(inst_libdir)/$(MULTIDIR)$(M2LIBDIR)libm2cor.a > + $(RANLIB) $(DESTDIR)$(inst_libdir)/$(MULTIDIR)$(M2LIBDIR)libm2cor.a > + for i in $(M2DEFS) $(M2MODS) ; do \ > + if [ -f $$i ] ; then \ > + $(INSTALL_DATA) $$i '$(DESTDIR)$(inst_libdir)/$(MULTIDIR)$(M2LIBDIR)'; \ > + elif [ -f @srcdir@/../../gcc/m2/gm2-libs-coroutines/$$i ] ; then \ > + $(INSTALL_DATA) @srcdir@/../../gcc/m2/gm2-libs-coroutines/$$i '$(DESTDIR)$(inst_libdir)/$(MULTIDIR)$(M2LIBDIR)'; \ > + else \ > + echo "cannot find $$i" ; exit 1 ; \ > + fi ; \ > + chmod 644 $(DESTDIR)$(inst_libdir)/$(MULTIDIR)$(M2LIBDIR)$$i ; \ > + done > + > +force: > + > +endif > diff -ruw /dev/null gcc-git-devel-modula2/libgm2/libm2cor/KeyBoardLEDs.cc > --- /dev/null 2022-08-24 16:22:16.888000070 +0100 > +++ gcc-git-devel-modula2/libgm2/libm2cor/KeyBoardLEDs.cc 2022-10-07 20:21:18.738098020 +0100 > @@ -0,0 +1,157 @@ > +/* KeyBoardLEDs.c provide access to the keyboard LEDs. > + > +Copyright (C) 2005-2022 Free Software Foundation, Inc. > +Contributed by Gaius Mulley . > + > +This file is part of GNU Modula-2. > + > +GNU Modula-2 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, or (at your option) > +any later version. > + > +GNU Modula-2 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. > + > +Under Section 7 of GPL version 3, you are granted additional > +permissions described in the GCC Runtime Library Exception, version > +3.1, as published by the Free Software Foundation. > + > +You should have received a copy of the GNU General Public License and > +a copy of the GCC Runtime Library Exception along with this program; > +see the files COPYING3 and COPYING.RUNTIME respectively. If not, see > +. */ > + > +#include > +#include > + > +#if defined(linux) > + > +#include > +#include > +#include > +#include > +#include > +#include > + > +#if !defined(TRUE) > +# define TRUE (1==1) > +#endif > +#if !defined(FALSE) > +# define FALSE (1==0) > +#endif > + > +#include > + > +static int fd; > +static int initialized = FALSE; > + > + > +extern "C" void > +KeyBoardLEDs_SwitchScroll (int scrolllock) > +{ > + unsigned char leds; > + int r = ioctl (fd, KDGETLED, &leds); > + if (scrolllock) > + leds = leds | LED_SCR; > + else > + leds = leds & (~ LED_SCR); > + r = ioctl (fd, KDSETLED, leds); > +} > + > +extern "C" void > +KeyBoardLEDs_SwitchNum (int numlock) > +{ > + unsigned char leds; > + int r = ioctl (fd, KDGETLED, &leds); > + if (numlock) > + leds = leds | LED_NUM; > + else > + leds = leds & (~ LED_NUM); > + r = ioctl (fd, KDSETLED, leds); > +} > + > +extern "C" void > +KeyBoardLEDs_SwitchCaps (int capslock) > +{ > + unsigned char leds; > + int r = ioctl (fd, KDGETLED, &leds); > + if (capslock) > + leds = leds | LED_CAP; > + else > + leds = leds & (~ LED_CAP); > + r = ioctl (fd, KDSETLED, leds); > +} > + > +extern "C" void > +KeyBoardLEDs_SwitchLeds (int numlock, int capslock, int scrolllock) > +{ > + KeyBoardLEDs_SwitchScroll (scrolllock); > + KeyBoardLEDs_SwitchNum (numlock); > + KeyBoardLEDs_SwitchCaps (capslock); > +} > + > +extern "C" void > +_M2_KeyBoardLEDs_init (int, char **, char **) > +{ > + if (! initialized) > + { > + initialized = TRUE; > + fd = open ("/dev/tty", O_RDONLY); > + if (fd == -1) > + { > + perror ("unable to open /dev/tty"); > + exit (1); > + } > + } > +} > + > +#else > +extern "C" void > +KeyBoardLEDs_SwitchLeds (int numlock, int capslock, int scrolllock) > +{ > +} > + > +extern "C" void > +KeyBoardLEDs_SwitchScroll (int scrolllock) > +{ > +} > + > +extern "C" void > +KeyBoardLEDs_SwitchNum (int numlock) > +{ > +} > + > +extern "C" void > +KeyBoardLEDs_SwitchCaps (int capslock) > +{ > +} > + > +extern "C" void > +_M2_KeyBoardLEDs_init (int, char **, char **) > +{ > +} > + > +#endif > + > +/* GNU Modula-2 linking hooks. */ > + > +extern "C" void > +_M2_KeyBoardLEDs_finish (int, char **, char **) > +{ > +} > + > +extern "C" void > +_M2_KeyBoardLEDs_dep (void) > +{ > +} > + > +struct _M2_KeyBoardLEDs_ctor { _M2_KeyBoardLEDs_ctor (); } _M2_KeyBoardLEDs_ctor; > + > +_M2_KeyBoardLEDs_ctor::_M2_KeyBoardLEDs_ctor (void) > +{ > + M2RTS_RegisterModule ("KeyBoardLEDs", _M2_KeyBoardLEDs_init, _M2_KeyBoardLEDs_finish, > + _M2_KeyBoardLEDs_dep); > +}