is boost required for running sdcc (not for compiling the sdcc suite itself)?
i tried to figure out which boost libraries are linked and could not find any dependency in sdcc or sdcpp.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
When running ./configure on the sdcc build, it complains that it cannot find a boost file "boost library not found (boost/graph/adjacency_list.hpp)". But that file is present in the default boost location (/opt/local/include).
How to tell sdcc where boost is?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Does the not-needed still hold true? I'm trying to cross compile for browser use of SDCC using emscripten. Boost and emscripten aren't exactly best friends. I've tried configuring with just about everything off and I can't get configure to pass.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
It is necessary for:
gbz80 backend
stm8 backend
pdk13 backend
pdk14 backend
pdk15 backend
and there is no feasible way around that. But one can just disable these ports.
It is also used for:
z80 backend
z180 backend
ez80_z80 backend
tlcs90 backend
r2k backend
r3ka backend
hc08 backend
s08 backend
lospre optimization
naddr optimization
for these, the use of boost could be made optional with reasonable effort (but at substantially degraded code quality - you can see the effect by using the options --max-allocs-per-node 1 --oldralloc --nolospre to see what would happen). If there is sufficient user demand we could implement support for compiling without boost for those.
Philipp
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
is boost required for running sdcc (not for compiling the sdcc suite itself)?
i tried to figure out which boost libraries are linked and could not find any dependency in sdcc or sdcpp.
Boost libraries are not required. Boost provides many useful headers which are used by some sdcc ports when sdcc itself is compiled.
When running ./configure on the sdcc build, it complains that it cannot find a boost file "boost library not found (boost/graph/adjacency_list.hpp)". But that file is present in the default boost location (/opt/local/include).
How to tell sdcc where boost is?
./configure ... CPPFLAGS=-I/opt/local/include
(I forgot it is CPPFLAGS or CXXFLAGS, run configure -h to confirm)
Does the not-needed still hold true? I'm trying to cross compile for browser use of SDCC using emscripten. Boost and emscripten aren't exactly best friends. I've tried configuring with just about everything off and I can't get configure to pass.
Currently, boost is required.
It is necessary for:
gbz80 backend
stm8 backend
pdk13 backend
pdk14 backend
pdk15 backend
and there is no feasible way around that. But one can just disable these ports.
It is also used for:
z80 backend
z180 backend
ez80_z80 backend
tlcs90 backend
r2k backend
r3ka backend
hc08 backend
s08 backend
lospre optimization
naddr optimization
for these, the use of boost could be made optional with reasonable effort (but at substantially degraded code quality - you can see the effect by using the options --max-allocs-per-node 1 --oldralloc --nolospre to see what would happen). If there is sufficient user demand we could implement support for compiling without boost for those.
Philipp