diff --git a/v2/example/python_modules/Jamroot b/v2/example/python_modules/Jamroot new file mode 100644 index 000000000..f504aaeb0 --- /dev/null +++ b/v2/example/python_modules/Jamroot @@ -0,0 +1,5 @@ + +import python_helpers ; + +ECHO "test1:" [ python_helpers.test1 ] ; +ECHO "test2:" [ python_helpers.test2 1234 : 5678 ] ; \ No newline at end of file diff --git a/v2/example/python_modules/python_helpers.jam b/v2/example/python_modules/python_helpers.jam new file mode 100644 index 000000000..d21e2d732 --- /dev/null +++ b/v2/example/python_modules/python_helpers.jam @@ -0,0 +1,7 @@ + +# Import the Python rules to Boost.Build +PYTHON_IMPORT_RULE python_helpers : test1 : python_helpers : test1 ; +PYTHON_IMPORT_RULE python_helpers : test2 : python_helpers : test2 ; + +# Make the new rules accessible to everybody who imports us. +EXPORT python_helpers : test1 test2 ; diff --git a/v2/example/python_modules/python_helpers.py b/v2/example/python_modules/python_helpers.py new file mode 100644 index 000000000..4b5839f27 --- /dev/null +++ b/v2/example/python_modules/python_helpers.py @@ -0,0 +1,15 @@ + +# Declare a couple of functions called from Boost.Build +# +# Each function will receive as many arguments as there ":"-separated +# arguments in bjam call. Each argument is a list of strings. +# As a special exception (aka bug), if no arguments are passed in bjam, +# Python function will be passed a single empty list. +# +# All Python functions must return a list of strings, which may be empty. + +def test1(l): + return ["foo", "bar"] + +def test2(l, l2): + return [l[0], l2[0]] \ No newline at end of file diff --git a/v2/example/python_modules/readme.txt b/v2/example/python_modules/readme.txt new file mode 100644 index 000000000..421f771ab --- /dev/null +++ b/v2/example/python_modules/readme.txt @@ -0,0 +1,11 @@ + +This example shows how you can use Python modules from Boost.Build. + +In order to do this, you need to build bjam with Python support, by running: + + ./build.sh --with-python=/usr + +in jam directory. (Replace /usr with the root of your Python installation.) + +The integration between Python and bjam is very basic now, but enough to +be useful. \ No newline at end of file