Changeset dcf88ff in git


Ignore:
Timestamp:
Dec 11, 2012, 7:28:54 PM (11 years ago)
Author:
Oleksandr Motsak <motsak@…>
Branches:
(u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
Children:
3e7db4d961b4509d248e12d8e96e2bed08d9cfe8
Parents:
e7cccf3b8b35aa52ffffb9f6d1a54ae569d3466fbd8204a951e445d6081f81d1727da65972ead678
Message:
Merge pull request #226 from alexanderdreyer/spielwiese-pyobject

Fix: nonexisting or old python won't break build + ...
Files:
1 added
6 edited

Legend:

Unmodified
Added
Removed
  • Singular/countedref.cc

    re7cccf3 rdcf88ff  
    696696void countedref_reference_load()
    697697{
     698  int tok;
     699  if (blackboxIsCmd("reference", tok) == ROOT_DECL)
     700    return;
     701
    698702  blackbox *bbx = (blackbox*)omAlloc0(sizeof(blackbox));
    699703  bbx->blackbox_CheckAssign = countedref_CheckAssign;
     
    716720void countedref_shared_load()
    717721{
     722  int tok;
     723  if (blackboxIsCmd("shared", tok) == ROOT_DECL)
     724    return;
     725
    718726  blackbox *bbxshared = (blackbox*)omAlloc0(sizeof(blackbox));
    719727  bbxshared->blackbox_String  = countedref_String;
  • Singular/extra.cc

    re7cccf3 rdcf88ff  
    9494#include "walk.h"
    9595#include <Singular/newstruct.h>
    96 
     96#include <Singular/pyobject_setup.h>
    9797
    9898
     
    29472947       else
    29482948
     2949  /*==== pyobject (or pyobject*, like pyobject.so) force loading python ===*/
     2950       if (strncmp(sys_cmd, "pyobject", 8) == 0)
     2951       {
     2952         res->rtyp = NONE;
     2953         return pyobject_ensure();
     2954       }
     2955       else
    29492956
    29502957  /*==================== DLL =================*/
  • Singular/pyobject_setup.cc

    re7cccf3 rdcf88ff  
    4949void* pyobject_autoload(blackbox* bbx)
    5050{
    51   if (pyobject_load()) return NULL;
    52   return bbx->blackbox_Init(bbx);
     51  assume(bbx != NULL);
     52  return (pyobject_load()? NULL: bbx->blackbox_Init(bbx));
    5353}
    5454
     
    6767}
    6868
     69/// Explicitely load, if not loaded already
     70BOOLEAN pyobject_ensure() {
     71
     72  int tok = -1;
     73  blackbox* bbx = (blackboxIsCmd("pyobject", tok) == ROOT_DECL?
     74                   getBlackboxStuff(tok): (blackbox*)NULL);
     75  if (bbx == NULL) return TRUE;
     76  return (bbx->blackbox_Init == pyobject_autoload?  pyobject_load(): FALSE); 
     77}
     78
     79
     80
  • Singular/pyobject_setup.h

    re7cccf3 rdcf88ff  
    1717#define SINGULAR_PYOBJECT_SETUP_H
    1818
     19/// initialize blackbox support for @c pyobject; functionilty os autoloaded on demand
    1920void pyobject_setup();
    2021
     22/// force leading of pyobject functionality
     23BOOLEAN pyobject_ensure();
     24
    2125#endif
  • configure.ac

    re7cccf3 rdcf88ff  
    6363
    6464AX_PYTHON_DEFAULT()
    65 AC_ARG_WITH(
    66             python,
    67             AS_HELP_STRING([--with-python@<:@=PYTHON@:>@],
    68                 [absolute path name of Python executable]
    69             ),
    70             [AX_PYTHON_WITH()],
    71             [with_python="yes";AX_PYTHON_WITH()]
    72 )
     65AX_PYTHON_WITH_VERSION([2.4])
    7366
    74 AX_PYTHON_VERSION_ENSURE([2.4])
    75 AX_PYTHON_LSPEC()
    76 AX_PYTHON_CSPEC()
    7767
    7868AC_FUNC_ERROR_AT_LINE
Note: See TracChangeset for help on using the changeset viewer.