Updates for cygwin
authorbbahnsen <bbahnsen@6f19259b-4bc3-4df7-8a09-765794883524>
Fri, 28 Apr 2006 01:30:31 +0000 (01:30 +0000)
committerbbahnsen <bbahnsen@6f19259b-4bc3-4df7-8a09-765794883524>
Fri, 28 Apr 2006 01:30:31 +0000 (01:30 +0000)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@73 6f19259b-4bc3-4df7-8a09-765794883524

Tools/gcc/README.txt
Tools/gcc/tianoCross-gcc-4.0
Tools/gcc/tianoCross-gcc-4.1

index 71c31a8..9e581f2 100644 (file)
@@ -5,8 +5,9 @@ system to make the scripts work.
 \r
 You will need\r
 \r
-  A recent version of gcc that is able to produce executables for the machine\r
-    that you want to run this compiler on (the host machine).\r
+  A recent version (3.0 or later should be fine) of gcc that is able to produce\r
+    executables for the machine that you want to run this compiler on (the host\r
+    machine).\r
   wget or curl\r
   tar\r
   bzip\r
@@ -16,14 +17,19 @@ You will need
 \r
 CYGWIN Notes\r
 \r
-You must have the directory mounted as binary, or the build will not succeed.\r
-In the example below, /workspace is mounted as binary.\r
+You should setup cygwin to use binmode on all mounts. When you initially\r
+install cygwin it gives you the choice of Unix file mode (recommended) or DOS\r
+file mode. Unix mode will cause all the cygwin directories to be mounted in\r
+binmode, while DOS will mount the dirs in textmode. Here is an example of a\r
+cygwin install where the dirs are (properly) mounted in binmode.\r
 \r
-C:\cygwin\bin on /usr/bin type user (textmode)\r
-C:\cygwin\lib on /usr/lib type user (textmode)\r
+C:\cygwin\bin on /usr/bin type user (binmode)\r
+C:\cygwin\lib on /usr/lib type user (binmode)\r
 c:\workspace on /workspace type system (binmode)\r
-C:\cygwin on / type user (textmode)\r
-c: on /cygdrive/c type user (textmode,noumount)\r
-n: on /cygdrive/n type user (textmode,noumount)\r
+C:\cygwin on / type user (binmode)\r
 \r
+If you use textmode, it is likely that the build will fail in a way that is\r
+hard to debug.\r
+\r
+Cygwin is pretty slow, so it is not recommended for large builds.\r
 \r
index ed950e3..99fceb8 100644 (file)
@@ -22,6 +22,7 @@ set -ex
 GCC=gcc-4.0.2
 BINUTILS=binutils-2.16.1
 CYGWIN_SNAP=20060120 # You may need to find a more recent one.
+export PATH=/bin:/usr/bin
 
 #
 # Where to install
index 6b1dcc2..1a050e6 100644 (file)
@@ -4,6 +4,10 @@
 # Get, build and install the latest cross-development tools and libraries
 #
 
+###
+### CYGWIN :: Make sure that cygwin is mouting its file systems in binmode.
+###
+
 #
 # Specify the architectures for which the tools are to be built
 # To build for single target: ARCHS="m68k"
@@ -23,6 +27,7 @@ GCC=gcc-4.1.0
 BINUTILS=binutils-2.16.1
 # BINUTILS=binutils-2.16.91-20060119-1
 CYGWIN_SNAP=20060403 # You may need to find a more recent one.
+export PATH=/bin:/usr/bin
 
 #
 # Where to install
@@ -103,15 +108,15 @@ build() {
         cd build-binutils-$targ
         "${CONF_SHELL}" "../${BINUTILS}/configure" \
             --disable-nls "--target=${targ}" "--prefix=${pref}"
-        ${MAKE} -j5 -w all
+        ${MAKE} -j1 -w all
         ${MAKE} -w install
-        ) >> ${targ}.log 2>&1
+        ) >> ${targ}.log 2>&1 &&
 
         (
             mkdir -p $pref/$targ/sys-include;
             cp -fr cygwin-snapshot-${CYGWIN_SNAP}-1/newlib/libc/include/* $pref/$targ/sys-include
             cp -fr cygwin-snapshot-${CYGWIN_SNAP}-1/winsup/cygwin/include/* $pref/$targ/sys-include
-        )
+        ) &&
 
         ( mkdir -p build-gcc-$targ
         cd build-gcc-$targ
@@ -119,7 +124,7 @@ build() {
             --with-gnu-as --with-gnu-ld --with-newlib --verbose \
             --disable-libssp \
             --disable-nls --enable-languages=c
-        ${MAKE} -j5 -w all
+        ${MAKE} -j1 -w all
         ${MAKE} -w install 
         ) >> ${targ}.log 2>&1
     ) &