2 # OS specific variable settings
5 ###############################################################################
7 ###############################################################################
9 PATH_SEPARATOR = "\\" ;
10 local SUPPORTED_TOOLSETS =
16 # if the JAM_TOOLSET environment variable is defined, check that it is
17 # one of our supported values
20 if ! $(JAM_TOOLSET) in $(SUPPORTED_TOOLSETS) {
21 Echo "The JAM_TOOLSET environment variable is defined but its value" ;
22 Echo "is invalid, please use one of the following:" ;
24 for t in $(SUPPORTED_TOOLSETS) { Echo " " $(t) ; }
30 Echo "The JAM_TOOLSET environment variable is not defined, defaults to MINGW" ;
32 MINGW = "c:\\mingw\\" ;
45 if $(JAM_TOOLSET) = MINGW {
46 Echo "Compiler is GCC with MinGW" ;
52 C++FLAGS ?= $(CCFLAGS) ;
55 LINKLIBS ?= -lkernel32 ;
60 # MinGW-specific thingy
61 MINGW_GUI = "-Wl,-subsystem,windows" ;
62 MINGW_THREADS = "-mthreads" ;
64 C++OPTIM ?= $(OPTIM) ;
66 C++LINKFLAGS ?= $(LINKFLAGS) ;
67 C++LINKLIBS ?= $(LINKLIBS) ;
71 CC = "$(MINGW)$(CC:J= )" ;
72 C++ = "$(MINGW)$(C++:J= )" ;
73 LINK = "$(MINGW)$(LINK:J= )" ;
74 C++LINK = "$(MINGW)$(C++LINK:J= )" ;
75 AR = "$(MINGW)$(AR:J= )" ;
76 RANLIB = "$(MINGW)$(RANLIB:J= )" ;
78 } else if $(JAM_TOOLSET) = LCC {
79 Echo "Compiler is Win32-LCC" ;
91 } else if $(JAM_TOOLSET) = PELLESC {
92 Echo "Compiler is PellesC" ;
102 LINKLIBS ?= crt.lib oldnames.lib Win\\kernel32.lib ;
106 # XXX: We need better comments here !!
107 Exit "On NT, set MINGW to the root of the MinGW dir (but it won't help you anyway)" ;
112 ###############################################################################
114 ###############################################################################
116 PATH_SEPARATOR = "/" ;
120 CCFLAGS += -D__cygwin__ ;
133 OBJCFLAGS ?= $(CCFLAGS) ;
134 C++FLAGS ?= $(CCFLAGS) ;
139 LINKFLAGS ?= $(CCFLAGS) ;
147 #!LIBTOOL!# if $(K8_USE_LIBTOOL) {
148 #!LIBTOOL!# SUFOBJSHR ?= .lo ;
149 #!LIBTOOL!# SUFLIBSHR ?= .la ;
151 #!LIBTOOL!# SUFOBJSHR ?= .o ;
152 #!LIBTOOL!# SUFLIBSHR ?= .so ;
158 STDHDRS ?= /usr/include ;
161 # shared library object file suffix. We assume that it is identical
162 # than the normal one
163 SUFOBJSHR ?= $(SUFOBJ) ;
164 SUFLIBSHR ?= $(SUFLIB) ;
171 # General defaults; a lot like UNIX
173 PATH_SEPARATOR ?= "/" ;
178 BINDIR ?= /usr/local/bin ;
179 C++ ?= g++ ; # k8: was cc
181 CC ?= gcc ; # k8: was cc
190 INSTALLGRIST ?= installed ;
192 JAMRULES ?= Jamrules ;
194 LIBDIR ?= /usr/local/lib ;
199 MANDIR ?= /usr/local/man ;
208 SHELLHEADER ?= "#!/bin/sh" ;
212 SUBDIRRESET ?= ASFLAGS HDRS C++FLAGS CCFLAGS ;
216 UNDEFFLAG ?= "-u _" ;
222 HDRPATTERN = "^[[:space:]]*#[[:space:]]*include[[:space:]]*[<\"]([^\">]*)[\">].*$" ;
224 OSFULL = $(OS)$(OSVER)$(OSPLAT) $(OS)$(OSPLAT) $(OS)$(OSVER) $(OS) ;
227 C++OPTIM ?= $(OPTIM) ;
229 C++LINKFLAGS ?= $(LINKFLAGS) ;
230 C++LINKLIBS ?= $(LINKLIBS) ;
232 OBJCOPTIM ?= $(OPTIM) ;
234 OBJCLINKFLAGS ?= $(LINKFLAGS) ;
235 OBJCLINKLIBS ?= $(LINKLIBS) ;
236 OBJCLINKLIBS += -lobjc ;
239 if ( "gcc" in $(CC) ) && ! ( "-pipe" in $(CC) ) { CC += -pipe ; }
240 if ( "g++" in $(C++) ) && ! ( "-pipe" in $(C++) ) { C++ += -pipe ; }
244 #Echo "OSFULL:" $(OSFULL) ;
245 #Echo "UNIX:" $(UNIX) ;