[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[cdt-dev] Build System Requirements (input in to Fall Conference)
|
Leo,
you have a slot at the CDT Fall Conference
to discuss further build system requirements. I would like to start the
discussion regarding these. As far as I can see we have three more requirements
on the build system back-end. So let's take this as a starting point.
Regards
-- Lars
Command Line Length Limitations
Calling GNU makefiles from Windows is problematic
when bigger projects are included. In a Symbian context it has happened
before that the Windows command line limit of 32K was hit when performing
the link step. To work around this .via files and resource files are being
used.
There is no direct support to do this in MBS,
although it may be possible to create rules such as
${dllname}.<outext>
: <inputs>
@echo “1st set of options” > optionfile.via
@echo “2nd set of options” >> optionfile.via
…
<the actual call to the tool using optionfile.via>
using the commandLineGenerator feature of
MBS. However this technique is very slow and there is still a theoretical
possibility that the contents of a makefile variable in an echo could hit
the limit.
Groups of Sources that are passed to the
same Tool
This covers functionality such as converting
individual bitmaps/icons into the format which the OS understands.In some
circumstances you want to bundle several bitmaps together. In other cases
you don't. For example you might have a situation where you have:
(1) bitmap_1..bmp
.... bitmap_n.bmp => tool => output
OR (2) bitmap_1.bmp =>
tool => output
At the moment we have covered this by introducing
a new filetype which is a text list of bitmaps which then triggers a rule
of form (1). However this is not very elegant, and there may be a better
more integrated way of handling this, e.g. by saying it is possible to
group sources in some way.
Note that some compilers, e.g. ARMs RealView
compiler, has a feature called multi-file compilation where you can pass
several source files to one compiler call. The compiler then does quite
advanced global optimisation. To cover compiler features like this, you
would need to add a group concept as well.
Interfacing with existing Makefiles
Our command line build system has a facility
to interface with existing makefiles - these are called extension makefiles.
They work by describing an interface in terms of makefile-variables and
then invoking an existing makefile. If we wanted to cover these in CDT,
we would need have some mechanism which would allow the user to edit the
interface and generate an #include statement to the existing makefile.
I have not fully thought this through, but believe that at the moment we
could only do this if we were to develop our own makefile generator.
**********************************************************************
Symbian Software Ltd is a company registered in England and Wales with
registered number 4190020 and registered office at 2-6 Boundary Row,
Southwark, London, SE1 8HP, UK. This message is intended only for use by
the named addressee and may contain privileged and/or confidential
information. If you are not the named addressee you should not disseminate,
copy or take any action in reliance on it. If you have received this
message in error please notify postmaster@xxxxxxxxxxx and delete the
message and any attachments accompanying it immediately. Neither Symbian
nor any of its subsidiaries accepts liability for any corruption,
interception, amendment, tampering or viruses occurring to this message in
transit or for any message sent by its employees which is not in compliance
with Symbian corporate policy.
**********************************************************************