There are "universal wrappers" that attempt to do extra work to try to make non-portable applications work in a portable fashion: