Boost logo

Boost :

From: Markus Schöpflin (markus.schoepflin_at_[hidden])
Date: 2001-10-22 07:17:49


Hi,

attached is a first try for a toolset which supports msvc and stlport. Unfortunately it is not (yet) usable.

It adds the following two features: stlport-iostream for selection of STLport iostream mode and stlport-version for version selection. I'm not sure if adding new features is the right thing to do but it seemed quite obvious for me as these settins affect link compatibility.

The STLport 4.0 installation directory is set with STLPORT_ROOT_4_0, the STLPort 4.5 installation directory is set with STLPORT_ROOT_4_5.

Problems:

- STDHDRS is not set correctly. It just contains the STLport include path and no sign of the system include path. :-( The same goes for STDLIBPATH.

    cl /Zm400 -nologo -GX -c -U__STL_NO_SGI_IOSTREAMS -D__STL_DEBUG=1 -D__STL_DEBUG_UNINITIALIZED=1 /Zi /Od /Ob0 /GX /GR /MDd -I"./build" -I"." -I"C:\src\STLport-4.0\stlport" -Fo"./build\bin\test\msvc-stlport\debug\runtime-link-dynamic\stlport-iostream-on\stlport-version-4.0\test.obj" -Tp"test.cpp"

- UNDEF flags somehow end up in the link line.

    link /nologo /DEBUG /PDB:"./build\bin\test\msvc-stlport\debug\runtime-link-dynamic\stlport-iostream-on\stlport-version-4.0\test.pdb" /out:"./build\bin\test\msvc-stlport\debug\runtime-link-dynamic\stlport-iostream-on\stlport-version-4.0\test.exe" __STL_NO_SGI_IOSTREAMS /LIBPATH:C:\src\STLport-4.0\lib "./build\bin\test\msvc-stlport\debug\runtime-link-dynamic\stlport-iostream-on\stlport-version-4.0\test.obj"

Comments, suggestion, fixes?

TIA, Markus

# this is simply an extension to the msvc toolset.
extends-toolset msvc ;

# STLport iostreams or native iostreams
feature stlport-iostream : off on ;

# major versions of STLport
feature stlport-version : 4.0 4.5 ;

# Stlport 4.0

flags msvc-stlport STDHDRS <stlport-version>4.0 : $(STLPORT_ROOT_4_0)$(SLASH)stlport $(STDHDRS) ;
flags msvc-stlport STDLIBPATH <stlport-version>4.0/<stlport-iostream>on : $(STLPORT_ROOT_4_0)$(SLASH)lib $(STDLIBPATH) ;

flags msvc-stlport DEFINES <stlport-version>4.0/<stlport-iostream>off : __STL_NO_SGI_IOSTREAMS=1 ;
flags msvc-stlport UNDEFS <stlport-version>4.0/<stlport-iostream>on : __STL_NO_SGI_IOSTREAMS ;

flags msvc-stlport DEFINES <stlport-version>4.0/<runtime-build>debug : __STL_DEBUG=1 __STL_DEBUG_UNINITIALIZED=1 ;

# Stlport 4.5

flags msvc-stlport STDHDRS <stlport-version>4.5 : $(STLPORT_ROOT_4_5)$(SLASH)stlport $(STDHDRS) ;
flags msvc-stlport STDLIBPATH <stlport-version>4.5/<stlport-iostream>on : $(STLPORT_ROOT_4_5)$(SLASH)lib $(STDLIBPATH) ;

flags msvc-stlport DEFINES <stlport-version>4.5/<stlport-iostream>off : _STLP_NO_OWN_IOSTREAMS=1 ;
flags msvc-stlport UNDEFS <stlport-version>4.5/<stlport-iostream>on : _STLP_NO_OWN_IOSTREAMS ;

flags msvc-stlport DEFINES <stlport-version>4.5/<runtime-build>debug : _STLP_DEBUG=1 _STLP_DEBUG_UNINITIALIZED=1 ;

#flags msvc-stlport FINDLIBS <runtime-link>static/<runtime-build>debug : stlport_$(GCC_STLPORT_LIB_ID)_stldebug ;
#flags msvc-stlport FINDLIBS <runtime-link>static/<runtime-build>release : stlport_$(GCC_STLPORT_LIB_ID) ;
#flags msvc-stlport FINDLIBS <runtime-link>dynamic/<runtime-build>debug : stlport_$(GCC_STLPORT_LIB_ID)_stldebug.dll.4.5.b8 ;
#flags msvc-stlport FINDLIBS <runtime-link>dynamic/<runtime-build>release : stlport_$(GCC_STLPORT_LIB_ID).dll.4.5.b8 ;
#flags msvc-stlport CFLAGS <runtime-link>dynamic : -D_STLP_USE_DYNAMIC_LIB ;


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk