comp.lang.ada
 help / color / mirror / Atom feed
From: anon@anon.org (anon)
Subject: Re: Compilation without implementation source
Date: Sun, 27 Jan 2008 19:54:43 GMT
Date: 2008-01-27T19:54:43+00:00	[thread overview]
Message-ID: <7k5nj.171912$MJ6.42817@bgtnsc05-news.ops.worldnet.att.net> (raw)
In-Reply-To: 43c33a30-8f1e-43a1-b84a-a22c4a37248a@v29g2000hsf.googlegroups.com

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 <gene.ressler@gmail.com> 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.




  parent reply	other threads:[~2008-01-27 19:54 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-01-27  3:34 Compilation without implementation source Gene
2008-01-27 17:04 ` Jeffrey R. Carter
2008-01-27 17:25   ` Simon Wright
2008-01-27 19:54 ` anon [this message]
2008-01-27 19:59   ` Pascal Obry
2008-01-28  4:58     ` Gene
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox