diff options
Diffstat (limited to 'doc/started/nt.t')
-rw-r--r-- | doc/started/nt.t | 365 |
1 files changed, 0 insertions, 365 deletions
diff --git a/doc/started/nt.t b/doc/started/nt.t deleted file mode 100644 index 9c5160b726..0000000000 --- a/doc/started/nt.t +++ /dev/null @@ -1,365 +0,0 @@ -@c -@c COPYRIGHT (c) 1988-1998. -@c On-Line Applications Research Corporation (OAR). -@c All rights reserved. -@c -@c $Id$ -@c - -@set CYGWIN-VERSION B19 -@set CYGWIN-FTP http://www.cygnus.com/misc/gnu-win32/ -@set CYGWIN-COOLVIEW http://www.lexa.ru/sos/ -@set DOS2UNIX-FTP ftp://ftp.micros.hensa.ac.uk/platforms/ibm-pc/ms-dos/simtelnet/txtutl/dos2unix.zip -@set PFE-FTP http://www.lancs.ac.uk/people/cpaap/pfe/ - -@chapter Using MS-Windows as a Development Host - -This chapter discusses the installation of the GNU tool chain -on a computer running the Microsoft Windows NT operating system. - -This chapter is based on a draft provided by -Geoffroy Montel <g_montel@@yahoo.com>. Geoffroy's -procedure was based on information from -David Fiddes <D.J@@fiddes.surfaid.org>. -Their input and feedback is greatly appreciated. - -@b{STATUS:} This chapter should be considered preliminary. -Please be careful when following these instructions. - -@section Version Information - -This installation process works well under Windows NT. -Using Windows 95 or 98 is not recommended although it -should be possible with version 3.77 of gmake and an updated -cygwinb19.dll. - -This procedure should also work with newer version of -the tool versions listed in this chapter, but this has -not been verified. If you have success with a particular -version of the toolset or notice problems in this chapter, -please let the RTEMS maintainers know so they can be -addressed in future revisions of this document. - -@section MS-Windows Host Specific Requirements - -This section details the components required to install -and build a Windows hosted GNU cross development toolset. - -@subsection Unzipping Archives - -You will have to uncompress many archives during this -process. You must @b{NOT} use @code{WinZip} or -@code{PKZip}. Instead the un-archiving process uses -the GNU @code{zip} and @code{tar} programs as shown below: - -@example -tar -xzvf archive.tgz -@end example - -@code{tar} is provided with Cygwin32. - -@subsection Text Editor - -You absolutely have to use a text editor which can -save files with Unix format (so don't use Notepad -nor Wordpad). If you do not have an appropriate -text editor, try @b{Programmers File Editor}, it is -free and very convenient. This editor may be downloaded -from: - -@ifset use-html -@href{@value{PFE-FTP},,@value{PFE-FTP}} -@end ifset -@ifclear use-html -@value{PFE-FTP} -@end ifclear - -@subsection Bug in Patch Utility - -There is a bug in the @code{patch} utility -provided in Cygwin32 B19. The files modified end up -having MS-DOS style line termination. They must have -Unix format, so a @code{dos2unix}-like command must -be used to put them back into Unix format as shown below: - -@example -$ dos2unix XYZ -Dos2Unix: Cleaning file XYZ ... -@end example - -The dos2unix utility may be downloaded from: - -@ifset use-html -@href{@value{DOS2UNIX-FTP},,,@value{DOS2UNIX-FTP}} -@end ifset -@ifclear use-html -@value{DOS2UNIX-FTP} -@end ifclear - -You @b{must} change the format of every patched file -for the toolset build to work correctly. - -@subsection Files Needed - -This section lists the files required to build and install -a Windows hosted GNU cross development toolset and their -home WWW site. In addition to the sources required -for the cross environment listed earlier in @ref{Get All the Pieces}, -you will need to download the following -files from their respective sites using your favorite -Web browser or ftp client. - -@table @b - -@item cdk.exe -@ifset use-html -@href{@value{CYGWIN-FTP},,@value{CYGWIN-FTP}} -@end ifset -@ifclear use-html -@value{CYGWIN-FTP} -@end ifclear - -@item coolview.tar.gz -@ifset use-html -@href{@value{CYGWIN-COOLVIEW},,@value{CYGWIN-COOLVIEW}} -@end ifset -@ifclear use-html -@value{CYGWIN-COOLVIEW} -@end ifclear - -@end table - -@subsection System Requirements - -Although the finished cross-compiler is fairly easy on resources, -building it can take a significant amount of processing power and -disk space. The recommended build system spec is: - -@enumerate - -@item An AMD K6-300, Pentium II-300 or better processor. GNU C and Cygwin32 are -@b{very} CPU hungry. - -@item At least 64MB of RAM. - -@item At least 400MB of FAT16 disk space or 250MB if you have an NTFS partition. - -@end enumerate - -Even with this spec of machine expect the full suite to take over 2 hours to -build with a further half an hour for RTEMS itself. - - -@section Installing Cygwin32 B19 - -This section describes the process of installing the -version @value{CYGWIN-VERSION} of the Cygwin32 environment. It assumes -that this toolset is installed in a directory -referred to as @code{<RTOS>}. - -@enumerate - -@item Execute cdk.exe. These instructions assume that you -install Cygwin32 under the <RTOS>\cygnus\b19 directory. - -@item Execute Cygwin.bat (either on the start menu or -under <RTOS>\cygnus\b19). - -@item At this point, you are at the command line of @code{bash}, -a Unix-like shell. You have to mount the "/" directory. Type: - -@example -umount / -mount -b <RTOS> / -@end example - -For example, the following sequence mounts the @code{E:\unix} as the -root directory for the Cygwin32 environment. Note the use of two @code{\}s -when specifying DOS paths in bash: - -@example -umount / -mount -b e:\\unix / -@end example - -@item Create the /bin, /tmp, /source and /build directories. - -@example -mkdir /bin -mkdir /tmp -mkdir /source -mkdir /build -mkdir /build/binutils -mkdir /build/egcs -@end example - -@item The light Bourne shell provided with Cygwin B19 is buggy. -You should copy it to a fake name and copy @code{bash.exe} to @code{sh.exe}: - -@example -cd <RTOS>/cygnus/b19/H-i386-cygwin32/bin -mv sh.exe old_sh.exe -cp bash.exe sh.exe -@end example - -The Bourne shell has to be present in /bin directory to run shell scripts properly: - -@example -cp <RTOS>/cygnus/b19/H-i386-cygwin32/bin/sh.exe /bin -cp <RTOS>/cygnus/b19/H-i386-cygwin32/bin/bash.exe /bin -@end example - - -@item Open the file -@code{/cygnus/b19/H-i386-cygwin32/lib/gcc-lib/i386-cygwin32/2.7-b19/specs}, -and change the following line: - -@example --lcygwin %@{mwindows:-luser32 -lgdi32 -lcomdlg32@} -lkernel32 -@end example - -to: - -@example --lcygwin %@{mwindows:-luser32 -lgdi32 -lcomdlg32@} -lkernel32 -ladvapi32 -@end example - -@end enumerate - -At this point, you have a native installation of Cygwin32 and -are ready to proceed to building a cross-compiler. - -@c -@c BINUTILS -@c - -@section Installing binutils - -@enumerate - -@item Unarchive @value{BINUTILS-TAR} following the -instructions in @ref{Unarchiving the Tools} into the /source directory. -Apply the appropriate RTEMS specific patch as detailed in -@ref{Apply RTEMS Patch to binutils}. - -@item In the @code{/build/binutils} directory, execute the following -command to configure @value{BINUTILS-VERSION}: - -@example -/source/@value{BINUTILS-UNTAR}/configure --verbose --target=m68k-rtems \ - --prefix=/gcc-m68k-rtems --with-gnu-as --with-gnu-ld -@end example - -Replace @code{m68k-rtems} with the target configuration -of your choice. See @ref{Running the bit Script} for a -list of the targets available. - -@item Execute the following command to compile the toolset: - -@example -make -@end example - -@item Install the full package with the following command: - -@example -make -k install -@end example - -There is a problem with the gnu info package which will cause an -error during installation. Telling make to keep going with -k allows -the install to complete. - -@item In the @code{cygnus.bat} file, add the directory -containing the cross-compiler executables to your search path -by inserting the following line: - -@example -PATH=E:\unix\gcc-m68k-rtems\bin;%PATH% -@end example - -@item You can erase the /build/binutils directory content if -disk space is tight. - -@item Exit bash and run @code{cygnus.bat} to restart -the Cygwin32 environment with the new path. - -@end enumerate - -@c -@c EGCS -@c - -@section Installing EGCS AND NEWLIB - -@enumerate -@item Unarchive and patch @value{EGCS-TAR} and @value{NEWLIB-TAR} -following the instructions in @ref{Unarchiving the Tools}. -Apply the appropriate RTEMS specific patches as detailed in -@ref{Apply RTEMS Patch to EGCS} and @ref{Apply RTEMS Patch to newlib}. - -@b{NOTE}: See @ref{Bug in Patch Utility}. - -@item Remove the following directories (we cannot use Fortran -or Objective-C as Cygwin32 cross-compilers): - -@example -/source/@value{GCC-UNTAR}/libf2c -/source/@value{GCC-UNTAR}/gcc/objc -/source/@value{GCC-UNTAR}/gcc/f -@end example - -@b{NOTE}: See @ref{Bug in Patch Utility}. - -@item Link the following directories from Newlib to the main EGCS directory, -/source/@value{GCC-UNTAR}/ : - -@itemize @bullet -@item ln -s ../@value{NEWLIB-UNTAR}/newlib newlib -@item ln -s ../@value{NEWLIB-UNTAR}/libgloss libgloss -@end itemize - -@item Change to the /build/egcs directory to configure the compiler: - -@example -/source/@value{GCC-UNTAR}/configure --verbose --target=m68k-rtems \ - --prefix=/gcc-m68k --with-gnu-as --with-gnu-ld \ - --with-newlib -@end example - -Replace @code{m68k-rtems} with the target configuration -of your choice. See @ref{Running the bit Script} for a -list of the targets available. - -@item Compile the toolset as follows: - -@example -make cross -@end example - -You must do a @code{make cross} (not a simple @code{make}) -to insure that the different packages are built in the correct -order. Making the compiler can take several hours even on -fairly fast machines, beware. - -@item Install with the following command: - -@example -make -k install -@end example - -@item Just as with binutils package, a problem with the gnu -info package not building correctly requires that you use -k to -keep going. - -@example -make -k install -@end example - -@end enumerate - -With any luck, at this point you having a working cross-compiler. So -as Geoffroy said: - -@center @b{That's it! Celebrate!} - |