www.digitalmars.com         C & C++   DMDScript  

c++ - DMC plug-in for eclipse advice??

reply AndyC <no none.org> writes:
I am updating an Eclipse plug-in for DigitalMars.  I have been
using an old one for 3.1.1 but 3.5 CDT is so much nicer I figure it
is worth the effort (we are Java 80%/C++ 20% using eclipse/CVS).

The examples for CDT plug-ins are pretty easy to follow so I should
have something to share by November (just win32 EXE).

I need feed back on the following compiler switches that dmc.exe
tells me it supports but I don't see much documentation on.  What
can I skip and what should I include?  Any and all feedback greatly
appreciated.

TIA
AndyC
===============================================
-Ab enable bool

-cod  generate .cod (assembly) file

-d  generate .dep (make dependency) file

-e  show results of preprocessor
-EC do not elide comments
-EL #line directives not output

-gs debug symbol info only


-H  use precompiled headers (ph)	-HDdirectory  use ph from
directory
-HF[filename]  generate ph to filename	-HHfilename  read ph from
filename
-HIfilename   #include "filename"	-HO include files only once
-HS only search -I directories          -HX automatic precompiled
headers


-Jb no empty base class optimization
-l[listfile]  generate list file


-m[tsmclvfnrpxz][do][w][u] set memory model
    s: small code and data		m: large code, small data
    c: small code, large data		l: large code and data
    v: VCM				r: Rational 16 bit DOS
Extender
    p: Pharlap 32 bit DOS Extender	x: DOSX 32 bit DOS Extender
    z: ZPM 16 bit DOS Extender		f: OS/2 2.0 32 bit
    t: .COM file			n: Windows
32s/95/98/NT/2000/ME/XP
    d: DOS 16 bit			o: OS/2 16 bit
    w: SS != DS				u: reload DS

-p  turn off autoprototyping
-w  suppress all warnings
-wc warn on C style casts
-wn suppress warning number n
-wx treat warnings as errors
-x  turn off error maximum
-XD instantiate templates
-XItemp<type>  instantiate template class temp<type>
-XIfunc(type)  instantiate template function func(type)
Sep 25 2009
parent reply Walter Bright <newshound1 digitalmars.com> writes:
You can skip pretty much all of them.

AndyC wrote:
 I am updating an Eclipse plug-in for DigitalMars.  I have been
 using an old one for 3.1.1 but 3.5 CDT is so much nicer I figure it
 is worth the effort (we are Java 80%/C++ 20% using eclipse/CVS).
 
 The examples for CDT plug-ins are pretty easy to follow so I should
 have something to share by November (just win32 EXE).
 
 I need feed back on the following compiler switches that dmc.exe
 tells me it supports but I don't see much documentation on.  What
 can I skip and what should I include?  Any and all feedback greatly
 appreciated.
 
 TIA
 AndyC
 ===============================================
 -Ab enable bool
 
 -cod  generate .cod (assembly) file
 
 -d  generate .dep (make dependency) file
 
 -e  show results of preprocessor
 -EC do not elide comments
 -EL #line directives not output
 
 -gs debug symbol info only
 
 
 -H  use precompiled headers (ph)	-HDdirectory  use ph from
 directory
 -HF[filename]  generate ph to filename	-HHfilename  read ph from
 filename
 -HIfilename   #include "filename"	-HO include files only once
 -HS only search -I directories          -HX automatic precompiled
 headers
 
 
 -Jb no empty base class optimization
 -l[listfile]  generate list file
 
 
 -m[tsmclvfnrpxz][do][w][u] set memory model
     s: small code and data		m: large code, small data
     c: small code, large data		l: large code and data
     v: VCM				r: Rational 16 bit DOS
 Extender
     p: Pharlap 32 bit DOS Extender	x: DOSX 32 bit DOS Extender
     z: ZPM 16 bit DOS Extender		f: OS/2 2.0 32 bit
     t: .COM file			n: Windows
 32s/95/98/NT/2000/ME/XP
     d: DOS 16 bit			o: OS/2 16 bit
     w: SS != DS				u: reload DS
 
 -p  turn off autoprototyping
 -w  suppress all warnings
 -wc warn on C style casts
 -wn suppress warning number n
 -wx treat warnings as errors
 -x  turn off error maximum
 -XD instantiate templates
 -XItemp<type>  instantiate template class temp<type>
 -XIfunc(type)  instantiate template function func(type)

Sep 28 2009
parent reply AndyC <no none.no> writes:
== Quote from Walter Bright (newshound1 digitalmars.com)'s article
 You can skip pretty much all of them.

I was able to reuse the tool-chain that scooter developed for the 3.1.1 version DigitalMars plugin so that saved me time. So far I have a single Win32 EXE managed build plugin working (it uses a linker response file, not a make file). It has a bit of a hack to build the .rc file but otherwise it works nicely. One problem is that it only works in Eclipse/debug mode, it doesn't parse the compiler errors correctly when I deploy the plug-in so I will have to tackle that as time permits. Once I have the error parser working I will get it into CVS somewhere and post the location.
Oct 01 2009
parent reply AndyC <no none.no> writes:
Here it is.  It produces Win32 exe only.  It only offers a Debug
configuration but you can change settings at will.
I creates a default .def file, but only if it doesn't exist so you
can edit it (this should be changed in later version).
It builds the .res file as an .obj but passes it correctly to the
linker.
It does not create a make file, it uses a linker responce file
instead.
I am looking to get it on eclipse CVS soon and will post.

AndyC
Oct 02 2009
parent Walter Bright <newshound1 digitalmars.com> writes:
Thanks for doing this. I hope the DMC++ users find it useful!
Oct 07 2009