comp.lang.ada
 help / color / mirror / Atom feed
From: Martin Krischik <martin@krischik.com>
Subject: Re: Conditional compilation in Ada?
Date: Wed, 17 Nov 2004 10:28:24 +0100
Date: 2004-11-17T10:28:24+01:00	[thread overview]
Message-ID: <1493083.5zr6NCs8u0@linux1.krischik.com> (raw)
In-Reply-To: cndgus$9g6$1@korweta.task.gda.pl

jtg wrote:

> I am using Ada for many years now, but recently
> I stumbled upon a problem I cannot solve: I need
> some kind of conditional preprocessing, which is
> commonly used in C programs:
> 
> #ifdef CONDITION
>   (some source code)
> #else
>   (other source code)
> #endif
> 
> How to achieve it with Ada?

Depends on the Ada compiler you use. GNAT has "GNAT PREPROCESS" or
"gnatprep" for short. You need to RTFM ;-) on how to use "GNAT PREPROCESS".

> I am developing two applications which are very similar
> and share the same source code. The only difference is
> a small change in a fundamental data structure. Both versions of the
> data structure are mostly handled the same way (within thousands of
> lines of source code), but there are some 10 or 20 (number still
> growing) places where minor changes are necessary. What is worse,
> during the development every several hours I have to prepare
> and run both the applications. To do this, I have to perform
> "human preprocessing": find those places, comment lines
> for app1, and uncomment lines for app2. This is very error prone and
> I have already made a mistake.
> 
> Any hints?

Well in AdaCL long ago I used "GNAT PREPROCESS" - however once I learned the
Ada way more closely I removed all use "GNAT PREPROCESS" and used the build
management instead:

All differences where encapsulated in private "XXX.Low_Level" packages. When
suitalble "pagama Inline" was uesd. Those packages where moved ito "NT",
"Linux" and "OS2" directories. The build mamagement picks up the version
needed.

With Regards

Martin

-- 
mailto://krischik@users.sourceforge.net
http://www.ada.krischik.com



  parent reply	other threads:[~2004-11-17  9:28 UTC|newest]

Thread overview: 47+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-11-16 18:30 Conditional compilation in Ada? jtg
2004-11-16 18:45 ` Marius Amado Alves
2004-11-16 20:41   ` Nick Roberts
2004-11-17  8:36     ` Alex R. Mosteo
2004-11-16 19:03 ` Jeffrey Carter
2004-11-16 19:13   ` Hyman Rosen
2004-11-16 19:41     ` Björn Lundin
2004-11-16 20:08     ` tmoran
2004-11-16 20:27       ` Hyman Rosen
2004-11-16 23:49         ` Jim Rogers
2004-11-16 20:43     ` Martin Dowie
2004-11-16 19:06 ` tmoran
2004-11-17  9:39   ` Adrien Plisson
2004-11-17 16:39     ` Jacob Sparre Andersen
2004-11-17  2:44 ` Steve
2004-11-17 20:30   ` Jeffrey Carter
2004-11-18  4:09     ` Steve
2004-11-18  6:49       ` Martin Dowie
2004-11-18 15:17         ` Georg Bauhaus
2004-11-18 19:12           ` Martin Dowie
2004-11-18 17:34         ` Jeffrey Carter
2004-11-18 17:44       ` Jeffrey Carter
2004-11-18 18:03         ` Alex R. Mosteo
2004-11-19  3:00           ` Steve
2004-11-19 21:35             ` Simon Wright
2004-11-20  2:56               ` Steve
2004-11-20 16:57                 ` Simon Wright
2004-11-17  9:28 ` Martin Krischik [this message]
2004-11-17 13:39   ` Stephen Leake
2004-11-17 10:02 ` Frank Piron
2004-11-17 12:32   ` Georg Bauhaus
2004-11-17 14:44     ` Dmitry A. Kazakov
2004-11-18 15:23       ` Georg Bauhaus
2004-11-18 22:10         ` Brian May
2004-11-19  9:03           ` Martin Krischik
2004-11-20 17:31             ` Georg Bauhaus
2004-11-21  9:14               ` Martin Krischik
2004-12-12  0:36               ` Lionel Draghi
2004-12-12  0:17             ` How to switch off those damm warnings about unknows pragma Lionel Draghi
2004-12-13 11:10               ` Georg Bauhaus
2004-12-13 15:07               ` Peter Amey
2004-11-20  1:05         ` Conditional compilation in Ada? Dr. Adrian Wrigley
2004-11-20 17:25           ` Georg Bauhaus
2004-11-23  1:15           ` Arthur Schwarz
2004-11-23 15:42             ` skidmarks
2004-11-17 12:27 ` Marin David Condic
  -- strict thread matches above, loose matches on Subject: below --
2004-11-19  9:13 Christoph Karl Walter Grein
replies disabled

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