Bug #19

Cannot read Jamfile without .jam suffix

Added by Axel Dörfler almost 8 years ago. Updated over 7 years ago.

Status:FeedbackStart date:12/10/2009
Priority:NormalDue date:
Assignee:-% Done:


Target version:-


I guess this was a deliberate decision, but seeing that JamPlus is supposed to be an extension of Jam (the executable even has the same name which makes it pretty unhandy to use them side by side), why is it not able to actually reuse an existing Jam-based build system?

If it is no longer compatible, the executable should be renamed. If it is still compatible, it should be able to read Jamfiles without the extension.


#1 Updated by Joshua Jensen almost 8 years ago

  • Status changed from New to Feedback

JamPlus is configured based on the Jambase it uses. The Jambase.jam sitting side by side with the (possibly misnamed) jam.exe is completely incompatible with Perforce Jam.

On the other hand, Perforce Jam's Jambase may be reused with a few tiny patches, because JamPlus tightened up some language issues and tried to make paths more consistent. You can find the patched Jambase at tests/generate_libs/Jambase.

The changes are as follows:

# Added to turn off the automatic conversion of backslash paths to forward slash paths.

# rule MkDir
# Quoted, because it is now illegal to have a colon without a space separating it.
        case "*:"   : s = ;

# rule SubDir
# Quoted, because it is now illegal to have a colon without a space separating it.
            Echo "Warning: SubDir $(<) misplaced!" ; 

Should the executable be renamed? Probably. What to? I was never fond of the name jamplus.exe and not even fond of the project name JamPlus. Do you have any ideas?

#2 Updated by Axel Dörfler over 7 years ago

Sorry for the delay. Today I got around testing the Jambase you mentioned. However, there I run into some problems: "jam" (no matter if I build anything or not) runs into a stack overflow exception. "jam --workspace -gen=vs2005 Jamfile build-msvc" dumps an error about not being able to open some targetinfo/targetinfo.!all.!all.lua file.

Should I open new bug reports for those? Do you need more info?

About the naming, I agree that "jamplus" isn't ideal. On the other hand, since the project is named like that, the executable should probably be named in the same way. I miss some docs highlighting the differences to the base Jam.

#3 Updated by Joshua Jensen over 7 years ago

If I understand you correctly, you are attempting to generate Visual Studio projects from the original Perforce Jambase? That won't work out of box. I can show you how you might achieve that, but since the Perforce Jambase is broken in many places, I've not given it much heed in years.

Better error reporting is worthwhile. Feel free to open a bug.

Also available in: Atom PDF