Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/blender/blenkernel')
-rw-r--r--source/blender/blenkernel/SConscript8
-rw-r--r--source/blender/blenkernel/intern/constraint.c10
-rw-r--r--source/blender/blenkernel/intern/depsgraph.c4
-rw-r--r--source/blender/blenkernel/intern/exotic.c4
-rw-r--r--source/blender/blenkernel/intern/ipo.c9
-rw-r--r--source/blender/blenkernel/intern/material.c8
-rw-r--r--source/blender/blenkernel/intern/object.c30
-rw-r--r--source/blender/blenkernel/intern/scene.c10
-rw-r--r--source/blender/blenkernel/intern/script.c4
-rw-r--r--source/blender/blenkernel/intern/text.c6
-rw-r--r--source/blender/blenkernel/intern/world.c11
11 files changed, 85 insertions, 19 deletions
diff --git a/source/blender/blenkernel/SConscript b/source/blender/blenkernel/SConscript
index 82743ef5ea7..9b7e6736033 100644
--- a/source/blender/blenkernel/SConscript
+++ b/source/blender/blenkernel/SConscript
@@ -19,8 +19,11 @@ incs += ' ' + env['BF_SDL_INC']
defs = ''
+if not env['WITH_BF_PYTHON']:
+ defs += 'DISABLE_PYTHON'
+
if env['WITH_BF_INTERNATIONAL']:
- defs += 'WITH_FREETYPE2'
+ defs += ' WITH_FREETYPE2'
if env['WITH_BF_VERSE']:
defs += ' WITH_VERSE'
@@ -49,4 +52,7 @@ if env['BF_NO_ELBEEM']:
if env['WITH_BF_PLAYER']:
SConscript(['bad_level_call_stubs/SConscript'])
+if not env['WITH_BF_PYTHON']:
+ defs += ' DISABLE_PYTHON'
+
env.BlenderLib ( libname = 'bf_blenkernel', sources = sources, includes = Split(incs), defines = Split(defs), libtype=['core','player'], priority = [65, 20] )
diff --git a/source/blender/blenkernel/intern/constraint.c b/source/blender/blenkernel/intern/constraint.c
index 4914732b801..5639f00ee39 100644
--- a/source/blender/blenkernel/intern/constraint.c
+++ b/source/blender/blenkernel/intern/constraint.c
@@ -64,8 +64,9 @@
#include "BKE_library.h"
#include "BKE_idprop.h"
-
+#ifndef DISABLE_PYTHON
#include "BPY_extern.h"
+#endif
#include "blendef.h"
@@ -1814,6 +1815,7 @@ static bConstraintTypeInfo CTI_SIZELIKE = {
sizelike_evaluate /* evaluate */
};
+
/* ----------- Python Constraint -------------- */
static void pycon_free (bConstraint *con)
@@ -1888,8 +1890,10 @@ static void pycon_get_tarmat (bConstraint *con, bConstraintOb *cob, bConstraintT
constraint_target_to_mat4(ct->tar, ct->subtarget, ct->matrix, CONSTRAINT_SPACE_WORLD, ct->space, con->headtail);
/* only execute target calculation if allowed */
+#ifndef DISABLE_PYTHON
if (G.f & G_DOSCRIPTLINKS)
BPY_pyconstraint_target(data, ct);
+#endif
}
else if (ct)
Mat4One(ct->matrix);
@@ -1897,6 +1901,9 @@ static void pycon_get_tarmat (bConstraint *con, bConstraintOb *cob, bConstraintT
static void pycon_evaluate (bConstraint *con, bConstraintOb *cob, ListBase *targets)
{
+#ifdef DISABLE_PYTHON
+ return;
+#else
bPythonConstraint *data= con->data;
/* only evaluate in python if we're allowed to do so */
@@ -1913,6 +1920,7 @@ static void pycon_evaluate (bConstraint *con, bConstraintOb *cob, ListBase *targ
/* Now, run the actual 'constraint' function, which should only access the matrices */
BPY_pyconstraint_eval(data, cob, targets);
+#endif /* DISABLE_PYTHON */
}
static bConstraintTypeInfo CTI_PYTHON = {
diff --git a/source/blender/blenkernel/intern/depsgraph.c b/source/blender/blenkernel/intern/depsgraph.c
index 7f4910a9765..6914de29d43 100644
--- a/source/blender/blenkernel/intern/depsgraph.c
+++ b/source/blender/blenkernel/intern/depsgraph.c
@@ -79,7 +79,9 @@
#include "MEM_guardedalloc.h"
#include "blendef.h"
+#ifndef DISABLE_PYTHON
#include "BPY_extern.h"
+#endif
#include "depsgraph_private.h"
@@ -313,6 +315,7 @@ static void dag_add_driver_relation(Ipo *ipo, DagForest *dag, DagNode *node, int
if ((icu->driver->flag & IPO_DRIVER_FLAG_INVALID) || (icu->driver->name[0] == '\0'))
continue; /* empty or invalid expression */
+#ifndef DISABLE_PYTHON
else {
/* now we need refs to all objects mentioned in this
* pydriver expression, to call 'dag_add_relation'
@@ -334,6 +337,7 @@ static void dag_add_driver_relation(Ipo *ipo, DagForest *dag, DagNode *node, int
MEM_freeN(obarray);
}
}
+#endif /* DISABLE_PYTHON */
}
else if (icu->driver->ob) {
node1 = dag_get_node(dag, icu->driver->ob);
diff --git a/source/blender/blenkernel/intern/exotic.c b/source/blender/blenkernel/intern/exotic.c
index 561b564ac39..9fb8d17d730 100644
--- a/source/blender/blenkernel/intern/exotic.c
+++ b/source/blender/blenkernel/intern/exotic.c
@@ -117,7 +117,9 @@
#include "BKE_curve.h"
#include "BKE_customdata.h"
+#ifndef DISABLE_PYTHON
#include "BPY_extern.h"
+#endif
#include "blendef.h"
@@ -2427,6 +2429,7 @@ int BKE_read_exotic(char *name)
read_stl_mesh_binary(name);
retval = 1;
}
+#ifndef DISABLE_PYTHON
// TODO: this should not be in the kernel...
else { // unknown format, call Python importloader
if (BPY_call_importloader(name)) {
@@ -2436,6 +2439,7 @@ int BKE_read_exotic(char *name)
}
}
+#endif /* DISABLE_PYTHON */
waitcursor(0);
}
}
diff --git a/source/blender/blenkernel/intern/ipo.c b/source/blender/blenkernel/intern/ipo.c
index 9f0ea0f1388..29db0ddd808 100644
--- a/source/blender/blenkernel/intern/ipo.c
+++ b/source/blender/blenkernel/intern/ipo.c
@@ -73,7 +73,10 @@
#include "BKE_main.h"
#include "BKE_mesh.h"
#include "BKE_object.h"
+
+#ifndef DISABLE_PYTHON
#include "BPY_extern.h" /* for BPY_pydriver_eval() */
+#endif
#define SMALL -1.0e-10
@@ -1008,6 +1011,7 @@ static void posechannel_get_local_transform (bPoseChannel *pchan, float loc[], f
*/
static float eval_driver (IpoDriver *driver, float ipotime)
{
+#ifndef DISABLE_PYTHON
/* currently, drivers are either PyDrivers (evaluating a PyExpression, or Object/Pose-Channel transforms) */
if (driver->type == IPO_DRIVER_TYPE_PYTHON) {
/* check for empty or invalid expression */
@@ -1022,7 +1026,10 @@ static float eval_driver (IpoDriver *driver, float ipotime)
*/
return BPY_pydriver_eval(driver);
}
- else {
+ else
+#endif /* DISABLE_PYTHON */
+ {
+
Object *ob= driver->ob;
/* must have an object to evaluate */
diff --git a/source/blender/blenkernel/intern/material.c b/source/blender/blenkernel/intern/material.c
index f05b84f6e90..27f4fd3bc05 100644
--- a/source/blender/blenkernel/intern/material.c
+++ b/source/blender/blenkernel/intern/material.c
@@ -59,7 +59,9 @@
#include "BKE_node.h"
#include "BKE_utildefines.h"
+#ifndef DISABLE_PYTHON
#include "BPY_extern.h"
+#endif
#include "GPU_material.h"
@@ -78,7 +80,9 @@ void free_material(Material *ma)
MTex *mtex;
int a;
+#ifndef DISABLE_PYTHON
BPY_free_scriptlink(&ma->scriptlink);
+#endif
for(a=0; a<MAX_MTEX; a++) {
mtex= ma->mtex[a];
@@ -201,8 +205,10 @@ Material *copy_material(Material *ma)
id_us_plus((ID *)man->mtex[a]->tex);
}
}
-
+
+#ifndef DISABLE_PYTHON
BPY_copy_scriptlink(&ma->scriptlink);
+#endif
if(ma->ramp_col) man->ramp_col= MEM_dupallocN(ma->ramp_col);
if(ma->ramp_spec) man->ramp_spec= MEM_dupallocN(ma->ramp_spec);
diff --git a/source/blender/blenkernel/intern/object.c b/source/blender/blenkernel/intern/object.c
index b6f6820ca73..77c891ee82e 100644
--- a/source/blender/blenkernel/intern/object.c
+++ b/source/blender/blenkernel/intern/object.c
@@ -111,7 +111,9 @@
#include "LBM_fluidsim.h"
+#ifndef DISABLE_PYTHON
#include "BPY_extern.h"
+#endif
#include "GPU_material.h"
@@ -269,8 +271,10 @@ void free_object(Object *ob)
free_constraints(&ob->constraints);
free_constraint_channels(&ob->constraintChannels);
free_nlastrips(&ob->nlastrips);
-
+
+#ifndef DISABLE_PYTHON
BPY_free_scriptlink(&ob->scriptlink);
+#endif
if(ob->pd){
if(ob->pd->tex)
@@ -637,9 +641,9 @@ Camera *copy_camera(Camera *cam)
camn= copy_libblock(cam);
id_us_plus((ID *)camn->ipo);
-
+#ifndef DISABLE_PYTHON
BPY_copy_scriptlink(&camn->scriptlink);
-
+#endif
return camn;
}
@@ -786,9 +790,9 @@ Lamp *copy_lamp(Lamp *la)
id_us_plus((ID *)lan->ipo);
if (la->preview) lan->preview = BKE_previewimg_copy(la->preview);
-
+#ifndef DISABLE_PYTHON
BPY_copy_scriptlink(&la->scriptlink);
-
+#endif
return lan;
}
@@ -846,7 +850,9 @@ void make_local_lamp(Lamp *la)
void free_camera(Camera *ca)
{
+#ifndef DISABLE_PYTHON
BPY_free_scriptlink(&ca->scriptlink);
+#endif
}
void free_lamp(Lamp *la)
@@ -855,8 +861,9 @@ void free_lamp(Lamp *la)
int a;
/* scriptlinks */
-
+#ifndef DISABLE_PYTHON
BPY_free_scriptlink(&la->scriptlink);
+#endif
for(a=0; a<MAX_MTEX; a++) {
mtex= la->mtex[a];
@@ -1202,9 +1209,9 @@ Object *copy_object(Object *ob)
modifier_copyData(md, nmd);
BLI_addtail(&obn->modifiers, nmd);
}
-
+#ifndef DISABLE_PYTHON
BPY_copy_scriptlink(&ob->scriptlink);
-
+#endif
obn->prop.first = obn->prop.last = NULL;
copy_properties(&obn->prop, &ob->prop);
@@ -1918,10 +1925,11 @@ void where_is_object_time(Object *ob, float ctime)
constraints_clear_evalob(cob);
}
-
+#ifndef DISABLE_PYTHON
if(ob->scriptlink.totscript && !during_script()) {
if (G.f & G_DOSCRIPTLINKS) BPY_do_pyscript((ID *)ob, SCRIPT_REDRAW);
}
+#endif
/* set negative scale flag in object */
Crossf(vec, ob->obmat[0], ob->obmat[1]);
@@ -2288,7 +2296,9 @@ void object_handle_update(Object *ob)
}
else
where_is_object(ob);
+#ifndef DISABLE_PYTHON
if (G.f & G_DOSCRIPTLINKS) BPY_do_pyscript((ID *)ob, SCRIPT_OBJECTUPDATE);
+#endif
}
if(ob->recalc & OB_RECALC_DATA) {
@@ -2364,7 +2374,9 @@ void object_handle_update(Object *ob)
psys_get_modifier(ob, psys)->flag &= ~eParticleSystemFlag_psys_updated;
}
}
+#ifndef DISABLE_PYTHON
if (G.f & G_DOSCRIPTLINKS) BPY_do_pyscript((ID *)ob, SCRIPT_OBDATAUPDATE);
+#endif
}
/* the no-group proxy case, we call update */
diff --git a/source/blender/blenkernel/intern/scene.c b/source/blender/blenkernel/intern/scene.c
index 7d864c83d2c..1727edc10fc 100644
--- a/source/blender/blenkernel/intern/scene.c
+++ b/source/blender/blenkernel/intern/scene.c
@@ -82,7 +82,10 @@
#include "BIF_previewrender.h"
#include "BIF_editseq.h"
+#ifndef DISABLE_PYTHON
#include "BPY_extern.h"
+#endif
+
#include "BLI_arithb.h"
#include "BLI_blenlib.h"
@@ -139,7 +142,10 @@ void free_scene(Scene *sce)
if(sce->radio) MEM_freeN(sce->radio);
sce->radio= 0;
+#ifndef DISABLE_PYTHON
BPY_free_scriptlink(&sce->scriptlink);
+#endif
+
if (sce->r.avicodecdata) {
free_avicodecdata(sce->r.avicodecdata);
MEM_freeN(sce->r.avicodecdata);
@@ -585,9 +591,9 @@ void scene_update_for_newframe(Scene *sce, unsigned int lay)
/* object ipos are calculated in where_is_object */
do_all_data_ipos();
-
+#ifndef DISABLE_PYTHON
if (G.f & G_DOSCRIPTLINKS) BPY_do_all_scripts(SCRIPT_FRAMECHANGED, 0);
-
+#endif
/* sets first, we allow per definition current scene to have dependencies on sets */
for(sce= sce->set; sce; sce= sce->set)
scene_update(sce, lay);
diff --git a/source/blender/blenkernel/intern/script.c b/source/blender/blenkernel/intern/script.c
index b93821da218..6145f6c3063 100644
--- a/source/blender/blenkernel/intern/script.c
+++ b/source/blender/blenkernel/intern/script.c
@@ -44,7 +44,9 @@
#include "BKE_global.h"
#include "BKE_main.h"
+#ifndef DISABLE_PYTHON
#include "BPY_extern.h" // Blender Python library
+#endif
#ifdef HAVE_CONFIG_H
#include <config.h>
@@ -57,5 +59,7 @@
void free_script (Script *script)
{
if (!script) return;
+#ifndef DISABLE_PYTHON
BPY_clear_script(script);
+#endif
}
diff --git a/source/blender/blenkernel/intern/text.c b/source/blender/blenkernel/intern/text.c
index 9e6efa59d71..1ff757a5823 100644
--- a/source/blender/blenkernel/intern/text.c
+++ b/source/blender/blenkernel/intern/text.c
@@ -47,7 +47,9 @@
#include "BKE_global.h"
#include "BKE_main.h"
+#ifdef DISABLE_PYTHON
#include "BPY_extern.h"
+#endif
#ifdef HAVE_CONFIG_H
#include <config.h>
@@ -158,7 +160,9 @@ void free_text(Text *text)
if(text->name) MEM_freeN(text->name);
MEM_freeN(text->undo_buf);
+#ifndef DISABLE_PYTHON
if (text->compiled) BPY_free_compiled_text(text);
+#endif
}
Text *add_empty_text(char *name)
@@ -571,7 +575,9 @@ int txt_get_span (TextLine *from, TextLine *to)
static void txt_make_dirty (Text *text)
{
text->flags |= TXT_ISDIRTY;
+#ifndef DISABLE_PYTHON
if (text->compiled) BPY_free_compiled_text(text);
+#endif
}
/* 0:whitespace, 1:punct, 2:alphanumeric */
diff --git a/source/blender/blenkernel/intern/world.c b/source/blender/blenkernel/intern/world.c
index 814d6f8baf1..2e89ce3f805 100644
--- a/source/blender/blenkernel/intern/world.c
+++ b/source/blender/blenkernel/intern/world.c
@@ -54,7 +54,9 @@
#include "BKE_main.h"
#include "BKE_icons.h"
+#ifndef DISABLE_PYTHON
#include "BPY_extern.h"
+#endif
#ifdef HAVE_CONFIG_H
#include <config.h>
@@ -64,9 +66,10 @@ void free_world(World *wrld)
{
MTex *mtex;
int a;
-
+
+#ifndef DISABLE_PYTHON
BPY_free_scriptlink(&wrld->scriptlink);
-
+#endif
for(a=0; a<MAX_MTEX; a++) {
mtex= wrld->mtex[a];
if(mtex && mtex->tex) mtex->tex->id.us--;
@@ -124,9 +127,9 @@ World *copy_world(World *wrld)
}
if (wrld->preview) wrldn->preview = BKE_previewimg_copy(wrld->preview);
-
+#ifndef DISABLE_PYTHON
BPY_copy_scriptlink(&wrld->scriptlink);
-
+#endif
id_us_plus((ID *)wrldn->ipo);
return wrldn;