comp.lang.ada
 help / color / mirror / Atom feed
* Gnat and multiple naming conventions
@ 2004-01-30  0:07 Ben Horowitz
  2004-01-30  1:31 ` Stephen Leake
  0 siblings, 1 reply; 2+ messages in thread
From: Ben Horowitz @ 2004-01-30  0:07 UTC (permalink / raw)


I am trying to compile a program with gnat, and am running into some
funny issues with naming.

I have two sets of files, with different naming conventions.  One set,
a part of ORBexpress, follows the .ads/.adb convention.  I don't have
the .adb files; instead I have the corresponding .ali and .o files.

The other set of files, part of software that I'm trying to get to
compile under gnat, follows the .1.ada/.2.ada convention.

I would like, insofar as possible, to (a) retain the .1.ada/.2.ada
convention for the files that follow that convention already [we have
thousands of files, and renaming them, even with gnatchop, would be
unpleasant]; and (b) use gnatmake for compilation [other developers I
work with would eventually like to use GPS for building files, and GPS
uses gnatmake].

I have tried creating two project files for this naming scenario;
these appear below.  The first project file, ois.gpr, uses the
.ads/.adb convention.  The second file, for my code, "withs" ois.gpr
and uses the .1.ada/.2.ada convention.

When I compile using gnatmake, I get the following error messages
(this is an excerpt; the full output of gnatmake appears below):

gnatmake: "corba.2.ada" not found
gnatmake: "corba-boa.2.ada" not found
gnatmake: "corba-command_line.2.ada" not found
gnatmake: "corba-orb.2.ada" not found
gnatmake: "corba-impl.2.ada" not found
gnatmake: "corba-impl-servant.2.ada" not found
gnatmake: "corba-request.2.ada" not found
gnatmake: "corba-serverrequest.2.ada" not found
gnatmake: "corba-stream.2.ada" not found
gnatmake: "corba-stream-time_optimized.2.ada" not found
gnatmake: "corba-object.2.ada" not found
gnatmake: "corba-object-helper.2.ada" not found
gnatmake: "corba-impl-server.2.ada" not found

It would appear that gnatmake is interpreting my project files to
mean: always use the .1.ada/.2.ada convention.  When I "with" ois.gpr,
the second project file, gnatmake does not understand this to mean:
use the .ads/.adb convention for the ORBexpress files.

Is there any way to inform gnatmake to use the .1.ada/.2.ada
convention for my code, and the .ads/.adb convention for the
ORBexpress files?

I am using gnatpro 3.16a1.

Thanks,
Ben

--------------------

Project file for ORBexpress:
(Note the naming section.)

project OIS is

   for Languages use ("Ada");
   for Source_Dirs use ("include\");
   for Object_Dir use "lib\";

   package Naming is
      for Specification_Suffix ("Ada") use ".ads";
      for Implementation_Suffix ("Ada") use ".adb";
      for Separate_Suffix use ".adb";
      for Casing use "lowercase";
      for Dot_Replacement use "-";
   end Naming;

   package Builder is
      for Default_Switches ("Ada") use ("-s", "-k", "-gnatf",
"-gnatv");
   end Builder;

   package Compiler is
      for Default_Switches ("Ada") use ("-gnatf", "-gnatv");
      for Default_Switches ("c") use ("");
      for Default_Switches ("c++") use ("");
   end Compiler;

   package Binder is
      for Default_Switches ("Ada") use ("-E", "-static");
   end Binder;

   package Linker is
      for Default_Switches ("Ada") use ("-g");
   end Linker;

   package Pretty_Printer is
      for Default_Switches ("Ada") use ("");
   end Pretty_Printer;

end OIS;



--------------------

Project file for files following the .1.ada/.2.ada naming convention:

with "ois.gpr";

project Test is

   for Languages use ("Ada");
   for Source_Dirs use ("src\");
   for Object_Dir use "obj\";
   for Exec_Dir use "bin\";
   for Main use ("client", "server");

   package Naming is
      for Specification_Suffix ("Ada") use ".1.ada";
      for Implementation_Suffix ("Ada") use ".2.ada";
      for Separate_Suffix use ".1.ada";
      for Casing use "lowercase";
      for Dot_Replacement use "-";
   end Naming;

   package Builder is
      for Default_Switches ("Ada") use ("-s", "-k", "-gnatf",
"-gnatv",
         "-vP2");
   end Builder;

   package Compiler is
      for Default_Switches ("Ada") use ("-gnatf", "-gnatv");
      for Default_Switches ("c") use ("");
      for Default_Switches ("c++") use ("");
   end Compiler;

   package Binder is
      for Default_Switches ("Ada") use ("-E", "-static");
   end Binder;

   package Linker is
      for Default_Switches ("Ada") use ("-g");
   end Linker;

   package Pretty_Printer is
      for Default_Switches ("Ada") use ("");
   end Pretty_Printer;

end Test;


--------------------

Output of
gnatmake -PTest.gpr


test.gpr:3:20: warning: file name does not match unit name, should be
"start_here.gpr"
gcc -c -gnatf -gnatv -o
d:\projects\ois_demos\start_here\obj\client.2.o
-gnatec=d:\projects\ois_demos\start_here\obj\GNAT-TEMP-000001.TMP
-gnatf -gnatv -I- -gnatA -x ada
d:\projects\ois_demos\start_here\src\client.2.ada

GNAT Pro 3.16a1 (20030610) Copyright 1992-2002 Free Software
Foundation, Inc.

Compiling: d:\projects\ois_demos\start_here\src\client.2.ada (source
file time stamp: 2003-08-27 01:19:58)
 131 lines: No errors
gcc -c -gnatf -gnatv -o
d:\projects\ois_demos\start_here\obj\counter.2.o
-gnatec=d:\projects\ois_demos\start_here\obj\GNAT-TEMP-000001.TMP
-gnatf -gnatv -I- -gnatA -x ada
d:\projects\ois_demos\start_here\src\counter.2.ada

GNAT Pro 3.16a1 (20030610) Copyright 1992-2002 Free Software
Foundation, Inc.

Compiling: d:\projects\ois_demos\start_here\src\counter.2.ada (source
file time stamp: 2004-01-28 23:48:26)
 99 lines: No errors
gcc -c -gnatf -gnatv -o
d:\projects\ois_demos\start_here\obj\counter-helper.2.o
-gnatec=d:\projects\ois_demos\start_here\obj\GNAT-TEMP-000001.TMP
-gnatf -gnatv -I- -gnatA -x ada
d:\projects\ois_demos\start_here\src\counter-helper.2.ada

GNAT Pro 3.16a1 (20030610) Copyright 1992-2002 Free Software
Foundation, Inc.

Compiling: d:\projects\ois_demos\start_here\src\counter-helper.2.ada
(source file time stamp: 2004-01-28 23:48:26)
 82 lines: No errors
gcc -c -gnatf -gnatv -o
d:\projects\ois_demos\start_here\obj\counter-impl.2.o
-gnatec=d:\projects\ois_demos\start_here\obj\GNAT-TEMP-000001.TMP
-gnatf -gnatv -I- -gnatA -x ada
d:\projects\ois_demos\start_here\src\counter-impl.2.ada

GNAT Pro 3.16a1 (20030610) Copyright 1992-2002 Free Software
Foundation, Inc.

Compiling: d:\projects\ois_demos\start_here\src\counter-impl.2.ada
(source file time stamp: 2003-08-27 01:19:58)
 51 lines: No errors
gcc -c -gnatf -gnatv -o
d:\projects\ois_demos\start_here\obj\server.2.o
-gnatec=d:\projects\ois_demos\start_here\obj\GNAT-TEMP-000004.TMP
-gnatf -gnatv -I- -gnatA -x ada
d:\projects\ois_demos\start_here\src\server.2.ada

GNAT Pro 3.16a1 (20030610) Copyright 1992-2002 Free Software
Foundation, Inc.

Compiling: d:\projects\ois_demos\start_here\src\server.2.ada (source
file time stamp: 2003-08-27 01:19:58)
 118 lines: No errors
gnatmake: "corba.2.ada" not found
gnatmake: "corba-boa.2.ada" not found
gnatmake: "corba-command_line.2.ada" not found
gnatmake: "corba-orb.2.ada" not found
gnatmake: "corba-impl.2.ada" not found
gnatmake: "corba-impl-servant.2.ada" not found
gnatmake: "corba-request.2.ada" not found
gnatmake: "corba-serverrequest.2.ada" not found
gnatmake: "corba-stream.2.ada" not found
gnatmake: "corba-stream-time_optimized.2.ada" not found
gnatmake: "corba-object.2.ada" not found
gnatmake: "corba-object-helper.2.ada" not found
gnatmake: "corba-impl-server.2.ada" not found

--------------------



^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: Gnat and multiple naming conventions
  2004-01-30  0:07 Gnat and multiple naming conventions Ben Horowitz
@ 2004-01-30  1:31 ` Stephen Leake
  0 siblings, 0 replies; 2+ messages in thread
From: Stephen Leake @ 2004-01-30  1:31 UTC (permalink / raw)
  To: comp.lang.ada

bhorowitdevnull@yahoo.com (Ben Horowitz) writes:

> I am using gnatpro 3.16a1.

I don't have an answer for you, but since you are a supported
customer, ask ACT!

Or upgrade to 5.01a; the project files are smarter there.

-- 
-- Stephe




^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2004-01-30  1:31 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-01-30  0:07 Gnat and multiple naming conventions Ben Horowitz
2004-01-30  1:31 ` Stephen Leake

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