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
next prev 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