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\\bin\\" ;
45 if $(JAM_TOOLSET) = MINGW {
46 Echo "Compiler is GCC with MinGW" ;
52 C++FLAGS ?= $(CCFLAGS) ;
55 LINKLIBS ?= -lkernel32 ;
61 # MinGW-specific thingy
62 MINGW_GUI = "-Wl,-subsystem,windows" ;
63 MINGW_THREADS = "-mthreads" ;
73 CC = "$(MINGW)$(CC:J= )" ;
74 C++ = "$(MINGW)$(C++:J= )" ;
75 LINK = "$(MINGW)$(LINK:J= )" ;
76 C++LINK = "$(MINGW)$(C++LINK:J= )" ;
77 AR = "$(MINGW)$(AR:J= )" ;
78 RANLIB = "$(MINGW)$(RANLIB:J= )" ;
80 } else if $(JAM_TOOLSET) = LCC {
81 Echo "Compiler is Win32-LCC" ;
93 } else if $(JAM_TOOLSET) = PELLESC {
94 Echo "Compiler is PellesC" ;
104 LINKLIBS ?= crt.lib oldnames.lib Win\\kernel32.lib ;
108 # XXX: We need better comments here !!
109 Exit "On NT, set MINGW to the root of the MinGW dir (but it won't help you anyway)" ;
114 ###############################################################################
116 ###############################################################################
118 PATH_SEPARATOR = "/" ;
122 CCFLAGS += -D__cygwin__ ;
135 OBJCFLAGS ?= $(CCFLAGS) ;
136 C++FLAGS ?= $(CCFLAGS) ;
141 LINKFLAGS ?= $(CCFLAGS) ;
152 #!LIBTOOL!# if $(K8_USE_LIBTOOL) {
153 #!LIBTOOL!# SUFOBJSHR ?= .lo ;
154 #!LIBTOOL!# SUFLIBSHR ?= .la ;
156 #!LIBTOOL!# SUFOBJSHR ?= .o ;
157 #!LIBTOOL!# SUFLIBSHR ?= .so ;
163 STDHDRS ?= /usr/include ;
166 # shared library object file suffix. We assume that it is identical
167 # than the normal one
168 SUFOBJSHR ?= $(SUFOBJ) ;
169 SUFLIBSHR ?= $(SUFLIB) ;
176 # General defaults; a lot like UNIX
178 PATH_SEPARATOR ?= "/" ;
183 BINDIR ?= /usr/local/bin ;
184 C++ ?= g++ ; # k8: was cc
186 CC ?= gcc ; # k8: was cc
196 JAMRULES ?= Jamrules ;
198 LIBDIR ?= /usr/local/lib ;
203 MANDIR ?= /usr/local/man ;
215 SHELLHEADER ?= "#!/bin/sh" ;
219 SUBDIRRESET ?= ASFLAGS HDRS C++FLAGS CCFLAGS HDRS DEFINES ;
223 UNDEFFLAG ?= "-u _" ;
229 HDRPATTERN = "^\\s*#\\s*include\\s+[<\"]([^\">]*)[\">].*$" ;
231 OSFULL = $(OS)$(OSVER)$(OSPLAT) $(OS)$(OSPLAT) $(OS)$(OSVER) $(OS) ;
234 #C++OPTIM ?= $(OPTIM) ;
236 #C++LINKFLAGS ?= $(LINKFLAGS) ;
237 #C++LINKLIBS ?= $(LINKLIBS) ;
239 OBJCOPTIM ?= $(OPTIM) ;
241 OBJCLINKFLAGS ?= $(LINKFLAGS) ;
242 OBJCLINKLIBS ?= $(LINKLIBS) ;
243 OBJCLINKLIBS += -lobjc ;
246 if ( "gcc" in $(CC) ) && ! ( "-pipe" in $(CC) ) { CC += -pipe ; }
247 if ( "g++" in $(C++) ) && ! ( "-pipe" in $(C++) ) { C++ += -pipe ; }
251 #Echo "OSFULL:" $(OSFULL) ;
252 #Echo "UNIX:" $(UNIX) ;