Next: 2.4.6 Building SDCC Using
Up: 2.4 Building SDCC
Previous: 2.4.4 Building SDCC using
Contents
Index
Download the source package either from the SDCC Subversion repository
or from the snapshot builds http://sdcc.sourceforge.net/snap.php,
it will be named something like sdcc-src-yyyymmdd-rrrr.tar.bz2. SDCC
is distributed with all the projects, workspaces, and files you need
to build it using Visual C++ 6.0/NET (except for SDCDB and ucSim).
The workspace name is 'sdcc.dsw'. Please note that as it is now, all
the executables are created in a folder called sdcc\bin_vc.
Once built you need to copy the executables from sdcc\bin_vc
to sdcc\bin before running SDCC.
WARNING: Visual studio is very picky with line terminations; it expects
the 0x0d, 0x0a DOS style line endings, not the 0x0a Unix style line
endings. When using the Subversion repository it's easiest to configure
the svn client to convert automatically for you. If however you are
getting a message such as "This makefile was not generated
by Developer Studio etc. etc.'' when opening the sdcc.dsw workspace
or any of the *.dsp projects, then you need to convert the Unix
style line endings to DOS style line endings. To do so you can use
the ''unix2dos'' utility freely available on the internet. Doug
Hawkins reported in the sdcc-user list that this works:
C:\Programming\SDCC> unix2dos sdcc.dsw
C:\Programming\SDCC> for /R %I in (*.dsp)
do @unix2dos "%I"
In order to build SDCC with MSVC you need win32 executables of bison.exe,
flex.exe, and gawk.exe. One good place to get them is here http://unxutils.sourceforge.net
Download the file UnxUtils.zip. Now you have to install
the utilities and setup MSVC so it can locate the required programs.
Here there are two alternatives (choose one!):
- The easy way:
a) Extract UnxUtils.zip to your C:\ hard disk PRESERVING
the original paths, otherwise bison won't work. (If you are using
WinZip make certain that 'Use folder names' is selected)
b) In the Visual C++ IDE click Tools, Options, select the Directory
tab, in 'Show directories for:' select 'Executable files', and in
the directories window add a new path: 'C:\user\local\wbin',
click ok.
(As a side effect, you get a bunch of Unix utilities that could be
useful, such as diff and patch.)
- A more compact way:
This one avoids extracting a bunch of files you may not use, but requires
some extra work:
a) Create a directory were to put the tools needed, or use a directory
already present. Say for example 'C:\util'.
b) Extract 'bison.exe', 'bison.hairy', 'bison.simple', 'flex.exe',
and gawk.exe to such directory WITHOUT preserving the original paths.
(If you are using WinZip make certain that 'Use folder names' is not
selected)
c) Rename bison.exe to '_bison.exe'.
d) Create a batch file 'bison.bat' in 'C:\util\'
and add these lines:
set BISON_SIMPLE=C:\util\bison.simple
set BISON_HAIRY=C:\util\bison.hairy
_bison %1 %2 %3 %4 %5 %6 %7 %8 %9
Steps 'c' and 'd' are needed because bison requires by default that
the files 'bison.simple' and 'bison.hairy' reside in some weird Unix
directory, '/usr/local/share/' I think. So it is necessary to tell
bison where those files are located if they are not in such directory.
That is the function of the environment variables BISON_SIMPLE and
BISON_HAIRY.
e) In the Visual C++ IDE click Tools, Options, select the Directory
tab, in 'Show directories for:' select 'Executable files', and in
the directories window add a new path: 'c:\util', click
ok. Note that you can use any other path instead of 'c:\util',
even the path where the Visual C++ tools are, probably: 'C:\Program
Files\Microsoft Visual Studio\Common\Tools'.
So you don't have to execute step 'e' :)
That is it. Open 'sdcc.dsw' in Visual Studio, click 'build all', when
it finishes copy the executables from sdcc\bin_vc
to sdcc\bin, and you can compile using SDCC.
Next: 2.4.6 Building SDCC Using
Up: 2.4 Building SDCC
Previous: 2.4.4 Building SDCC using
Contents
Index
2008-12-05