65e07e58d58dce2a8b8b4bd94bbbf16e3dfde8da
[supertux.git] / mk / jam / jamcompatibility.jam
1 #============================================================================
2 # Several hacks to make the build compatible with certain old/broken jam
3 # versions
4 #============================================================================
5
6 # boostjam is evil: It is compatible to jam 2.4 but has a version number 3.1, we# try to detect boostjam with the ARGV extension
7 if $(ARGV[0])
8 {
9     EXIT "Error: You can't use boostjam for this build." ;
10 }
11
12 # we can't use boostjam at the moment as it still has the bug from jam 2.4 where
13 # settings variables on header targets doesn't work
14 if $(JAMVERSION) <= 2.4
15 {
16     EXIT "Error: This buildsystem requires jam version 2.5 or later." ;
17 }
18
19 # All scripts invoked by the build system expect a Bourne or compatible shell.
20 # Reject C-shell and its variants (such as tcsh).  Unfortunately, this is a bit
21 # of an ugly hack.  It would be nicer to perform this logic at the very end of
22 # this file as a last-minute assertion.  Unfortunately, however, it seems that
23 # references to $(SHELL) in any of the included files get bound at the point
24 # of reference, thus we need to perform this filtering as early as possible.
25 if [ Match (csh) : $(SHELL) ]
26 {
27   SHELL = "/bin/sh" ;
28 }
29