I have the following situation: I want to be able to build both regular and demo version sof my app. The regaular version must be symbian signed (because it uses certain capabilities), but I don't want to sign the demo version for cost reasons, and the simple fact that it probably cannot be signed because it won't be a usable app (it's a demo).
I am investigating the the use of include files in mmp files for this. If the core of the mmp file (resources, sources, librarie etc) is included in a top-level mmp file, I can put the capability statements and possibly some other mmp statements in the top. A different mmp file can then be used for the demo version, using less or no capabilities, possibly defining macro's, etc.
prj.mmh has the SOURCE, START RESOURCE etc stuff
prj.mmp looks like
and prj_demo.mmp looks like
By defining the macro I can conditionally compile demo mode code or regular code, including not compiling in the WriteDeviceData-dependent code.
There's also the situation when a shared dll needs different capabilities for the different UI's. This happens for instance with UIQ 3.x and S60 3rd edition. If you onclude the UIQ sendas dialog, you must have WriteDeviceData, while this isn't necessary when using RSendAs on S60.
If you use a single mmp file for the shared dll (which is reasonable, because it doesn't depend on the UI, only on the OS), one must use all capabilities that are are in use for all different UI's. This CAPABILITY CREEP therefore means that all apps must have the superset of capabilities needed by any app. Or that shared dll's must have different mmp files for each different UI, which are identical, except for the capability.
Using includes is a way out of this problem, and it works fine for the command line and CW 3.1.
My question is, will using include files in mmp files work for Eclipse/Carbide too?