Skip to content

Commit

Permalink
Dropped support for bcc32c since it errors out with quite a number of…
Browse files Browse the repository at this point in the history
… clang command line options. That compiler is supported by the borland.jam file.
  • Loading branch information
eldiener committed Mar 11, 2020
1 parent 250ec1d commit 7648561
Showing 1 changed file with 14 additions and 38 deletions.
52 changes: 14 additions & 38 deletions src/tools/embarcadero.jam
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,10 @@ import clang-linux ;
import path ;
import os ;
import type ;

import common ;
import toolset ;
import feature ;
import toolset : flags ;

import clang ;
import gcc ;
import generators ;
Expand Down Expand Up @@ -49,49 +47,40 @@ if [ MATCH (--debug-configuration) : [ modules.peek : ARGV ] ] {
.debug-configuration = true ;
}

rule init ( version ? : command * : options * : requirement * )
rule init ( version ? : command * : options * )
{

local compiler = bcc64 ;
local reqam = [ feature.get-values <address-model> : $(requirement) ] ;
local preprocessor = cpp64 ;
local amodel = 64 ;

if $(reqam) && $(reqam) = 32
local optam = [ feature.get-values <address-model> : $(options) ] ;

if $(optam) && $(optam) = 32
{
compiler = bcc32x ;
preprocessor = cpp32x ;
amodel = 32 ;
}

command = [ common.get-invocation-command embarcadero : $(compiler) : $(command) ] ;

local preprocessor ;
local amodel ;

switch $(command[1]:B)
{
case bcc32c :
{
compiler = bcc32c ;
preprocessor = cpp32c ;
amodel = 32 ;
}
case bcc32x :
{
compiler = bcc32x ;
preprocessor = cpp32x ;
amodel = 32 ;
}
case bcc64 :
{
compiler = bcc64 ;
preprocessor = cpp64 ;
amodel = 64 ;
}
}
if $(reqam) && $(reqam) != $(amodel)

if $(optam) && $(optam) != $(amodel)
{

# error, mismatch between the compiler and the address model

error.user-error "embarcadero initialization: command and address model" :
"the compiler '$(compiler)' does not match the address-model of '$(optam)'" ;
}
else
{
Expand All @@ -108,18 +97,7 @@ rule init ( version ? : command * : options * : requirement * )
}
}

local condition ;

if $(reqam)
{
condition = [ common.check-init-parameters embarcadero $(requirement) : version $(version) ] ;
}
else
{
condition = [ common.check-init-parameters embarcadero $(requirement) : version $(version) ] ;
}


local condition = [ common.check-init-parameters embarcadero : version $(version) ] ;
common.handle-options embarcadero : $(condition) : $(command) : $(options) ;
clang.init-cxxstd-flags embarcadero : $(condition) : $(cl_version) ;

Expand Down Expand Up @@ -202,9 +180,7 @@ rule init ( version ? : command * : options * : requirement * )

if ! $(root)
{

# Some sort of error or message should go here

error.user-error "Embarcadero toolset initialization: the root directory for the Embarcadero installation can not be found" ;
}
else
{
Expand Down

0 comments on commit 7648561

Please sign in to comment.