GithubHelp home page GithubHelp logo

Comments (3)

swatanabe avatar swatanabe commented on May 18, 2024

AMDG

On 12/03/2015 04:01 PM, tee3 wrote:

I am now trying to use it under Windows and running in the error below. I've worked around the issue by changing property.jam (see the last commit of https://github.com/tee3/build/commits/devel-workaround-for-possible-windows-bug), but I'm looking for a real fix wherever it needs to be.

This isn't exactly a bug. The problem is
the following definitions in tools/types/exe.jam.
(There are probably similar definitions for obj
and lib)

type.set-generated-target-suffix EXE : windows : "exe" ;
type.set-generated-target-suffix EXE : cygwin : "exe" ;

On Windows, this also matches, and Boost.Build has no
way to know that your definition should take priority.
The easiest workaround is to add a definition that specifies
both your toolset and windows to disambiguate.

In Christ,
Steven Watanabe

from build.

tee3 avatar tee3 commented on May 18, 2024

@swatanabe Thanks so much, that is a better workaround than changing Boost.Build.

However, the truth is that the target-os for this toolset is really bare-metal (or maybe coff or elf or something like that) and definitely not ever windows. I see now that I'm building for target-os = host-os since that is the default behavior. Do you think a better longer term answer for this toolset is to only allow it to work for a compatible target-os?

For others, the change to the toolset was something like the following:

diff --git a/tms320c2000.jam b/tms320c2000.jam
index 68be0de..3fb7352 100644
--- a/tms320c2000.jam
+++ b/tms320c2000.jam
@@ -88,11 +88,8 @@ rule init ( version ? : command * : options * )
 # type.register A28 : a28 l28 ;

 type.set-generated-target-suffix EXE : <toolset>tms320c2000 : out ;
-type.set-generated-target-suffix EXE : <toolset>tms320c2000 <target-os>windows : out ;
 type.set-generated-target-suffix OBJ : <toolset>tms320c2000 : obj ;
-type.set-generated-target-suffix OBJ : <toolset>tms320c2000 <target-os>windows : obj ;
 type.set-generated-target-suffix STATIC_LIB : <toolset>tms320c2000 : lib ;
-type.set-generated-target-suffix STATIC_LIB : <toolset>tms320c2000 <target-os>windows : lib ;

 generators.register-linker tms320c2000.link : OBJ STATIC_LIB : EXE : <toolset>tms320c2000 ;
 # generators.register-linker tms320c2000.link : OBJ O28 A28 STATIC_LIB : EXE : <toolset>tms320c2000 <architecture>tms320c2000 <instruction-set>tms320c2800 ;
diff --git a/tms320c5400.jam b/tms320c5400.jam
index 8aa079b..82a4b4f 100644
--- a/tms320c5400.jam
+++ b/tms320c5400.jam
@@ -88,11 +88,8 @@ type.register O54 : o54 ;
 type.register A54 : a54 l54 ;

 type.set-generated-target-suffix EXE : <toolset>tms320c5400 : out ;
-type.set-generated-target-suffix EXE : <toolset>tms320c5400 <target-os>windows : out ;
 type.set-generated-target-suffix OBJ : <toolset>tms320c5400 : obj ;
-type.set-generated-target-suffix OBJ : <toolset>tms320c5400 <target-os>windows : obj ;
 type.set-generated-target-suffix STATIC_LIB : <toolset>tms320c5400 : lib ;
-type.set-generated-target-suffix STATIC_LIB : <toolset>tms320c5400 <target-os>windows : lib ;

 generators.register-linker tms320c5400.link : OBJ STATIC_LIB : EXE : <toolset>tms320c5400 ;
 #generators.register-linker tms320c5400.link : OBJ O54 A54 STATIC_LIB : EXE : <toolset>tms320c5400 ;
diff --git a/tms320c5500.jam b/tms320c5500.jam
index 588d0d9..d3a0b84 100644
--- a/tms320c5500.jam
+++ b/tms320c5500.jam
@@ -88,11 +88,8 @@ type.register O55 : o55 ;
 type.register A55 : a55 l55 ;

 type.set-generated-target-suffix EXE : <toolset>tms320c5500 : out ;
-type.set-generated-target-suffix EXE : <toolset>tms320c5500 <target-os>windows : out ;
 type.set-generated-target-suffix OBJ : <toolset>tms320c5500 : obj ;
-type.set-generated-target-suffix OBJ : <toolset>tms320c5500 <target-os>windows : obj ;
 type.set-generated-target-suffix STATIC_LIB : <toolset>tms320c5500 : lib ;
-type.set-generated-target-suffix STATIC_LIB : <toolset>tms320c5500 <target-os>windows : lib ;

 generators.register-linker tms320c5500.link : OBJ STATIC_LIB : EXE : <toolset>tms320c5500 ;
 #generators.register-linker tms320c5500.link : OBJ O55 A55 STATIC_LIB : EXE : <toolset>tms320c5500 <architecture>tms320c5500 <instruction-set>tms320c5500 ;
diff --git a/tms320c6000.jam b/tms320c6000.jam
index 67d2a80..75a5eea 100644
--- a/tms320c6000.jam
+++ b/tms320c6000.jam
@@ -100,11 +100,8 @@ type.register A67 : a67 l67 ;
 type.register A67P : a67p a67P l67p l67P ;

 type.set-generated-target-suffix EXE : <toolset>tms320c6000 : out ;
-type.set-generated-target-suffix EXE : <toolset>tms320c6000 <target-os>windows : out ;
 type.set-generated-target-suffix OBJ : <toolset>tms320c6000 : obj ;
-type.set-generated-target-suffix OBJ : <toolset>tms320c6000 <target-os>windows : obj ;
 type.set-generated-target-suffix STATIC_LIB : <toolset>tms320c6000 : lib ;
-type.set-generated-target-suffix STATIC_LIB : <toolset>tms320c6000 <target-os>windows : lib ;

 generators.register-linker tms320c6000.link : OBJ O62 A62 STATIC_LIB : EXE : <toolset>tms320c6000 ;
 generators.register-linker tms320c6000.link : OBJ O62 O64 O64P A62 A64 STATIC_LIB : EXE : <toolset>tms320c6000 <architecture>tms320c6000 <instruction-set>tms320c6400 ;

from build.

tee3 avatar tee3 commented on May 18, 2024

I'm closing this as my immediate issue is resolved.

from build.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.