[PolyORB-users] pragma Linker_Options

Simon Wright simon at pushface.org
Mon Jan 17 22:00:14 CET 2005


    POLYORB VERSION: 
CVS 14.i.05

    HOST MACHINE and OPERATING SYSTEM:
Linux tiamat.pushface.org 2.4.18-6mdk #1 Fri Mar 15 02:59:08 CET 2002 i686 unknown

    COMPILER VERSION
GNATLS Pro 5.02a1 (20040629) Copyright 1997-2003 Free Software Foundation, Inc.
(unsupported)

Source Search Path:
   <Current_Directory>
   /opt/5.02a1/lib/gcc-lib/i686-pc-linux-gnu/3.2.3/adainclude/

Object Search Path:
   <Current_Directory>
   /opt/5.02a1/lib/gcc-lib/i686-pc-linux-gnu/3.2.3/adalib/

autoconf (GNU Autoconf) 2.59

automake (GNU automake) 1.9.4

ltmain.sh (GNU libtool) 1.5.8 (1.1220.2.117 2004/08/04 14:12:05)

    DESCRIPTION:
These files still have this pragma,

  src/dsa/polyorb-dsa_p.ads:   pragma Linker_Options ("-lpolyorb-dsa");
  src/polyorb.ads:   pragma Linker_Options ("-lpolyorb");
  src/corba/polyorb-corba_p.ads:   pragma Linker_Options ("-lpolyorb-corba");
  src/giop/polyorb-giop_p.ads:   pragma Linker_Options ("-lpolyorb-giop");
  src/moma/polyorb-moma_p.ads:   pragma Linker_Options ("-lpolyorb-moma");
  src/soap/polyorb-soap_p.ads:   pragma Linker_Options ("-lpolyorb-soap");

which isn't a complete set. And anyway, isn't Linker_Options
problematic with static links?

    SAMPLE FIX/WORKAROUND:
Use GPR files? for my build (corba, giop only), I've used

   project PolyORB is

     for Source_Dirs use ();

     Compiler_Switches :=
       (
	"-I/opt/local/include/polyorb",
	"-I/opt/local/include/polyorb/corba",
	"-I/opt/local/include/polyorb/corba/cos",
	"-I/opt/local/include/polyorb/corba/messaging",
	"-I/opt/local/include/polyorb/corba/portableinterceptor",
	"-I/opt/local/include/polyorb/corba/rtcorba",
	"-I/opt/local/include/polyorb/giop",
	"-I/opt/local/include/polyorb/giop/diop",
	"-I/opt/local/include/polyorb/giop/iiop",
	"-I/opt/local/include/polyorb/giop/miop"
       );

     Linker_Switches :=
       (
	"-L/opt/local/lib",
	"-lpolyorb-corba",
	"-lpolyorb-corba-messaging",
	"-lpolyorb-corba-portableinterceptor",
	"-lpolyorb-corba-rtcorba",
	"-lpolyorb-corba-cos-event",
	"-lpolyorb-corba-cos-naming",
	"-lpolyorb-corba-cos-time",
	"-lpolyorb-corba-cos-naming-impl",
	"-lpolyorb-giop",
	"-lpolyorb-giop-diop",
	"-lpolyorb-giop-iiop",
	"-lpolyorb-giop-miop"
       );

   end PolyORB;

used as eg

   with "polyorb";

   project Callback is

     for Main use ("server", "receiver", "sender");

     for Source_Dirs use (".");

     for Exec_Dir use ".";

     for Object_Dir use ".build";

     package Builder is

	for Default_Switches ("ada") use
	  (
	   "-g",
	   "-j2",
	   "-m"
	  )
	  & PolyORB.Compiler_Switches;

     end Builder;

     package Compiler is

	for Default_Switches ("ada") use
	  (
	   "-gnatqQafoy",
	   "-gnatwaL",
	   "-O0"
	  );

     end Compiler;

     package Binder is

	for Default_Switches ("ada") use ("-E");

     end Binder;

     package Linker is

	for Default_Switches ("ada") use PolyORB.Linker_Switches;

     end Linker;

   end Callback;


More information about the PolyORB-users mailing list