Changeset 10982:47102ef1df8d in orange


Ignore:
Timestamp:
08/31/12 17:19:59 (20 months ago)
Author:
Ales Erjavec <ales.erjavec@…>
Branch:
default
Children:
10983:92186571942b, 10986:0d6eaffc96ba
Message:

Properly handle the '–dry-run' option.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • setup.py

    r10977 r10982  
    169169            # Fix extension modules so they can be linked 
    170170            # by other modules 
     171            if self.dry_run: 
     172                # No need to do anything here. 
     173                return 
     174 
    171175            if isinstance(self.compiler, MSVCCompiler): 
    172176                # Copy ${TEMP}/orange/orange.lib to ${BUILD}/orange.lib 
     
    174178                # Get the last component of the name 
    175179                ext_name = ext.name.rsplit(".", 1)[-1] 
    176                 libs = glob.glob(os.path.join(self.build_temp,  
     180                libs = glob.glob(os.path.join(self.build_temp, 
    177181                                              "*", "*", ext_name + ".lib")) 
    178182                if not libs: 
    179183                    log.info("Could not locate library %r in directory %r" \ 
    180                              %(ext_name, self.build_temp)) 
     184                             % (ext_name, self.build_temp)) 
    181185                else: 
    182186                    lib = libs[0] 
    183                     copy_file(lib, os.path.splitext(ext_fullpath)[0] + ".lib") 
     187                    lib_path = os.path.splitext(ext_fullpath)[0] + ".lib" 
     188                    copy_file(lib, lib_path, dry_run=self.dry_run) 
    184189            else: 
    185190                # Make lib{name}.so link to {name}.so 
     
    193198                    lib_filename = self.compiler.library_filename(name, lib_type="shared") 
    194199                    # Create the link 
    195                     copy_file(ext_filename, lib_filename, link="sym") 
     200                    copy_file(ext_filename, lib_filename, link="sym", 
     201                              dry_run=self.dry_run) 
    196202                except OSError, ex: 
    197203                    log.info("failed to create shared library for %s: %s" % (ext.name, str(ex))) 
     
    441447        sub_commands += [("build_pyqt_ext", has_pyqt_extensions)] 
    442448 
     449 
    443450class orange_install_lib(install_lib): 
    444451    """ An command to install orange (preserves liborange.so -> orange.so symlink) 
     
    447454        install_lib.run(self) 
    448455 
    449     def copy_tree(self, infile, outfile, preserve_mode=1, preserve_times=1, preserve_symlinks=1, level=1): 
     456    def copy_tree(self, infile, outfile, preserve_mode=1, preserve_times=1, 
     457                  preserve_symlinks=1, level=1): 
    450458        """ Run copy_tree with preserve_symlinks=1 as default 
    451         """  
    452         install_lib.copy_tree(self, infile, outfile, preserve_mode, preserve_times, preserve_symlinks, level) 
     459        """ 
     460        install_lib.copy_tree(self, infile, outfile, preserve_mode, 
     461                              preserve_times, preserve_symlinks, level) 
    453462 
    454463    def install(self): 
     
    457466        # A Hack to unlink liborange.so -> orange.so if it already exists, 
    458467        # because copy_tree fails to overwrite it 
    459         #  
     468        # 
    460469        liborange = os.path.join(self.install_dir, "Orange", "liborange.so") 
    461470        if os.path.exists(liborange) and os.path.islink(liborange): 
    462             log.info("unlinking %s -> %s", liborange, os.path.join(self.install_dir, "orange.so")) 
    463             os.unlink(liborange) 
     471            log.info("unlinking %s -> %s", liborange, 
     472                     os.path.join(self.install_dir, "orange.so")) 
     473 
     474            if not self.dry_run: 
     475                os.unlink(liborange) 
    464476 
    465477        return install_lib.install(self) 
     478 
    466479 
    467480class orange_install(install): 
    468481    """ A command to install orange while also creating 
    469     a .pth path to access the old orng* modules and orange,  
    470     orangeom etc.  
    471      
     482    a .pth path to access the old orng* modules and orange, 
     483    orangeom etc. 
     484 
    472485    """ 
    473486    def run(self): 
     
    480493        self.create_path_file() 
    481494        self.path_file, self.extra_dirs = None, None 
     495 
    482496 
    483497def get_source_files(path, ext="cpp", exclude=[]): 
Note: See TracChangeset for help on using the changeset viewer.