On Fri, 16 Oct 2009 12:22:20 +0900, David Cournapeau wrote: > The problem is a bit more complicated, because it cannot be handled in > one single section.
I really appreciate you sharing this challenge with me. I'm really convinced that I can "tweak" something to make it work. And now is a really good time for me to examine it because I'm coding now. Let me post how the code is looking: def main(): # -- Return Code rc = 0 # -- Check for our config file if not os.path.exists(setupconfigname): logger.error("No %s file found. Installation is unable to proceed" % setupconfigname) sys.exit(10) try: # -- See what our platform is build_platform_bit_map() # -- Work out where to copy files to build_local_directory_targets() # -- Load basic install information load_basic_install_requirements() # -- Process python package dependencies process_dependencies() # -- Build a list of all the files that need to be copied build_file_copy_list() # -- Check that all the files in the copy list exist and are ready for copying validate_file_list() # -- Run preinstall scripts run_preinstall_scripts() # -- Copy files to the local system copy_files() # -- Adjust the python configuration finalise_python() # -- Update platform links/shortcuts finalise_local_links() # -- Run postinstall scripts run_postinstall_scripts() except: rollback(): rc = 1 return rc So let's just take what you wrote step by step.. > You need to detect cython (configuration stage) cython is a type of python interpretor? like jython or ironpython Assuming yes, > you need to modify the extensions sources depending on this, and you need to > install different files depending on this: [Application] scripts = artisticflairgui.py [Application cython] scripts = artisticflairguicython.py That's a different file being installed if we detect we are using cython and not python. Since we are copying files "out", like we used to do, we can include all the files that we need in our package. Only the files needed for the local platform end up getting copied. > it touches at least config, > build_ext and install commands to use the distutils terminology. [postinstall] scripts = buildit.py [postinstall cython] scripts = builtitspecialforcython.py [postinstall jython] scripts = builtitspecialforjython.py [postinstall ironpython] scripts = killvistaupgradetowin7.py > This is similar to my main complain about distutils: you can't easily > share data between commands. AFAIK, the only way to do it is to use the > Distribute class instance, which is problematic as that's what most > tools on top of distutils need to monkey-patch. It seems to be a really unusual (for me) problem. But I don't dispute that its a real problem. I don't follow all the python spin offs but I agree that they need to be. Hence, they need bits (constants). I just hope I'm understanding the problem the right way. Maybe next week I might even have something that can be tried to see if it will work. I'm busy coding now, so you asked at a good time. David _______________________________________________ Distutils-SIG maillist - Distutils-SIG@python.org http://mail.python.org/mailman/listinfo/distutils-sig