6 | | 1. First of all, I started out with the goal of getting as many languages supported as possible, including python. This meant that I had to install !NumPy first, which turned out to be nontrivial (see [wiki:ccanumpy description]). The second requirement was support for shared libraries since fully static builds are (1) less flexible; and (2) not quite fully automated for CCA components. There is also the additional danger of running out of memory because of bloated static executables. |
| 6 | 1. First of all, I started out with the goal of getting as many languages supported as possible, including python. This necessitated the following steps: |
| 7 | a. Python distutils are rather crippled when it comes to cross-compiling. I build my own python (version 2.6.1) and extended the distutils implementation with a BG/P-specific compiler module. More details on that are available [wiki:bgpdistutils here]. |
| 8 | a. I had to install !NumPy , which turned out to be nontrivial (see [wiki:ccanumpy description]). The second requirement was support for shared libraries since fully static builds are (1) less flexible; and (2) not quite fully automated for CCA components. There is also the additional danger of running out of memory because of bloated static executables. |
| 9 | |
90 | | sed -i1 -e 's|^export_dynamic_flag_spec=.*$|export_dynamic_flag_spec="-qnostaticlink"|' \ |
91 | | -e 's|^pic_flag=.*$|pic_flag=" -qpic"|' \ |
92 | | -e 's|^archive_cmds=.*$|archive_cmds="\\$CC -G \\$libobjs \\$deplibs \\$compiler_flags \\${wl} -o \\$lib"|' \ |
93 | | -e 's|^hardcode_libdir_flag_spec=.*$|hardcode_libdir_flag_spec="-R\\$libdir -L\\$libdir"|' $prog |
| 94 | find $wd -name $prog -exec \ |
| 95 | sed -i1 -e 's|^export_dynamic_flag_spec=.*$|export_dynamic_flag_spec=""|g' \ |
| 96 | -e 's|^whole_archive_flag_spec=.$|whole_archive_flag_spec=""|g' \ |
| 97 | -e 's|^pic_flag=.*$|pic_flag=" -DPIC -qpic"|g' \ |
| 98 | -e 's|^archive_cmds=.*$|archive_cmds="\\$CC -G \\$libobjs \\$deplibs \\$compiler_flags -qmkshrobj -e \\$soname -o \\$lib"|g' \ |
| 99 | -e 's|^hardcode_libdir_flag_spec=.*$|hardcode_libdir_flag_spec="-R\\$libdir -L\\$libdir"|g' {} \; -print |
| 100 | |