Palacios Public Git Repository

To checkout Palacios execute

  git clone http://v3vee.org/palacios/palacios.web/palacios.git
This will give you the master branch. You probably want the devel branch or one of the release branches. To switch to the devel branch, simply execute
  cd palacios
  git checkout --track -b devel origin/devel
The other branches are similar.


added disk model something or other
[palacios.git] / SETUP_DEV_ENV.pl
1 #!/usr/bin/perl
2
3
4
5 $dev_root = `pwd`;
6 #
7 # On cygwin, do something like the following
8 # pwd behaves trangely on cygwin
9 #
10 #$dev_root='/home/pdinda/Codes/vmm-dev';
11 chomp $dev_root;
12 $location = $dev_root . "/devtools";
13
14
15 print "\n";
16 print "Installing and configuring the v3vee development environment...\n";
17 print "Location: " . $location . "\n\n";
18
19 mkdir $location;
20
21
22
23 #install_binutils_2_16_91_i386();
24 install_gcc_3_4_6_i386();
25 install_nasm();
26 #
27 # This part is not quite working yet
28 # on cygwin, do through it by hand      
29 #
30 #install_dev86_0_16_17();
31
32
33 sub install_nasm {
34   ### Setup vmx capable nasm
35   print "Installing VMX capable NASM...\n";
36   chdir "./utils";
37   print "Unpacking...";
38   `tar -xzf nasm-0.98.39.tar.gz`;
39   print "done\n";
40   chdir "./nasm-0.98.39";
41   print "Patching in VMX support\n";
42   `patch < ../vmx.patch`;
43   print "Patch to fix the stupid installer...\n";
44   `patch < ../nasm-install.patch`;
45   print "Configuring...\n";
46   `./configure --prefix=$location`;
47   print "Compiling...\n";
48   `make`;
49   print "Installing...";
50   `make install`;
51   print "Done!!\n\n";
52   chdir $dev_root;
53 }
54
55
56
57 sub install_binutils_2_16_91_i386 {
58   print "Installing binutils v2.16.91\n";
59   chdir "./utils";
60   print "Unpacking...";
61   `tar -xzf binutils-2.16.91.0.7.tar.gz`;
62   print "done\n";
63   chdir "binutils-2.16.91.0.7";
64   print "Configuring...";
65   `./configure --prefix=$location/i386 --target=i386-elf --disable-nls`;
66   print "done\n";
67   print "Compiling...";
68   `make -j 4 all`;
69   print "done\n";
70   print "Installing...";
71   `make install`;
72   print "done!!\n";
73   chdir $dev_root;
74 }
75
76
77 sub install_gcc_3_4_6_i386 {
78   install_binutils_2_16_91_i386();
79   $ENV{'PATH'} = "$location/i386/bin:" . $ENV{'PATH'};
80
81   print "Installing gcc v3.4.6\n";
82   chdir "./utils";
83   print "Unpacking...";
84   `tar -xzf gcc-3.4.6.tar.gz`;
85   print "done\n";
86   chdir "gcc-3.4.6";
87   print "Configuring...";
88   `./configure --prefix=$location/i386 --target=i386-elf --disable-nls --enable-languages=c,c++ --without-headers`;
89   print "done\n";
90   print "Compiling...";
91   `make -j 4 all-gcc`;
92   print "done\n";
93   print "Installing...";
94   `make install-gcc`;
95   print "done!!\n";
96   chdir $dev_root;
97 }
98
99
100 sub install_binutils_2_16_91_x86_64 {
101
102 }
103
104
105 sub install_gcc_3_4_6_x86_64 {
106
107   print "Installing gcc v3.4.6\n";
108   chdir "./utils";
109   print "Unpacking...";
110   `tar -xzf gcc-3.4.6.tar.gz`;
111   print "done\n";
112   chdir "gcc-3.4.6";
113   print "Configuring...";
114   `./configure --target=x86_64 --prefix=$location/gcc_3.4.6-x86_64 --disable-nls --enable-languages=c,c++ --without-headers`;
115   print "done\n";
116   print "Compiling...\n";
117   `make all-gcc`;
118   print "done\n";
119   print "Installing...\n";
120   `make install-gcc`;
121   print "done!!\n";
122   chdir $dev_root;
123 }
124
125 sub install_dev86_0_16_17 {
126
127   print "Installing bcc, ld86, as86, and bcc-cpp from Dev86src-0.16.17.tar.gz\n";
128   chdir "./utils";
129   print "Unpacking...";
130   `tar -xzf Dev86src-0.16.17.tar.gz`;
131   print "done\n";
132   chdir "./dev86-0.16.17";
133   print "Compiling...\n";
134   `make as86 ld86 bcc86`;
135   `make -C cpp`;
136   print "done\n";
137   print "Installing...\n";
138   `cp as/as86.exe bcc/bcc.exe bcc/bcc-cc1.exe cpp/bcc-cpp.exe ld/ld86.exe $location/bin`;
139   print "done!!\n";
140   chdir $dev_root;
141 }