sdcc - http://www.geocities.com/ResearchTriangle/Forum/1353 To all, First a correction. I had a typo in the Cygnus URL. Correct URL is shown below. Second, Douglas wrote: Why do you have to put cygnus on the c drive? I have run it for a while on the D drive, which has worked fine until the latest release. Is there a manual fix to let cygnus reside at D without problems? The "bison" program (part of the Cygnus suite) is looking for a file on the c drive which is why the build does not work properly. Actually, it just references a path like /abc/xyz... which IMPLIES the c drive. You can probably work around the problem by mounting your D drive somewhere onto the main tree. I did not attempt this because I assumed most people trying to build on a Win 32 system do not know about UNIX administration. I do not know why it worked prior to this release. I would have to go back and try to build one of the previous releases to figure out if the problem resides with sdcc or Cygnus. Michael Jamet mjamet@computer.org ====================================================================== How to install SDCC from source on a Windows 95 or Windows NT 4 system This document describes how to install SDCC on a Win 95 or Win NT 4 system. These instructions probably work for Win 98 as well, but have not been tested on that platform. There are lots of little differences between UNIX and the Win32 Cygnus environment which make porting more difficult than it should be. If you want the details, please contact me. Otherwise just follow these instructions. 1. Install the Cygnus Software Go to http://sourceware.cygnus.com/cygwin. Cygnus provides a UNIX like environment for Win 32 systems. Download "full.exe" and install. You MUST install it on your C drive. "full.exe" contains a shell AND many common UNIX utilities. 2. Download and Extract the Latest SDCC The latest version can be found at www.geocities.com/ResearchTriange/Forum/1353. It can be uncompressed with winzip. 3. Start a Cygnus Shell There should be an entry in the Start Menu for Cygnus. Invoke the shell. This gives you a UNIX like environment. FROM THIS POINT ON, DIRECTORIES MUST BE SPECIFIED WITH FORWARD SLASHES (/) NOT THE DOS STYLE BACK SLASHES (\) BECAUSE THIS IS WHAT UNIX EXPECTS. - ex. "\winnt" would be "/winnt" under the shell. 4. Change Directory to Where SDCC was extracted (referred to as INSTALLDIR) ex. cd /sdcc218Da. If you extracted to a drive OTHER THAN C, the drive must be specified as part of the path. For example, if you extracted to your "g drive", type the following: "cd //g/mydir". You must use "//" to specify the drive. 5. Make Dirs Which are Automatically Made During the UNIX Installation From the INSTALLDIR, mkdir -p bin (not a typo, just "bin") mkdir -p /bin mkdir -p /usr/local/bin mkdir -p /usr/local/share mkdir -p /usr/local/share/sdcc51lib mkdir -p /usr/local/share/sdcc51inc mkdir -p /tmp (When a path from the root directory is specified WITHOUT a drive, the drive defaults to c. For example /michael/newuser => c:\michael\newuser) 6. Add Programs to /bin Expected by the Installation Process - Look at your path: echo $PATH One of the fields is the diretory with the CYGNUS programs. ex. /CYGNUS/CYGWIN~1/H-I586/BIN - cd to the directory found above. You may have to fiddle with the case (upper or lower) here because the PATH is SHOWN as all upper case, but is actually mixed. To help you along, you may type a letter or 2 followed by the escape key. The shell will fill out the remaining letters IF THEY describe a unique directory. If you have problems here, cd one directory and type "ls". "ls" is the equivalent of "dir/w". - Copy the following: cp sh.exe /bin cp pwd.exe /bin cp echo.exe /bin 7. Go back to the INSTALLDIR cd INSTALLDIR ex. cd //d/sdcc218Da 8. Run the configure Program ./configure The "./" is important because your current directory is NOT in your path. Under DOS, your current directory was implicitly always the first entry in your path. 9. Run make make This process takes quite some time under Win 32. 10. Install the Newly Built Software make install This will partially install the software into the /usr/local directories created in step 5. What it actually doing is copying the .c, .h and library files to directories under /usr/local/share. It will NOT be able to install the actual programs (binaries) because it does not know programs on Win32 systems have ".exe" extensions. For example, it tries to install sdcc instead of sdcc.exe. After the automated part is finished, you must manually copy the binaries: cd bin (This is the bin directory in your INSTALLDIR) cp * /usr/local/bin 11. Make sure /usr/local/bin is in Your PATH You may add c:\usr\local\bin to your path however your Win32 system allows. For example you may add it to the PATH statement in autoexec.bat. Good luck. If you have any questions send them to me or post them to the list. sdcc - http://www.geocities.com/ResearchTriangle/Forum/1353 To all, First a correction. I had a typo in the Cygnus URL. Correct URL is shown below. Second, Douglas wrote: Why do you have to put cygnus on the c drive? I have run it for a while on the D drive, which has worked fine until the latest release. Is there a manual fix to let cygnus reside at D without problems? The "bison" program (part of the Cygnus suite) is looking for a file on the c drive which is why the build does not work properly. Actually, it just references a path like /abc/xyz... which IMPLIES the c drive. You can probably work around the problem by mounting your D drive somewhere onto the main tree. I did not attempt this because I assumed most people trying to build on a Win 32 system do not know about UNIX administration. I do not know why it worked prior to this release. I would have to go back and try to build one of the previous releases to figure out if the problem resides with sdcc or Cygnus.