12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- #!/usr/bin/perl
-
- # Intended to be run from linux-install_dependencies.pl
- #
- # Variables are wrt that parent scope
- #
-
- if (!$no_install) {
-
- my $old_dir = Cwd::getcwd();
-
- my $vrpn_src_dir = $dependencies_arch_dir . "/vrpn";
-
- # fetch the packages
- chdir "$dependencies_arch_dir";
- if (! -e "vrpn_07_31-ov.zip") {
- system('wget "http://openvibe.inria.fr/dependencies/linux-x86/vrpn_07_31-ov.zip"');
- ($CHILD_ERROR != 0) and die ("Could not download the itpp external sources [$CHILD_ERROR]");
- }
- if (! -e $vrpn_src_dir) {
- system('unzip "vrpn_07_31-ov.zip"');
- ($CHILD_ERROR != 0) and die ("Could not extract the itpp external archive");
- }
-
- # compile
-
- print "Compiling vrpn ...\n";
-
- my $bitness = `uname -m`;
- chomp($bitness);
-
- my $bitness_token = "";
- if($bitness == "x86_64") {
- # 64bit
- $bitness_token = "pc_linux64";
-
- system('sed -i "s/#HW_OS := pc_linux$/HW_OS := pc_linux64/g" vrpn/quat/Makefile');
- system('sed -i "s/#HW_OS := pc_linux$/HW_OS := pc_linux64/g" vrpn/Makefile');
- } else {
- $bitness_token = "pc_linux";
-
- system('sed -i "s/#HW_OS := pc_linux$/HW_OS := pc_linux/g" vrpn/quat/Makefile');
- system('sed -i "s/CC := gcc/CC := gcc -fPIC/g" vrpn/quat/Makefile');
- system('sed -i "s/#HW_OS := pc_linux$/HW_OS := pc_linux/g" vrpn/Makefile');
- system('sed -i "s/CC := gcc/CC := gcc -fPIC/g" vrpn/Makefile');
- system('sed -i "s/CC := g++/CC := g++ -fPIC/g" vrpn/Makefile');
- }
-
- system("cd vrpn/quat && make >make-quat.log 2>&1");
- system("cd vrpn && make >make-vrpn.log 2>&1");
-
- mkdir("$dependencies_dir/include");
- mkdir("$dependencies_dir/lib");
-
- system("chmod a-x vrpn/quat/*.h vrpn/*.h");
- system("cp vrpn/quat/*.h vrpn/*.h $dependencies_dir/include");
- system("cp vrpn/quat/$bitness_token/*.a vrpn/$bitness_token/*.a $dependencies_dir/lib");
-
- chdir $old_dir
- };
|