From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-0.3 required=5.0 tests=BAYES_00, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 X-Google-Thread: 103376,6575b47ba54cee7c X-Google-Attributes: gid103376,public,usenet X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!news2.google.com!news.glorb.com!wn12feed!worldnet.att.net!bgtnsc04-news.ops.worldnet.att.net.POSTED!53ab2750!not-for-mail Newsgroups: comp.lang.ada From: anon@anon.org (anon) Subject: Re: Reducing the size of executables produced by GNAT Reply-To: anon@anon.org (anon) References: <40e9c01a-8d31-4554-9d9b-18cce7834d56@s12g2000prg.googlegroups.com> <3ff060f5-673b-4011-a0d1-1692d6e6f105@e10g2000prf.googlegroups.com> X-Newsreader: IBM NewsReader/2 2.0 Message-ID: Date: Thu, 14 Feb 2008 10:53:36 GMT NNTP-Posting-Host: 12.65.30.246 X-Complaints-To: abuse@worldnet.att.net X-Trace: bgtnsc04-news.ops.worldnet.att.net 1202986416 12.65.30.246 (Thu, 14 Feb 2008 10:53:36 GMT) NNTP-Posting-Date: Thu, 14 Feb 2008 10:53:36 GMT Organization: AT&T Worldnet Xref: g2news1.google.com comp.lang.ada:19790 Date: 2008-02-14T10:53:36+00:00 List-Id: To use the "--RTS=" or "-fRTS=" feature all you do is create the following structure: /myrts /adainclude ada.ads ----- must be here system.ads -- must be here a-textio.adb -- user created version a-textio.ads ... /adalib ada.ali ----- must be here ada.o system.ali -- must be here system.o a-textio.ali -- user created version a-textio.o ... The "Ada.ads" and "System.ads" should be copied from the Standard installed ada system. All RTS source files should be inserted into the "adainclude" All RTS "*.ali" and RTS "*.o" files should be inserted in "adalib" Edit a copy of Ada.Text_IO (a-textio.ad?) so that it only includes the IO routines that you need. And that means deleting the exceptions and file structures. Use Import statement to link to OS, To compile the RTS you must use "-gnatg" in command line for all language packages or sub-packages. To use: gnat compile .ad[b|s] -fRTS=myrts gnat bind .ali -fRTS=myrts gnat link .ali -fRTS=myrts You could also add "-nostdinc" to insure that the standard Ada is not included or search. The "-nostdlib" added also on the link command. As you perform each of the three commands you might see error that you need to fix. Such as adding other packages that your RTS needs and you may have to copy or rewrite. In <3ff060f5-673b-4011-a0d1-1692d6e6f105@e10g2000prf.googlegroups.com>, Hibou57 writes: >On 13 f=E9v, 22:27, Gautier wrote: >> * For instance make a preprocessor for Ada (to begin with, a small subset = >of >> Ada) that spits FreePascal code. Then you would have your small "fixed cos= >t" for >> free with FreeAda (=3D preprocessor + FreePascal). >> * Alternatively, build an Ada front-end to the FreePascal compiler. >Better create a compiler from the ground up than playing such >dangerous game (hihi). > >> * Consider using another Ada compiler than GNAT to that purpose. >The fact is that GNAT is a monopol in this area. There use to be >SmallAda, and =B5Ada, which were rahter Ada interpreters. Just look for >"Ada compiler", on any search engine, and you will always be bringed >to "GNAT", in one way in an other. > >> Have you ever tried to have your own daemon on a shared host >> in any decent hosting company? >LOL > >Yes, if it would have been possible, I would have done it from a long. > >Just to come back to GNAT and its runtime, I will have a look at the >RTS source code. Pffff.... that's too much, and I feel as in an idle >state :p > >It seems that they is an option --RTS=3Dsjlj to use a kind of "long >jump" =E0 la C, but I do not know if it is smaller, and I can't test it >beceause the compiler said it can't find the runtime (there is just >one RTS, both in my Windows and Linux GNAT installation). > >Have a nice day