Thanks, Alan, for all your help with this. For the others on this  
list, Alan and I communicated offlist a bit over the weekend--the  
short version is that all of my programming experience has been as a  
"loner," not involved with other developers on projects, and so the  
collaboration parts of the infrastructure (CMake, CVS) are all new to  
me. I'll do what I can to get up to speed. In the meantime,  
converting more C examples to Ada is pretty easy at this point, so  
I'll continue with that.

As I understand it, the GNAT (gcc Ada) build system is indeed quite  
different from the usual C stuff. This is in part because every Ada  
file explicitly lists all of its dependencies. At build time, only  
those files that have been changed and their dependencies are  
recompiled. Some of this magic is handled by the *.ali (Ada Library  
Information) files which are generated along with the *.o files at  
compile time. There is a comparison of the GNAT build system with the  
traditional build system as well as other Ada (library-based) build  
systems at http://gcc.gnu.org/onlinedocs/gcc-3.3.6/gnat_ug_unx/The- 
GNAT-Compilation-Model.html#The-GNAT-Compilation-Model. GNAT programs  
are often made with the convenient gnatmake command, but they can  
also be made using the usual gcc command; this is discussed at http:// 
gcc.gnu.org/onlinedocs/gcc-3.3.6/gnat_ug_unx/Compiling-Using- 
gcc.html#Compiling-Using-gcc.

Jerry

P.S. I hate to appear so creepily anonymous but I don't like  
polluting my "Google namespace" with my full name appearing in the  
several mailing lists that I am on. I am a self-employed Ph.D.  
Electrical Engineer and inventor with a background in signal  
processing, audio, and synthetic aperture radar. I live and work in  
Tempe, Arizona, USA, and my last name is B a u c k. I have a little  
web site at www.cooperbauck.com. I have switched to Ada after many  
years of Pascal use. I grew weary of converting between Pascals and  
decided to see what Ada has to offer, and I have to say that I am  
mightily impressed. Most people who do what I do use Matlab so I have  
to endure some overhead (e.g., writing bindings) to pay for my  
intransigence.



On Feb 24, 2007, at 2:00 AM, Alan W. Irwin wrote:

> On 2007-02-23 22:37-0700 Jerry wrote:
>
>> Please consider the attached tarball my contribution of an Ada  
>> binding to the
>> PLplot project. This code and the other files in the attachment  
>> may be
>> licensed under the LGPL.
>>
>> The binding is a very very nearly complete implementation of the  
>> public API
>> plus a partial implementation of the "C-only" API. It includes  
>> Example 1 as a
>> demo and an extensive README in HTML form. The only part of the  
>> public API
>> which needs attention deals with scaling data for things like  
>> contour plots.
>>
>> I'm not quite sure what is customary in stating the legal notices and
>> documentation and copyright notices within the code, so perhaps  
>> someone can
>> provide a pointer or two. Please don't be offended if names don't  
>> appear
>> correctly in the present offering as it is not my intention to  
>> overlook them.
>>
>> Comments are welcomed.
>
> Thanks, Jerry, for this donation of an Ada interface to PLplot and the
> examples.  I need some help from you to get this integrated into  
> PLplot.
>
> I have read PLplot.sh, but I am a little lost since you only give  
> how to
> build the example using ada_plplot.adb as the only Ada source.  I  
> believe
> this automatically builds the first example and thick and thin  
> interface
> libraries as needed, but I need to be able to do that separately and
> explicitly, and I also need to know how to install the thick and thin
> interface libraries. So the basic questions I would like you to  
> answer are
> how do you do the following with the gnatmake command:
>
> * Build the thick and thin interface libraries in the build tree.
>
> * Install those libraries in the install tree (which should involve
> relinking to the core PLplot library which will also be installed  
> in the
> install tree, but this step should not involve recompilation).
>
> * Build an ada example which links to those libraries in (a) the  
> build tree
> and (b) in the install tree.
>
> N.B. just give the cookbook that works for you on Mac OS X for the  
> 6 steps
> (2 steps per asterisk) above (please be exact because I am  
> unfamiliar with
> the gnatmake command), and I should be able to infer the equivalent
> on Linux with its different libplplot and libgcc_s names.  Once I  
> can get
> the Linux build and install to work for the interface libraries and  
> example,
> then I should be able to automate everything (both for Linux and  
> Mac OS X)
> with our CMake build system.
>
> BTW, to integrate the Ada interface and examples into PLplot, I  
> plan to put
> the thick and thin interface library source files; plplot.adb,  
> plplot.ads,
> plplotthin.adb, and plplotthin.ads; into bindings/ada and the  
> example source
> files; ada_plplot.adb, x01.adb x01.ads into examples/ada.
>
> Alan
> __________________________
> Alan W. Irwin
>
> Astronomical research affiliation with Department of Physics and  
> Astronomy,
> University of Victoria (astrowww.phys.uvic.ca).
>
> Programming affiliations with the FreeEOS equation-of-state  
> implementation
> for stellar interiors (freeeos.sf.net); PLplot scientific plotting  
> software
> package (plplot.org); the Yorick front-end to PLplot  
> (yplot.sf.net); the
> Loads of Linux Links project (loll.sf.net); and the Linux Brochure  
> Project
> (lbproject.sf.net).
> __________________________
>
> Linux-powered Science
> __________________________
>
> ---------------------------------------------------------------------- 
> ---
> Take Surveys. Earn Cash. Influence the Future of IT
> Join SourceForge.net's Techsay panel and you'll get the chance to  
> share your
> opinions on IT & business topics through brief surveys-and earn cash
> http://www.techsay.com/default.php? 
> page=join.php&p=sourceforge&CID=DEVDEV
> _______________________________________________
> Plplot-devel mailing list
> Plplot-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/plplot-devel
>


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel

Reply via email to