fixed bug in configure
[k8jam.git] / defaults / Jambase.vars
blob129624b2aee8935428482b28ef69b7150cf86510
2 # OS specific variable settings
5 ###############################################################################
6 # Windoze
7 ###############################################################################
8 if $(NT) {
9   PATH_SEPARATOR = "\\" ;
10   local SUPPORTED_TOOLSETS =
11     MINGW
12     LCC
13     PELLESC
14   ;
16   # if the JAM_TOOLSET environment variable is defined, check that it is
17   # one of our supported values
18   #
19   if $(JAM_TOOLSET) {
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:" ;
23       Echo ;
24       for t in $(SUPPORTED_TOOLSETS) { Echo "  " $(t) ; }
25       Exit ;
26     }
27   }
29   if ! $(JAM_TOOLSET) {
30     Echo "The JAM_TOOLSET environment variable is not defined, defaults to MINGW" ;
31     JAM_TOOLSET = MINGW ;
32     MINGW ?= "c:\\mingw\\bin\\" ;
33   }
35   MV        ?= move /y ;
36   CP        ?= copy ;
37   RM        ?= del /f/q ;
38   RMDIR     ?= rmdir /s/q ;
39   SLASH     ?= \\ ;
40   SUFLIB    ?= .lib ;
41   SUFOBJ    ?= .obj ;
42   SUFEXE    ?= .exe ;
43   SUFLIBSHR ?= .dll ;
45   if $(JAM_TOOLSET) = MINGW {
46     Echo "Compiler is GCC with MinGW" ;
47     AR           ?= ar -ru ;
48     RANLIB       ?= ranlib ;
49     CC           ?= mingw32-gcc ;
50     CCFLAGS      ?= "" ;
51     C++          ?= mingw32-g++ ;
52     C++FLAGS     ?= $(CCFLAGS) ;
53     LINK         ?= $(CC) ;
54     LINKFLAGS    ?= "" ;
55     LINKLIBS     ?= -lkernel32 ;
56     OPTIM        ?= ;
57     CC.standard  ?= ;
58     SUFOBJ        = .o ;
59     SUFLIB        = .a ;
60     SLASH         = / ;
61     # MinGW-specific thingy
62     MINGW_GUI     = "-Wl,-subsystem,windows" ;
63     MINGW_THREADS = "-mthreads" ;
64     # k8
65     C++OPTIM     ?= ;
66     C++.standard ?= ;
67     C++LINK      ?= $(C++) ;
68     C++LINKFLAGS ?= ;
69     C++LINKLIBS  ?= ;
70     #NOARSCAN     ?= true ;
71     # set path if any
72     if $(MINGW) {
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= )" ;
79     }
80   } else if $(JAM_TOOLSET) = LCC {
81     Echo "Compiler is Win32-LCC" ;
82     AR        ?= lcclib ;
83     CC        ?= lcc ;
84     CCFLAGS   ?= "" ;
85     C++       ?= "error" ;
86     LINK      ?= lcclnk ;
87     LINKFLAGS ?= "" ;
88     LINKLIBS  ?= "" ;
89     OPTIM     ?= ;
90     NOARSCAN   = true ;
91     # k8
92     C++LINK    = "error" ;
93   } else if $(JAM_TOOLSET) = PELLESC {
94     Echo "Compiler is PellesC" ;
95     AR        ?= polib ;
96     CC        ?= pocc ;
97     CCFLAGS   ?= "" ;
98     C++       ?= "error" ;
99     LINK      ?= polink ;
100     LINKFLAGS ?= ;
101     LINKLIBS  ?= ;
102     OPTIM     ?= ;
103     NOARSCAN   = true ;
104     LINKLIBS  ?= crt.lib oldnames.lib Win\\kernel32.lib ;
105     # k8
106     C++LINK    = "error" ;
107   } else {
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)" ;
110   }
111   STDHRS ?= "" ;
112   PICFLAGS = ;
114 ###############################################################################
115 # UNIX
116 ###############################################################################
117 else if $(UNIX) {
118   PATH_SEPARATOR = "/" ;
119   switch $(OS) {
120     case CYGWIN :
121       CC       ?= gcc ;
122       CCFLAGS  += -D__cygwin__ ;
123       LEX      ?= flex ;
124       JAMSHELL ?= sh -c ;
125       RANLIB   ?= "" ;
126       SUFEXE   ?= .exe ;
127       YACC     ?= bison -y ;
128     }
130     # UNIX defaults
131     CC        ?= gcc ;
132     C++       ?= g++ ;
133     OBJCC     ?= gcc ;
134     CCFLAGS   ?= ;
135     OBJCFLAGS ?= $(CCFLAGS) ;
136     C++FLAGS  ?= $(CCFLAGS) ;
137     CHMOD     ?= chmod ;
138     CHGRP     ?= chgrp ;
139     CHOWN     ?= chown ;
140     LEX       ?= flex ;
141     LINKFLAGS ?= $(CCFLAGS) ;
142     LINKLIBS  ?= ;
143     OPTIM     ?= ;
144     CC.standard  ?= ;
145     C++OPTIM     ?= ;
146     C++.standard ?= ;
147     RANLIB    ?= ranlib ;
148     YACC      ?= bison ;
149     YACCGEN   ?= .c ;
150     YACCFILES ?= y.tab ;
151     YACCFLAGS ?= -ld ;
152 #!LIBTOOL!#    if $(K8_USE_LIBTOOL) {
153 #!LIBTOOL!#      SUFOBJSHR ?= .lo ;
154 #!LIBTOOL!#      SUFLIBSHR ?= .la ;
155 #!LIBTOOL!#    } else {
156 #!LIBTOOL!#      SUFOBJSHR ?= .o ;
157 #!LIBTOOL!#      SUFLIBSHR ?= .so ;
158 #!LIBTOOL!#    }
159     SUFOBJSHR ?= .o ;
160     SUFLIBSHR ?= .so ;
161 #!LIBTOOL!#
162     PICFLAGS  ?= -fpic ;
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) ;
172 # the D compiler
173 #DC ?= dmd ;
176 # General defaults; a lot like UNIX
178 PATH_SEPARATOR ?= "/" ;
179 AR          ?= ar ru ;
180 AS          ?= as ;
181 ASFLAGS     ?= ;
182 AWK         ?= awk ;
183 BINDIR      ?= /usr/local/bin ;
184 C++         ?= g++ ;  # k8: was cc
185 C++FLAGS    ?= ;
186 CC          ?= gcc ;  # k8: was cc
187 CCFLAGS     ?= ;
188 CP          ?= cp -f ;
189 CRELIB      ?= ;
190 DOT         ?= . ;
191 DOTDOT      ?= .. ;
192 EXEMODE     ?= 755 ;
193 FILEMODE    ?= 644 ;
194 HDRS        ?= ;
195 INSTALLGRIST    ?= installed ;
196 JAMFILE     ?= Jamfile ;
197 JAMRULES    ?= Jamrules ;
198 LEX         ?= ;
199 LIBDIR      ?= /usr/local/lib ;
200 LINK        ?= $(CC) ;
201 LINKFLAGS   ?= ;
202 LINKLIBS    ?= ;
203 LN          ?= ln ;
204 MANDIR      ?= /usr/local/man ;
205 MKDIR       ?= mkdir ;
206 MV          ?= mv -f ;
207 OPTIM       ?= ;
208 C++OPTIM    ?= ;
209 CC.standard ?= ;
210 C++.standard ?= ;
211 RCP         ?= rcp ;
212 RM          ?= rm -f ;
213 RMDIR       ?= $(RM) ;
214 RSH         ?= rsh ;
215 SED         ?= sed ;
216 SHELLHEADER ?= "#!/bin/sh" ;
217 SHELLMODE   ?= 755 ;
218 SLASH       ?= / ;
219 SUBDIRRULES ?= ;
220 SUBDIRRESET ?= ASFLAGS HDRS C++FLAGS CCFLAGS HDRS DEFINES ;
221 SUFEXE      ?= "" ;
222 SUFLIB      ?= .a ;
223 SUFOBJ      ?= .o ;
224 UNDEFFLAG   ?= "-u _" ;
225 YACC        ?= ;
226 YACCGEN     ?= ;
227 YACCFILES   ?= ;
228 YACCFLAGS   ?= ;
230 HDRPATTERN = "^[[:space:]]*#[[:space:]]*include[[:space:]]*[<\"]([^\">]*)[\">].*$" ;
232 OSFULL = $(OS)$(OSVER)$(OSPLAT) $(OS)$(OSPLAT) $(OS)$(OSVER) $(OS) ;
234 # k8
235 #C++OPTIM     ?= $(OPTIM) ;
236 C++LINK      ?= $(C++) ;
237 #C++LINKFLAGS ?= $(LINKFLAGS) ;
238 #C++LINKLIBS  ?= $(LINKLIBS) ;
240 OBJCOPTIM     ?= $(OPTIM) ;
241 OBJCLINK      ?= $(CC) ;
242 OBJCLINKFLAGS ?= $(LINKFLAGS) ;
243 OBJCLINKLIBS  ?= $(LINKLIBS) ;
244 OBJCLINKLIBS  += -lobjc ;
246 if $(OS) = "LINUX" {
247   if ( "gcc" in $(CC) ) && ! ( "-pipe" in $(CC) ) { CC += -pipe ; }
248   if ( "g++" in $(C++) ) && ! ( "-pipe" in $(C++) ) { C++ += -pipe ; }
251 #Echo "OS:" $(OS) ;
252 #Echo "OSFULL:" $(OSFULL) ;
253 #Echo "UNIX:" $(UNIX) ;