Building FlightGear - Cross Compiling: Difference between revisions

Jump to navigation Jump to search
m
move roadmap to beginning of the page
m (→‎Roadmap: add column with priorities)
m (move roadmap to beginning of the page)
Line 19: Line 19:
{{#ev:youtube|ddYyH5CYhAo|400|left}}{{#ev:youtube|mTHhHMlTSAo|400|center}}
{{#ev:youtube|ddYyH5CYhAo|400|left}}{{#ev:youtube|mTHhHMlTSAo|400|center}}


== Roadmap ==
{{Note|to benefit from parallel builds on multicore systems, we need to review package dependencies to see which packages can be built concurrently, and which dependencies must be built sequentially}}
{| class="wikitable"
! Task !! Description !! Priority || People !! Progress
|-
| mxe 32-bit static tool-chain || progress of the static mxe i686-w64-mingw32-based tool-chain || [[File:Stars-5.png]] || Hamzaalloush|| {{Done}}
|-
| mxe 32-bit shared tool-chain || progress of the shared mxe i686-w64-mingw32-based tool-chain || || Hamzaalloush|| {{Progressbar|40}}
|-
| flightgear specific mxe tool-chain || progress of packages neccessary for the flightgear project, rather than the full 367 packages ||[[File:Stars-3.png]]||Hamzaalloush|| {{Progressbar|70}}
|-
| [[Superbuild]] || Update the CMake Superbuild to support mxe ??  ||[[File:Stars-0.png]] || Hooray||{{Not done}}
|-
| [[Building FlightGear with osgEarth Integration|osg-earth]]-patched FG || there's a Windows batch file created by poweroftwo demonstrating what needs to be done, see [http://forum.flightgear.org/viewtopic.php?f=81&t=23404] || || || {{Not done}}
|-
| [[Building FlightGear with osgEarth Integration|osg-earth]] || update the [[Superbuild#Maintenance|Superbuild to support osgEarth]] ||priority || people|| {{Not done}}
|-
| packages || provide binary mxe packages (deb/ppa) ||[[File:Stars-2.png]]||FlyHigh (?)|| {{Not done}}
|-
| VM || provide virtual appliance with mxe pre-configured and valid sg/fg build environments set up ||[[File:Stars-2.png]]||Hooray|| {{Not done}}
|-
| build server || get the [[FlightGear Build Server]] updated to support mxe-based cross-builds ||(priority)||Jenkins maintainers|| {{Not done}}
|}
=== Dependencies ===
This is a list of dependencies (usually, dedicated *.mk modules for mxe):
{| class="wikitable"
! Task !! Build System !! Description !! People !! Progress
|-
| plib.mk || autotools || provide mxe build scripts for plib || || {{Done}}
|-
| openrti.mk || cmake || add OpenRTI support || || {{Progressbar|30}}
|-
| optional ||cmake|| add support for [[Building_using_CMake#Optional_Features|optional dependencies]] (probably, separate *.mk files for each) || || {{Not done}}
|-
| simgear.mk ||cmake|| provide mxe build scripts for simgear ({{Usr|FlyHigh}} -saiarcot895 '''hint:focus on [[Building_using_CMake#Optional_Features|SG headless]] first''') || || {{Progressbar|70}}
|-
| openscenegraph.mk  support (shared library) ||cmake|| improve/fix up OpenSceneGraph 3.x support (i.e. shared,non-static, builds using plugins)  |||| {{Progressbar|90}}
|-
| osg examples/demos ||cmake|| ensure that all OSG examples build/link properly via <nowiki>-DBUILD_OSG_EXAMPLES=ON</nowiki> and <nowiki>-DBUILD_OSG_APPLICATIONS=ON</nowiki> || || {{Progressbar|90}}
|-
| flightgear.mk ||cmake|| provide mxe build scripts for flightgear |||| {{Progressbar|70}}
|-
| [[Building FlightGear with osgEarth Integration|osg-earth.mk]] ||cmake|| add dedicated <code>osgearth.mk</code> module for mxe (ensure that the examples are working properly) |||| {{Not done}}
|-
| 3rdParty || mxe || ensure 3rd party dependencies are built in the toolchain, and merge their *.mk packages in the clone |||| {{Progressbar|80}}
|-
| Makefile SVN support || make || tailor the MXE Makefile to resolve the commit suffix in file names of SVN snapshot's. specific to SG/FG by using ${PKG} conditionals |||| {{Progressbar|20}}
|}


== Goals ==
== Goals ==
Line 548: Line 602:
* We keep seeing people asking for ways to have an entirely self-contained FlightGear setup that doesn't require any installation (e.g. either all files residing in a single folder or the whole binary linked statically) - we used to support this a few years go, and we even had people using FG on a USB drive, or on boot-able drives - and we commonly suggest that people first try running FG on computers before purchasing any new hardware  - so it would make sense to look at what's needed to still support static builds using the mxe tool chain. This may involve making the static/dynamic configuration options configurable in the corresponding *.mk files.
* We keep seeing people asking for ways to have an entirely self-contained FlightGear setup that doesn't require any installation (e.g. either all files residing in a single folder or the whole binary linked statically) - we used to support this a few years go, and we even had people using FG on a USB drive, or on boot-able drives - and we commonly suggest that people first try running FG on computers before purchasing any new hardware  - so it would make sense to look at what's needed to still support static builds using the mxe tool chain. This may involve making the static/dynamic configuration options configurable in the corresponding *.mk files.


== Roadmap ==
{{Note|to benefit from parallel builds on multicore systems, we need to review package dependencies to see which packages can be built concurrently, and which dependencies must be built sequentially}}
{| class="wikitable"
! Task !! Description !! Priority || People !! Progress
|-
| mxe 32-bit static tool-chain || progress of the static mxe i686-w64-mingw32-based tool-chain || [[File:Stars-5.png]] || Hamzaalloush|| {{Done}}
|-
| mxe 32-bit shared tool-chain || progress of the shared mxe i686-w64-mingw32-based tool-chain || || Hamzaalloush|| {{Progressbar|40}}
|-
| flightgear specific mxe tool-chain || progress of packages neccessary for the flightgear project, rather than the full 367 packages ||[[File:Stars-3.png]]||Hamzaalloush|| {{Progressbar|70}}
|-
| [[Superbuild]] || Update the CMake Superbuild to support mxe ??  ||[[File:Stars-0.png]] || Hooray||{{Not done}}
|-
| [[Building FlightGear with osgEarth Integration|osg-earth]]-patched FG || there's a Windows batch file created by poweroftwo demonstrating what needs to be done, see [http://forum.flightgear.org/viewtopic.php?f=81&t=23404] || || || {{Not done}}
|-
| [[Building FlightGear with osgEarth Integration|osg-earth]] || update the [[Superbuild#Maintenance|Superbuild to support osgEarth]] ||priority || people|| {{Not done}}
|-
| packages || provide binary mxe packages (deb/ppa) ||[[File:Stars-2.png]]||FlyHigh (?)|| {{Not done}}
|-
| VM || provide virtual appliance with mxe pre-configured and valid sg/fg build environments set up ||[[File:Stars-2.png]]||Hooray|| {{Not done}}
|-
| build server || get the [[FlightGear Build Server]] updated to support mxe-based cross-builds ||(priority)||Jenkins maintainers|| {{Not done}}
|}
=== Dependencies ===
This is a list of dependencies (usually, dedicated *.mk modules for mxe):
{| class="wikitable"
! Task !! Build System !! Description !! People !! Progress
|-
| plib.mk || autotools || provide mxe build scripts for plib || || {{Done}}
|-
| openrti.mk || cmake || add OpenRTI support || || {{Progressbar|30}}
|-
| optional ||cmake|| add support for [[Building_using_CMake#Optional_Features|optional dependencies]] (probably, separate *.mk files for each) || || {{Not done}}
|-
| simgear.mk ||cmake|| provide mxe build scripts for simgear ({{Usr|FlyHigh}} -saiarcot895 '''hint:focus on [[Building_using_CMake#Optional_Features|SG headless]] first''') || || {{Progressbar|70}}
|-
| openscenegraph.mk  support (shared library) ||cmake|| improve/fix up OpenSceneGraph 3.x support (i.e. shared,non-static, builds using plugins)  |||| {{Progressbar|90}}
|-
| osg examples/demos ||cmake|| ensure that all OSG examples build/link properly via <nowiki>-DBUILD_OSG_EXAMPLES=ON</nowiki> and <nowiki>-DBUILD_OSG_APPLICATIONS=ON</nowiki> || || {{Progressbar|90}}
|-
| flightgear.mk ||cmake|| provide mxe build scripts for flightgear |||| {{Progressbar|70}}
|-
| [[Building FlightGear with osgEarth Integration|osg-earth.mk]] ||cmake|| add dedicated <code>osgearth.mk</code> module for mxe (ensure that the examples are working properly) |||| {{Not done}}
|-
| 3rdParty || mxe || ensure 3rd party dependencies are built in the toolchain, and merge their *.mk packages in the clone |||| {{Progressbar|80}}
|-
| Makefile SVN support || make || tailor the MXE Makefile to resolve the commit suffix in file names of SVN snapshot's. specific to SG/FG by using ${PKG} conditionals |||| {{Progressbar|20}}
|}


{{Building}}
{{Building}}
[[Category:Core developer documentation]]
[[Category:Core developer documentation]]

Navigation menu