Changeset 4448


Ignore:
Timestamp:
May 16, 2007, 11:46:47 AM (17 years ago)
Author:
duncan
Message:

only one compile.py cont..

File:
1 edited

Legend:

Unmodified
Added
Removed
  • anuga_core/source/anuga/utilities/compile.py

    r4426 r4448  
    88     compile.compile(<filename>,..)
    99
    10    Ole Nielsen, Oct 2001     
     10   Ole Nielsen, Duncan Gray Oct 2001     
    1111"""     
    1212
     
    2525 
    2626 
    27   ###########################jhdsgfjgdjfg
    2827 
    2928  import os, string, sys, types
     
    119118      compiler = CC
    120119    else: 
    121       compiler = 'gcc.exe'  #Some systems require this (perhaps a security measure?)
     120      compiler = 'gcc.exe' #Some systems require this (a security measure?)
    122121    if LD:
    123122      loader = LD
     
    222221      open(FN, 'r')
    223222    except:
    224       #print 'CWD:', os.getcwd()     
    225223      raise Exception, "Could not open: " + FN
    226224
     
    232230    #
    233231    if utilities_include_dir is None:   
    234       s = '%s -c %s -I%s -o %s.o -Wall -O3'\
     232      s = '%s -c %s -I"%s" -o "%s.o" -Wall -O3'\
    235233          %(compiler, FN, python_include, root)
    236234    else:
    237       s = '%s -c %s -I%s -I%s -o %s.o -Wall -O3'\
    238           %(compiler, FN, python_include, utilities_include_dir, root)
     235      if FN == "triangle.c" or FN == "mesh_engine_c_layer.c":
     236        s = '%s -c %s -I"%s" -I"%s" -o "%s.o" -O3 -DTRILIBRARY=1 -DNO_TIMER=1'\
     237            %(compiler, FN, python_include, utilities_include_dir, root)
     238      else:
     239        s = '%s -c %s -I"%s" -I"%s" -o "%s.o" -Wall -O3'\
     240            %(compiler, FN, python_include, utilities_include_dir, root)
    239241
    240242    if os.name == 'posix' and os.uname()[4] == 'x86_64':
     
    262264 
    263265  # Make shared library (*.so or *.dll)
    264  
    265   s = "%s -%s %s -o %s.%s %s -lm" %(loader, sharedflag, object_files, root1, libext, libs)
     266  if libs is "":
     267    s = '%s -%s %s -o %s.%s -lm' %(loader, sharedflag, object_files, root1, libext)
     268  else:
     269    s = '%s -%s %s -o %s.%s "%s" -lm' %(loader, sharedflag, object_files, root1, libext, libs)
    266270  if verbose:
    267271    print s
     
    282286    """
    283287
     288    from anuga.config import use_extensions
    284289
    285290    from os.path import splitext
     
    288293   
    289294    C=False
    290 
    291     try:
    292         s = 'import %s' %root
    293         #print s
    294         exec(s)
    295     except:
     295    if use_extensions:
    296296        try:
    297             open(filename)
     297            s = 'import %s' %root
     298            #print s
     299            exec(s)
    298300        except:
    299             msg = 'C extension %s cannot be opened' %filename
    300             print msg               
    301         else:   
    302             print '------- Trying to compile c-extension %s' %filename
    303 
    304             compile(filename)       
    305301            try:
    306                 compile(filename)
     302                open(filename)
    307303            except:
    308                 print 'WARNING: Could not compile C-extension %s'\
    309                       %filename
    310             else:
     304                msg = 'C extension %s cannot be opened' %filename
     305                print msg               
     306            else:   
     307                print '------- Trying to compile c-extension %s' %filename
     308           
    311309                try:
    312                     exec('import %s' %root)
     310                    compile(filename)
    313311                except:
    314                     msg = 'C extension %s seems to compile OK, '
    315                     msg += 'but it can still not be imported.'
    316                     raise msg
     312                    print 'WARNING: Could not compile C-extension %s'\
     313                          %filename
    317314                else:
    318                     C=True
    319     else:
    320         C=True
     315                    try:
     316                        exec('import %s' %root)
     317                    except:
     318                        msg = 'C extension %s seems to compile OK, '
     319                        msg += 'but it can still not be imported.'
     320                        raise msg
     321                    else:
     322                        C=True
     323        else:
     324            C=True
    321325           
    322326    if not C:
     
    325329
    326330    return C
    327 
    328 
    329331
    330332
     
    360362                  pass
    361363
    362           print '--------------------------------------'     
     364          print '-------------------------------_-------'     
    363365          print 'Trying to compile c-extension %s in %s'\
    364366                %(filename, os.getcwd())
    365 
    366           compile(filename)         
    367367          try:
     368            if filename == 'triang.c':
     369              compile(['triang.c','triangle.c'])
     370            elif  filename == 'mesh_engine_c_layer.c':
     371              compile(['mesh_engine_c_layer.c','triangle.c'])
     372            else:
    368373              compile(filename)
    369374          except Exception, e:
Note: See TracChangeset for help on using the changeset viewer.