[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Newsgroup Home]
[news.eclipse.technology.imp] Re: IMP non-java bits and build process

Porter Ricks wrote:
Background: Now that eclipse is available again for Solaris x86 I'm interested in getting IMP working on this OS (specifically OpenSolaris). Not only to use IMP on this platform but also because because some other Eclipse projects (e.g. QVT declarative) are depending on IMP. If more projects depend on IMP in future then Solaris and other less well-supported platforms will miss out on them.

My questions are:

- Is there a summary of the build process for the whole IMP project available somewhere? Java and native code bits?

We have an internal page that summarizes the entire build process, which needs a bit of updating, given recent code restructuring. I'll get this posted to the IMP website on eclipse.org ASAP.

- Which parts remain non-100% pure-java (e.g. LPG) and where can I find details of their build process/requirements? How are they integrated into eclipse plugins?

The only non-Java code to which you're referring is not actually part of IMP per se: the LPG parser generator itself, which is written in C++, and is housed in the plugin lpg.generator. The runtime and the rest of the meta-tooling is 100% pure Java. If you don't want to use LPG, it's all 100% pure Java.

As Ed has pointed out, we've been checking in the generated lexer and
parser classes into the src repo for a while now, so you actually don't
need to run LPG to build IMP from its source.

- Any opinions on the difficulty of porting the native code components to another unix OS? Pretty much a routine process of configure make install etc? Any unusual build requirements?

The LPG generator is written in very simple C++, and we've built it for many different platforms, including Mac OS, Windows, Linux, AIX, and mainframes. Any recent version of g++ should be able to build it. There are Makefiles in the source distribution, but in reality it boils down roughly to "g++ -o lpg *.cpp". See the LPG project page on SourceForge for more info on getting the source.

- If I could build the binary bits for Solaris X86 what other changes would be needed in the plugins to allow it to be recognised as one of the valid platforms for IMP?

If you wanted to enable the LPG IDE for a new platform, you'd need to:

 - Create a new platform-specific plugin fragment for lpg.generator,
   making sure to add a platform constraint clause to its manifest.

 - Add the new fragment to the lpg.generator feature manifest.

You can follow the existing plugin fragments (e.g. lpg.generator.linux_x86)
as a template.

--
Cheers,
  -- Bob

--------------------------------
Robert M. Fuhrer
Research Staff Member
Programming Technologies Dept.
IBM T.J. Watson Research Center

IDE Meta-tooling Platform Project Lead (http://www.eclipse.org/imp)
X10: Productive High-Performance Parallel Programming (http://x10.sf.net)