Fix to allow several include dirs for python under scons build system (needed with...
authorBastien Montagne <montagne29@wanadoo.fr>
Mon, 12 Nov 2012 18:31:15 +0000 (18:31 +0000)
committerBastien Montagne <montagne29@wanadoo.fr>
Mon, 12 Nov 2012 18:31:15 +0000 (18:31 +0000)
SConstruct
intern/cycles/SConscript
intern/locale/SConscript

index b7b27baae5a6a276bab772876f6f809411f7824e..4af85f51a4b1884c59ad12589deccb66841feeac 100644 (file)
@@ -422,16 +422,22 @@ if not quickie and do_clean:
 # with _any_ library but since we used a fixed python version this tends to
 # be most problematic.
 if env['WITH_BF_PYTHON']:
-    py_h = os.path.join(Dir(env.subst('${BF_PYTHON_INC}')).abspath, "Python.h")
-
-    if not os.path.exists(py_h):
-        print("\nMissing: \"" + env.subst('${BF_PYTHON_INC}') + os.sep + "Python.h\",\n"
+    found_python_h = found_pyconfig_h = False
+    for bf_python_inc in env.subst('${BF_PYTHON_INC}').split():
+        py_h = os.path.join(Dir(bf_python_inc).abspath, "Python.h")
+        if os.path.exists(py_h):
+            found_python_h = True
+        py_h = os.path.join(Dir(bf_python_inc).abspath, "pyconfig.h")
+        if os.path.exists(py_h):
+            found_pyconfig_h = True
+
+    if not (found_python_h and found_pyconfig_h):
+        print("\nMissing: Python.h and/or pyconfig.h in\"" + env.subst('${BF_PYTHON_INC}') + "\",\n"
               "  Set 'BF_PYTHON_INC' to point "
-              "to a valid python include path.\n  Containing "
-              "Python.h for python version \"" + env.subst('${BF_PYTHON_VERSION}') + "\"")
+              "to valid python include path(s).\n Containing "
+              "Python.h and pyconfig.h for python version \"" + env.subst('${BF_PYTHON_VERSION}') + "\"")
 
         Exit()
-    del py_h
 
 
 if not os.path.isdir ( B.root_build_dir):
index c0e0353d37d5926655c981690009d2816ccad8bd..c7d7720e0fe73addfe4001d7f637f9a71d090572 100644 (file)
@@ -32,7 +32,7 @@ incs.extend('#source/blender/blenloader ../../source/blender/makesrna/intern'.sp
 incs.extend('#extern/glew/include #intern/mikktspace'.split())
 incs.append(cycles['BF_OIIO_INC'])
 incs.append(cycles['BF_BOOST_INC'])
-incs.append(cycles['BF_PYTHON_INC'])
+incs.extend(cycles['BF_PYTHON_INC'].split())
 
 if env['OURPLATFORM'] in ('win32-vc', 'win64-vc'):
     cxxflags.append('-D_CRT_SECURE_NO_WARNINGS /fp:fast /EHsc'.split())
index 4a1357b76e461cbf2832832bda36196f0f482490..df745f093ead1109cf1f4f619389c13c583c9230 100644 (file)
@@ -11,4 +11,4 @@ if env['WITH_BF_INTERNATIONAL']:
     defs.append('WITH_INTERNATIONAL')
     incs += ' ' + env['BF_BOOST_INC']
 
-env.BlenderLib( 'bf_intern_locale', sources, Split(incs), defs, libtype=['extern','player'], priority=[10, 185])
+env.BlenderLib( 'bf_intern_locale', sources, Split(incs), defs, libtype=['intern','player'], priority=[10, 185])