Portability
From Buzztrax
We aim to make buzztard quite operating system independent (if possible). On this page we list all dependencies and links to portability issues. If a component is optional then the dependency type is soft, if it is mandatory then it is a hard dependency.
| dependency | type | gnu/linux | w32 | bsd/macosx |
|---|---|---|---|---|
| glib2 2.10.0 |
depends |
okay |
okay |
okay |
| gtk+2 2.6.0 |
depends |
okay |
okay |
uses XDarwin for now (see GTK+ for MacOS X development) |
| gnome-canvas | depends |
okay |
okay |
okay |
| librsvg | depends |
okay |
should work |
should work |
| libxml2 | depends |
okay |
okay |
okay |
| gstreamer 0.10.7 |
depends |
okay |
okay | |
| gconf 2.2.0 |
supports |
okay |
porting in work |
okay |
| gnome-vfs | supports |
okay |
porting in work |
okay |
| check | supports |
okay |
porting in work |
okay |
| hal | supports |
okay |
??? |
??? |
| libgnome 2.6.0 |
supports |
okay |
not needed |
not needed |
| libhildon | supports |
okay |
not needed |
not needed |
Green means "is no problem", Yellow means "not complete or we do not know", Red means "there is a problem".
Version checks in the code
find . -name "*.c" -exec grep "_CHECK_VERSION" {} \; | sort | uniq
Some of those can be removed if we raise the dependencies.
Portable shell scripts
We can use checkbashisms to test scripts. There are also some pages that list common pitfalls:
Links:
- gstreamer for win32 - A quick googling came up with this link, possibly useful.
- MacPorts is the most active effort to port open-source apps for MacOS X, it contains all the packages listed on this page. See the page about porting to MacOS.
- porting gtk apps to windows. Some good tips about a few problems and how to solve them.



