xref: /aoo41x/main/solenv/inc/tg_compv.mk (revision 07cb168e)
17871dc3eSAndrew Rist#**************************************************************
27871dc3eSAndrew Rist#
37871dc3eSAndrew Rist#  Licensed to the Apache Software Foundation (ASF) under one
47871dc3eSAndrew Rist#  or more contributor license agreements.  See the NOTICE file
57871dc3eSAndrew Rist#  distributed with this work for additional information
67871dc3eSAndrew Rist#  regarding copyright ownership.  The ASF licenses this file
77871dc3eSAndrew Rist#  to you under the Apache License, Version 2.0 (the
87871dc3eSAndrew Rist#  "License"); you may not use this file except in compliance
97871dc3eSAndrew Rist#  with the License.  You may obtain a copy of the License at
107871dc3eSAndrew Rist#
117871dc3eSAndrew Rist#    http://www.apache.org/licenses/LICENSE-2.0
127871dc3eSAndrew Rist#
137871dc3eSAndrew Rist#  Unless required by applicable law or agreed to in writing,
147871dc3eSAndrew Rist#  software distributed under the License is distributed on an
157871dc3eSAndrew Rist#  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
167871dc3eSAndrew Rist#  KIND, either express or implied.  See the License for the
177871dc3eSAndrew Rist#  specific language governing permissions and limitations
187871dc3eSAndrew Rist#  under the License.
197871dc3eSAndrew Rist#
207871dc3eSAndrew Rist#**************************************************************
217871dc3eSAndrew Rist
227871dc3eSAndrew Rist
23cdf0e10cSrcweir
24cdf0e10cSrcweirCOMPVERMK:=$(SOLARINCDIR)/comp_ver.mk
25cdf0e10cSrcweir
26cdf0e10cSrcweir.INCLUDE .IGNORE : $(COMPVERMK)
27cdf0e10cSrcweir
28cdf0e10cSrcweir.IF "$(COMNAME)"=="" || "$(COMPATH:s!\!/!)"!="$(COMPATH_STORED)"
29cdf0e10cSrcweir.IF "$(L10N_framework)"==""
30cdf0e10cSrcweir
31cdf0e10cSrcweirCOMNAME:=
32cdf0e10cSrcweir
33cdf0e10cSrcweir.IF "$(COM)"=="GCC"
34*c91626b3SAndrea PescettiCFLAGSVERSION=-dumpfullversion -dumpversion
35*c91626b3SAndrea PescettiCFLAGSVERSION_CMD=-dumpfullversion -dumpversion
36*c91626b3SAndrea PescettiCFLAGSNUMVERSION_CMD=-dumpfullversion -dumpversion $(PIPEERROR) $(AWK) -v num=true -f $(SOLARENV)/bin/getcompver.awk
37*c91626b3SAndrea Pescetti#CFLAGSNUMVERSION_CMD=-dumpfullversion -dumpversion | 2>&1  $(AWK) -v num=true -f $(SOLARENV)/bin/getcompver.awk
3823455dabSPedro Giffuni.ELIF "$(COM)"=="CLANG"
3923455dabSPedro GiffuniCFLAGSVERSION=--version
4023455dabSPedro GiffuniCFLAGSVERSION_CMD=--version | head -n1 | sed -e"s/.*version //" -e"s/ .*//"
4159749ddcSPedro Giffuni.IF "$(OS)"="FREEBSD"
4259749ddcSPedro GiffuniCFLAGSNUMVERSION_CMD=${CFLAGSVERSION_CMD} | $(AWK) -v num=true -f $(SOLARENV)/bin/getcompver.awk
4359749ddcSPedro Giffuni.ELSE
4423455dabSPedro GiffuniCFLAGSNUMVERSION_CMD=${CFLAGSVERSION_CMD} | sed -e"s/\.//"
4559749ddcSPedro Giffuni.ENDIF
4623455dabSPedro Giffuni.ELIF "$(COM)"=="MSC"
47cdf0e10cSrcweirCFLAGSVERSION=
48cdf0e10cSrcweirCFLAGSVERSION_CMD=  $(PIPEERROR) $(AWK) -f $(SOLARENV)/bin/getcompver.awk
49cdf0e10cSrcweirCFLAGSNUMVERSION_CMD=  $(PIPEERROR) $(AWK) -v num=true -f $(SOLARENV)/bin/getcompver.awk
50cdf0e10cSrcweir.ENDIF
51cdf0e10cSrcweir
52cdf0e10cSrcweir.IF "$(COM)"=="C55" || "$(COM)"=="C54" || "$(COM)"=="C52" || "$(COM)"=="C40" || "$(COM)"=="sunpro"
53cdf0e10cSrcweirCFLAGSVERSION= -V
54cdf0e10cSrcweirCFLAGSVERSION_CMD= -V  $(PIPEERROR) $(AWK) -f $(SOLARENV)/bin/getcompver.awk
55cdf0e10cSrcweirCFLAGSNUMVERSION_CMD= -V  $(PIPEERROR) $(AWK) -v num=true -f $(SOLARENV)/bin/getcompver.awk
56cdf0e10cSrcweir.ENDIF
57cdf0e10cSrcweir
58cdf0e10cSrcweir.IF "$(COM)"=="C730"
59cdf0e10cSrcweirCFLAGSVERSION= -version
60cdf0e10cSrcweirCFLAGSVERSION_CMD= -version |& cut -d" " -f4-
61cdf0e10cSrcweirCFLAGSNUMVERSION_CMD= -version |& cut -d" " -f4-
62cdf0e10cSrcweir.ENDIF
63cdf0e10cSrcweir
64cdf0e10cSrcweir# that's the version known by the specific
65cdf0e10cSrcweir# compiler
66cdf0e10cSrcweirCCVER:=$(shell @-$(CXX) $(CFLAGSVERSION_CMD))
67cdf0e10cSrcweir
68cdf0e10cSrcweir# and a computed integer for comparing
69cdf0e10cSrcweir# each point seperated token blown up to 4 digits
70cdf0e10cSrcweirCCNUMVER:=$(shell @-$(CXX) $(CFLAGSNUMVERSION_CMD))
71cdf0e10cSrcweir
72cdf0e10cSrcweir.IF "$(COM)"=="MSC"
73cdf0e10cSrcweir.IF "$(CCNUMVER)">="001200000000"
74cdf0e10cSrcweirCOMID=MSC
75cdf0e10cSrcweirCOMNAME=msci
76cdf0e10cSrcweir.ENDIF
77cdf0e10cSrcweir.ENDIF
78cdf0e10cSrcweir
79cdf0e10cSrcweir.IF "$(COM)"=="GCC"
80cdf0e10cSrcweir
81cdf0e10cSrcweir.IF "$(CCNUMVER)">="000200910000"
82cdf0e10cSrcweirCOMID=GCC
83cdf0e10cSrcweirCOMNAME=gcc2
84cdf0e10cSrcweir.ENDIF
85cdf0e10cSrcweir
86cdf0e10cSrcweir.IF "$(CCNUMVER)">="000300000001"
87cdf0e10cSrcweir
88cdf0e10cSrcweirCOMID=gcc3
89cdf0e10cSrcweirCOMNAME=gcc3
90cdf0e10cSrcweir
91cdf0e10cSrcweir.ENDIF
92cdf0e10cSrcweir.ENDIF
93cdf0e10cSrcweir
94cdf0e10cSrcweir.IF "$(COM)"=="C55" || "$(COM)" == "C54" || "$(COM)"=="C52" || "$(COM)"=="C40" || "$(COM)"=="sunpro"
95cdf0e10cSrcweir.IF "$(CCNUMVER)">="00050002"
96cdf0e10cSrcweirCOMID=C52
97cdf0e10cSrcweirCOMNAME=sunpro5
98cdf0e10cSrcweir.ENDIF
99cdf0e10cSrcweir.ENDIF
100cdf0e10cSrcweir
101cdf0e10cSrcweir.IF "$(COM)"=="C730"
102cdf0e10cSrcweirCOMID=C730
103cdf0e10cSrcweirCOMNAME=MipsPro
104cdf0e10cSrcweir.ENDIF
105cdf0e10cSrcweir
1066d1ed1ddSHerbert Dürr.IF "$(COM)"=="CLANG"
107de2c434cSPedro Giffuni.IF "$(OS)" == "FREEBSD"
108de2c434cSPedro GiffuniCOMID=gcc3
109de2c434cSPedro GiffuniCOMNAME=gcc3
110de2c434cSPedro Giffuni.ELSE
1116d1ed1ddSHerbert DürrCOMID=s5abi
1126d1ed1ddSHerbert DürrCOMNAME=s5abi
1136d1ed1ddSHerbert Dürr.ENDIF
114de2c434cSPedro Giffuni.ENDIF
1156d1ed1ddSHerbert Dürr
116cdf0e10cSrcweir.IF "$(COMNAME)"==""
117cdf0e10cSrcweir
118cdf0e10cSrcweir# "EXCEPTIONSFILES" get compiled before this, but shouldn't
119cdf0e10cSrcweir# appear in the first n modules.
120cdf0e10cSrcweir
121cdf0e10cSrcweircompiler_version_error:
122cdf0e10cSrcweir    @echo ++++++++++++++++++++++++++++++++++++
123cdf0e10cSrcweir    @echo  ERROR!
124cdf0e10cSrcweir    @echo  Could not detect compiler version!
125cdf0e10cSrcweir    @echo  Please extend tg_compv.mk in
126cdf0e10cSrcweir    @echo  "solenv/inc".
127cdf0e10cSrcweir    @echo ++++++++++++++++++++++++++++++++++++
128cdf0e10cSrcweir	@echo "$(CXX) $(CFLAGSVERSION)" returns
129cdf0e10cSrcweir	@$(CXX) $(CFLAGSVERSION)
130cdf0e10cSrcweir    @echo ++++++++++++++++++++++++++++++++++++
131cdf0e10cSrcweir	force_dmake_to_error
132cdf0e10cSrcweir
133cdf0e10cSrcweir.ENDIF          # "$(COMNAME)"==""
134cdf0e10cSrcweir
135cdf0e10cSrcweirCDEFS+=-DCPPU_ENV=$(COMNAME)
136cdf0e10cSrcweir
137cdf0e10cSrcweir.ENDIF			# "$(L10N_framework)"==""
138cdf0e10cSrcweir.ENDIF			# "$(COMNAME)"==""
139