import type ; import generators ; import feature : feature ; type.register SWIG : i ; generators.register-standard swig.swig-converter : SWIG : CPP ; feature package-name : : free ; import toolset : flags ; flags swig.swig-converter INCLUDES ; rule swig-converter ( targets * : sources * : properties * ) { if PYTHON_WRAPPER in $(properties) { OPTIONS on $(targets) = -python -outdir swig_python ; } else if CSHARP_WRAPPER in $(properties) { OPTIONS on $(targets) = -csharp -outdir swig_csharp ; } else if JAVA_WRAPPER in $(properties) { OPTIONS on $(targets) = -java -outdir org/RDKit -package org.RDKit ; } else { EXIT "*** Error *** swig.swig-converter: Unknown main-target-type" ; } } actions swig-converter { swig -c++ $(OPTIONS) -I"$(INCLUDES)" -o $(<) $(>) } type.register CSHARP_WRAPPER ; type.register JAVA_WRAPPER ; type.register PYTHON_WRAPPER ;