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,d358a6b145a79134 X-Google-Attributes: gid103376,public,usenet X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!news2.google.com!news.glorb.com!wn13feed!worldnet.att.net!bgtnsc05-news.ops.worldnet.att.net.POSTED!53ab2750!not-for-mail Newsgroups: comp.lang.ada From: anon@anon.org (anon) Subject: Re: Compilation without implementation source Reply-To: anon@anon.org (anon) References: <43c33a30-8f1e-43a1-b84a-a22c4a37248a@v29g2000hsf.googlegroups.com> X-Newsreader: IBM NewsReader/2 2.0 Message-ID: <7k5nj.171912$MJ6.42817@bgtnsc05-news.ops.worldnet.att.net> Date: Sun, 27 Jan 2008 19:54:43 GMT NNTP-Posting-Host: 12.64.54.129 X-Complaints-To: abuse@worldnet.att.net X-Trace: bgtnsc05-news.ops.worldnet.att.net 1201463683 12.64.54.129 (Sun, 27 Jan 2008 19:54:43 GMT) NNTP-Posting-Date: Sun, 27 Jan 2008 19:54:43 GMT Organization: AT&T Worldnet Xref: g2news1.google.com comp.lang.ada:19618 Date: 2008-01-27T19:54:43+00:00 List-Id: In GNAT you only need the "*.ads" to compile. The Binding process needs only the *.ali of the all files used. The Linking process needs the main program ".ali", the files that are created by the binding process and objject files "*.o" for the files used. Along with the Standard GNAT files. The body "*.adb" are only needed to compile the modules initially. So, 1. Copy the modules to a temp directory both "*.adb" and "*.ads" 2. Compile each of the modules. 3. Erase the "body" aka "*.adb" 4. Copy the "*.ads *.ali *.o" to a students accessable directory with write protection turn on. 5. This gives the student access to the *.als *.ali, *.o only. In <43c33a30-8f1e-43a1-b84a-a22c4a37248a@v29g2000hsf.googlegroups.com>, Gene writes: >For an educational exercise using GNAT and gnatmake, I need to hide >implementations of some modules from students in the simplest possible >way. > >Is there a way to give them .ali, .ads, and .o files while withholding >the corresponding .adb, somehow telling gnatmake (and gnatbind) to >ignore the absence? > >Or must I provide a library? > >Other methods? > >Many thanks for your help.