Rebuilding Derived headers on Windows
This page describes the procedure for running dodo on Windows using
the Cygwin GNU tools.
It is also possible to build dodo with Visual Studio and the commercial
MKS tools running AAF/dodo/makefile rather than AAF/dodo/GNUmakefile.
Required tools (all part of cygwin):
- Gnu Make
- C++ compiler
- Perl
- Bash Shell
if you add an extra interface file, you need to follow this procedure:
- if you don't already have it, checkout the dodoWin module
from CVS, this should give you the dodo directory and the extra make
files required.
- create your AAFmyInterface.dod macro file by editing a similar
example
- generate a new UUID for your COM interface
- add your Implementation and Unit Test for your interface (you can
use dodo to manually generate the basic files)
- add the AAFmyInterface to dodo/aafobjects.mk
- run GNUmakefile in the dodo directory by simply typing 'make'
- add the AAFmyInterface.dod macro file to CVS
- run the midl compiler ??
- add the new derived files to CVS ref-impl/src/com-api/: CAAFmyInterface.cpp
CAAFmyInterface.h
- Rebuild the Mac and Win SDKs to copy ref-api headers to their sub-directories
(Win build MakeSDK target, Mac run MakeSDK MPW script)
- CVS checkin all the affected derived files such as ref-impl/include/com-api
AAF.idl, AAF.h, AAF_i.c
The following table shows the steps that the main Dodo makefile goes
through to update the Derived files:
- GNUmakefile
-
../build/common.mk
- determines platform/environment
-
../build/Pdefs-Win.mk
- used by common.mk after checking OS type
-
tool/GNUmakefile builds the DODO executable
-
Runs PERL script sync_copyright.pl to update the copyright text in macros/base.mac
dodotargets.mak creates a list of DODO targets using aafobjects.mk as the
input file and running GenTargets.sh on this to create targets.mk
NOTE: new Target *.dod files must be added manually to aafobjects.mk
dododepend.mak creates DODO dependency information in its output file
depend.mk, using aafobjects.mk as input and running in sequence
GenDepend.sh and then GenDepend2.sh on this file. depend.mk
included in maketargets.mak to provide the dependencies for the targets.
maketargets_gnu.mak where the bulk of the work is done (builds all the targets).
Creates all *.idl files using shell scripts:
GenAafPrivateIdl.sh
GenAafIdl.sh
GenPluginIdl.sh
Creates various headers (*.h) using shell scripts:
GenAafPrivateh.sh
GenAafh.sh
GenPluginh.sh
Creates various *_i.refh files using shell scripts:
GenAafPrivate_i.sh
GenAaf_i.sh
GenPlugin_i.sh
Creates AAFClassIds.impl file with GenClassIds.sh
Creates AAFClassIds.comh file with GenClassIds.sh
Creates AAFObjectTable.comh file with GenObjectTable.sh
Creates AAFObjectTable_i.refh file with GenObjectTable_i.sh
Creates CAAF*.h and CAAF*.cpp files for each corresponding input *.dod file
Uses the Microsoft IDL compiler to generate
ref-impl/include/com-api files (only available under Windows NT, it says)
Thanks to Dudley Beenham at Sony for tracing out this summary.
|
|
- Press
- EBU Liaison
Upcoming Events:
AMWA Technical Mtg
October 15-17, 2008
Lifetime
New York, NY
Conference Notes:
Site Requirements:
- Adobe Acrobat
- Microsoft Word
- MS Power Point
|