Show
Ignore:
Timestamp:
2007-10-03 00:12:09 (4 years ago)
Author:
caedesv
Message:

synced swig.jam file from cs, and adapted configure check to
account for libcrystalspace-python not existing any more.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • cel/trunk/mk/jam/swig.jam

    r2183 r3013  
    135135    SWIG.FLAGS on $(target) += 
    136136      $(SWIG.FLAGS) -$(language) $(swigflags) -I$(swigincdirs) 
    137       -outdir [ ConcatDirs $(outdir) ] ; 
     137      -outdir [ ConcatDirs $(outdir) ] -o $(target:G=:D=$(LOCATE_TARGET)) ; 
    138138 
    139139    # Allow Swig input file to reside at location other than $(SEARCH_SOURCE). 
     
    149149    # Scan for special Swig includes. 
    150150    HDRGRIST on $(swigfile) = $(HDRGRIST) ; 
    151     HDRSEARCH on $(swigfile) = 
     151    HDRSEARCH on $(swigfile) = [ on $(swigfile) GetVar SEARCH ] 
    152152      $(SEARCH_SOURCE:E) $(SUBDIRHDRS) $(HDRS) $(STDHDRS) ; 
    153153    HDRRULE on $(swigfile) = HeaderRule ; 
     
    184184    } 
    185185  } 
     186   
     187  ##  SwigExternalRuntime target : language [ : swigflags [: frozendirs [: tag ]]] 
     188  rule SwigExternalRuntime 
     189  { 
     190    local target = $(1) ; 
     191    local language = $(2) ; 
     192    local swigflags = $(3) ; 
     193    local frozentargetdir = $(4[1]) ; 
     194    local frozenotherdir = $(4[2-]) ; 
     195    local tag = $(5) ; 
     196 
     197    if ! $(frozenotherdir) { frozenotherdir = $(frozentargetdir) ; } 
     198    if ! $(tag) { tag = $(language) ; } 
     199 
     200    MakeLocate $(target) : $(LOCATE_TARGET) ; 
     201 
     202    SWIG.FLAGS on $(target) += 
     203      $(SWIG.FLAGS) -$(language) $(swigflags) -external-runtime [ ConcatDirs $(LOCATE_TARGET) $(target) ] ; 
     204 
     205    RunSwig $(target) ; 
     206    Depends $(tag)swig : $(target) ; 
     207    NotFile $(tag)swig ; 
     208    Always $(tag)swig ; 
     209    Help $(tag)swig : "Generate Swig files for $(tag)" ; 
     210 
     211    Clean $(tag)swigclean : $(target) $(othertargets) ; 
     212    Depends clean : $(tag)swigclean ; 
     213 
     214    if $(frozentargetdir) 
     215    { 
     216      local frozen_target = $(target:G=$(tag)freeze) ; 
     217      MakeLocate $(frozen_target) : $(frozentargetdir) ; 
     218      Depends $(frozen_target) : $(target) ; 
     219      Copy $(frozen_target) : $(target) ; 
     220      Depends $(tag)freeze : $(frozen_target) ; 
     221 
     222      if $(othertargets) 
     223      { 
     224        local frozen_other = $(othertargets:G=$(tag)freeze) ; 
     225        MakeLocate $(frozen_other) : $(frozenotherdir) ; 
     226        Depends $(frozen_other) : $(othertargets) ; 
     227        Copy $(frozen_other) : $(othertargets) ; 
     228        Depends $(tag)freeze : $(frozen_other) ; 
     229      } 
     230 
     231      NotFile $(tag)freeze ; 
     232      Help $(tag)freeze : "Copy generated Swig files to source directory" ; 
     233    } 
     234  } 
    186235 
    187236  actions RunSwig 
    188237  { 
    189     $(CMD.SWIG) $(SWIG.FLAGS) -o $(<) $(>) 
     238    $(CMD.SWIG) $(SWIG.FLAGS) $(>) 
    190239    $(SED) $(SWIG.SED_SCRIPT) < $(<) > $(<).sed 
    191240    $(RM) $(<) 
     
    220269  { 
    221270    SWIG.HDRPATTERN = 
    222       "^[       ]*[%#][         ]*include[      ]*[<\"]([^\">]*)[\">].*$" ; 
     271      "^[       ]*[%#][         ]*i[nm][cp][lo][ur][dt]e?[      ]*[<\"]([^\">]*)[\">].*$" ; 
    223272    RegisterHeaderRule HeaderRule : $(SWIG.HDRPATTERN) : .i ; 
    224273  }