Changes between Version 19 and Version 20 of Building/Porting
- Timestamp:
- 05/18/09 01:05:42 (4 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Building/Porting
v19 v20 81 81 The first step in porting to a new platform is to get an 82 82 ''unregisterised'' build working. An unregisterised build is one that 83 compiles via vanilla C only. T istcosts about a factor of two in83 compiles via vanilla C only. This costs about a factor of two in 84 84 performance, but since unregisterised compilation is usually just a step 85 85 on the way to a full registerised port, we don't mind too much. … … 125 125 126 126 {{{ 127 $ cd <T> 128 $ sh boot 129 $ ./configure --enable-hc-boot 127 <T>$ sh boot 128 <T>$ ./configure --enable-hc-boot 130 129 }}} 131 130 … … 134 133 135 134 {{{ 136 $ make bootstrapping-files135 <T>$ make bootstrapping-files 137 136 }}} 138 137 139 138 '''On the host machine''' 140 139 141 Unpack a source tree (same released version, with the extra libs). Call this directory `<H>`. 142 143 {{{ 144 $ cd <H> 145 $ sh boot 146 $ ./configure 140 Unpack a source tree (exactly the same version as before). Call this directory `<H>`. 141 142 {{{ 143 <H>$ sh boot 144 <H>$ ./configure 147 145 }}} 148 146 … … 182 180 183 181 {{{ 184 $ make182 <H>$ make 185 183 }}} 186 184 … … 189 187 190 188 {{{ 191 $ cd <H> 192 $ rm -f list mkfiles boot.tar.gz 193 $ find . -name "*.hc" >> list 194 $ find . -name "*_stub.*" >> list 195 $ find . -name package-data.mk >> list 196 $ find . -name package.conf >> list 197 $ find . -name package.conf.inplace >> list 198 $ echo compiler/main/Config.hs >> list 199 $ find . -name .depend | sed -e 's/^/mkdir -p `dirname /' -e 's/$/`/' >> mkfiles 200 $ find . -name .depend | sed "s/^/touch /" >> mkfiles 201 $ echo mkfiles >> list 202 $ tar -zcf boot.tar.gz -T list 189 <H>$ rm -f list mkfiles boot.tar.gz 190 <H>$ find . -name "*.hc" >> list 191 <H>$ find . -name "*_stub.*" >> list 192 <H>$ find . -name package-data.mk >> list 193 <H>$ find . -name package.conf >> list 194 <H>$ find . -name package.conf.inplace >> list 195 <H>$ echo compiler/main/Config.hs >> list 196 <H>$ find . -name .depend | sed -e 's/^/mkdir -p `dirname /' -e 's/$/`/' >> mkfiles 197 <H>$ find . -name .depend | sed "s/^/touch /" >> mkfiles 198 <H>$ echo mkfiles >> list 199 <H>$ tar -zcf boot.tar.gz -T list 203 200 }}} 204 201 … … 206 203 207 204 {{{ 208 $ cd <T> 209 $ cp /bin/pwd utils/ghc-pwd/ghc-pwd 210 }}} 211 212 {{{ 213 $ sh boot 214 $ ./configure --enable-hc-boot 205 <T>$ cp /bin/pwd utils/ghc-pwd/ghc-pwd 206 }}} 207 208 {{{ 209 <T>$ sh boot 210 <T>$ ./configure --enable-hc-boot 215 211 }}} 216 212 … … 218 214 219 215 {{{ 220 $ tar --touch -zxf boot.tar.gz221 $ sh mkfiles216 <T>$ tar --touch -zxf boot.tar.gz 217 <T>$ sh mkfiles 222 218 }}} 223 219 … … 240 236 241 237 {{{ 242 $ for c in libraries/*/configure; do ( cd `dirname $c`; ./configure ); done243 }}} 244 245 {{{ 246 $ sed -i .bak "s#<H>#<T>#g" */*/package-data.mk */*/*/package-data.mk247 $ touch -r compiler/stage2/package-data.mk */*/package-data.mk */*/*/package-data.mk238 <T>$ for c in libraries/*/configure; do ( cd `dirname $c`; ./configure ); done 239 }}} 240 241 {{{ 242 <T>$ sed -i .bak "s#<H>#<T>#g" */*/package-data.mk */*/*/package-data.mk 243 <T>$ touch -r compiler/stage2/package-data.mk */*/package-data.mk */*/*/package-data.mk 248 244 }}} 249 245 … … 252 248 253 249 {{{ 254 $ make bootstrapping-files255 }}} 256 257 {{{ 258 $ make all_ghc_stage2 2>&1 | tee log250 <T>$ make bootstrapping-files 251 }}} 252 253 {{{ 254 <T>$ make all_ghc_stage2 2>&1 | tee log 259 255 }}} 260 256
