Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-4637743

nested #include files not found by Corba jidl

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Not an Issue
    • Icon: P4 P4
    • None
    • 1.4.0
    • other-libs
    • sparc
    • solaris_8


      Name: gm110360 Date: 02/13/2002


      FULL PRODUCT VERSION :
      java version "1.4.0-rc"
      Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.0-rc-b91)
      Java HotSpot(TM) Client VM (build 1.4.0-rc-b91, mixed mode)


      FULL OPERATING SYSTEM VERSION :
      SunOS mars 5.8 Generic_108528-08 sun4u sparc
      SUNW,Ultra-Enterprise



      A DESCRIPTION OF THE PROBLEM :
      The Corba jidl tool does not find idl files that have been
      #included "xxx" from within another included file.

      eg directories and files

      /--devel
        |----lib
        | | - Types.idl
        | | - Methods.idl
        |
        |----test
              | - Test.idl


      -----------------------------------------
       /devel/lib/Test.idl

      #ifndef TYPES_IDL
      #define TYPES_IDL

      module lib {
      module types {

          struct Dummy { long value; };

      };};

      #endif

      -----------------------------------------
       /devel/lib/Methods.idl

      #ifndef METHODS_IDL
      #define METHODS_IDL

      #include "Types.idl"

      module lib {
      module methods {
          interface Controller {
              void perform(in lib::types::Dummy obj);
          };
      };};

      #endif

      -----------------------------------------
       /devel/test/Test.idl

      // (1)
      //#include "../lib/Methods.idl"

      // (2)
      //#include "/devel/lib/Methods.idl"

      // (3)
      #include <lib/Methods.idl>

      module test {
          struct Data { lib::methods::Controller obj };
      };


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

      When compiled from directory /devel/test
      > jidl Test.idl

      /home/rossb/proto/sun/idl/lib/Methods.idl (line 4):
      java.io.FileNotFoundException: Types.idl
      #include "Types.idl"
               ^
      This fails regardless of whether the include is (1)
      relative, (2) absolute path, or (3) relative to the a path
      specified on the command line (ie jidl -i /devel Test.idl)


      jild is interpreting the nested #include relative to its
      current directory. Instead it should be interpreted
      relative to the directory of the file containing the #include.


      This bug can be reproduced always.

      CUSTOMER WORKAROUND :
      Explicitly list all directories that contain IDL files on
      the command line to jidl.
      (Review ID: 139092)
      ======================================================================

            hputtaswsunw Hemanth Puttaswamy (Inactive)
            gmanwanisunw Girish Manwani (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: