next up previous contents index
Next: 2.4 Building SDCC Up: 2. Installing SDCC Previous: 2.2 Install paths   Contents   Index


2.3 Search Paths

Some search paths or parts of them are determined by configure variables (in italics, see section above). Further search paths are determined by environment variables during runtime.
The paths searched when running the compiler are as follows (the first catch wins):

1. Binary files (preprocessor, assembler and linker)

Search path default Win32 builds
$SDCC_HOME/$PPREFIX2BIN_DIR $SDCC_HOME/bin $SDCC_HOME\bin
Path of argv[0] (if available) Path of argv[0] Path of argv[0]
$PATH $PATH $PATH

2. Include files

# Search path default Win32 builds
1 --I dir --I dir --I dir
2 $SDCC_INCLUDE $SDCC_INCLUDE $SDCC_INCLUDE
3 $SDCC_HOME/
$PREFIX2DATA_DIR/
$INCLUDE_DIR_SUFFIX
$SDCC_HOME/
share/sdcc/include
$SDCC_HOME\include
4 path(argv[0])/
$BIN2DATADIR/
$INCLUDE_DIR_SUFFIX
path(argv[0])/../
sdcc/include
path(argv[0])\..\include
5 $DATADIR/
$INCLUDE_DIR_SUFFIX
/usr/local/share/
sdcc/include
(not on Win32)
6 $SDCC_HOME/
$PREFIX2DATA_DIR/
non-free/
$INCLUDE_DIR_SUFFIX
$SDCC_HOME/share/
sdcc/non-free/include
$SDCC_HOME\non-free\include
7 path(argv[0])/
$BIN2DATADIR/
non-free/
$INCLUDE_DIR_SUFFIX
path(argv[0])/../
sdcc/non-free/include
path(argv[0])\..\non-free\include
8 $DATADIR/
non-free/
$INCLUDE_DIR_SUFFIX
/usr/local/share/
sdcc/non-free/include
(not on Win32)

The option --nostdinc disables all search paths except #1 and #2.

3. Library files

With the exception of ''--L dir'' the model is auto-appended by the compiler (e.g. small, large, z80, ds390 etc.).

# Search path default Win32 builds
1 --L dir --L dir --L dir
2 $SDCC_LIB/<model> $SDCC_LIB/<model> $SDCC_LIB\<model>
3 $SDCC_HOME/
$PREFIX2DATA_DIR/
$LIB_DIR_SUFFIX/
<model>
$SDCC_HOME/
share/sdcc/lib/<model>
$SDCC_HOME\
lib\<model>
4 path(argv[0])/
$BIN2DATADIR/
$LIB_DIR_SUFFIX/
<model>
path(argv[0])/../sdcc/
lib/<model>
path(argv[0])\
..\lib\
<model>
5 $DATADIR/non-free/
$LIB_DIR_SUFFIX/
<model>
/usr/local/share/sdcc/
lib/<model>
(not on Win32)
6 $SDCC_HOME/
$PREFIX2DATA_DIR/
non-free/
$LIB_DIR_SUFFIX/
<model>
$SDCC_HOME/share/sdcc/
non-free/lib/<model>
$SDCC_HOME\
lib\non-free\<model>
7 path(argv[0])/
$BIN2DATADIR/
non-free/
$LIB_DIR_SUFFIX/
<model>
path(argv[0])/../sdcc/
non-free/lib/<model>
path(argv[0])\..\
lib\non-free\<model>
8 $DATADIR/non-free/
$LIB_DIR_SUFFIX/
<model>
/usr/local/share/sdcc/
non-free/lib/
<model>
(not on Win32)

 
The option --nostdlib disables all search paths except #1 and #2.


next up previous contents index
Next: 2.4 Building SDCC Up: 2. Installing SDCC Previous: 2.2 Install paths   Contents   Index
2012-03-20