View Issue Details

IDProjectCategoryView StatusLast Update
0000146ascendbuild-systempublic2006-05-10 02:22
Reporterjohn 
Assigned Tojds 
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionsuspended 
Product Version 
Target VersionFixed in Version 
Summary0000146: Don't use a customised Jambase
DescriptionIf we need to use a customized Jambase, we should instead use overriding rules in our Jamfile, rather than completely replacing the Jambase, shouldn't we?

JP
Additional InformationFrom my perspective, the bug is with jam rather than with the ASCEND jam build system. Jambase is supposed to define the basic commands and rules for manipulating files and building software on various platforms. Jamrules and Jamfile should define project-specific rules and actions necessary to build a specific system.

Unfortunately, the Jambase files supplied with both the Perforce and ftjam variants ignores or is broken for major platforms. This includes gcc/mingw, borland C++, and Watcom on Windows, and also minor parts of Visual C++ and gcc/linux. So the basic build rules for these systems needs to be fixed (ftjam) or added (Perforce) to compile anything with these systems.

Since these are general platform fixes and not ASCEND-specific, the decision was made to implement them in a general Jambase file. This has the advantage of allowing the system to be built on ftjam or Perforce jam. It also keeps the general platform stuff localized so the Jambase can be applied to other projects without having to maintain duplicate code in multiple project Jamrules. Finally, problems were encountered trying to get Watcom on Windows working when the rules were applied in Jamrules instead of Jambase.

Conceptually, the things learned in getting jam working on mingw, borland, and Watcom should be reported as bugs to ftjam so the basic Jambase can be corrected. Haven't gotten around to that, and don't know if they'd care.

An implication of this is that you probably don't need the custom Jambase if you're compiling in unix or linux. You also may not need it if you're using mingw under ftjam. You will need it on Windows if you want to use Perforce jam and compile with anything but VC.

JDS
TagsNo tags attached.

Relationships

child of 0000169 resolvedjds Complete implementation of Jam build 

Activities

john

2005-12-06 16:01

administrator   ~0000071

Suspending this issue pending further discussion about build tools, including Scons.

Issue History

Date Modified Username Field Change
2005-11-29 07:59 john New Issue
2005-11-29 07:59 john Status new => assigned
2005-11-29 07:59 john Assigned To => jds
2005-12-04 05:56 jds Additional Information Updated
2005-12-06 16:01 john Status assigned => resolved
2005-12-06 16:01 john Resolution open => suspended
2005-12-06 16:01 john Note Added: 0000071
2005-12-18 17:29 jds Additional Information Updated
2005-12-18 17:32 jds Additional Information Updated
2005-12-20 02:39 john Relationship added child of 0000169
2006-02-07 13:19 john Target release => 1.0
2006-05-10 02:22 john Status resolved => closed