| 237 | b2.build.type.register('INSTALLED_EXE', [], 'EXE') |
| 238 | |
| 239 | class InstalledExeGenerator(generators.Generator): |
| 240 | |
| 241 | def __init__(self): |
| 242 | generators.Generator.__init__(self, "install-exe", False, ['EXE'], ['INSTALLED_EXE']) |
| 243 | |
| 244 | def run(self, project, name, ps, source): |
| 245 | |
| 246 | need_relink = False; |
| 247 | |
| 248 | if ps.get('os') in ['NT', 'CYGWIN'] or ps.get('target-os') in ['windows', 'cygwin']: |
| 249 | # Never relink |
| 250 | pass |
| 251 | else: |
| 252 | # See if the dll-path properties are not changed during |
| 253 | # install. If so, copy, don't relink. |
| 254 | need_relink = ps.get('dll-path') != source[0].action().properties().get('dll-path') |
| 255 | |
| 256 | if need_relink: |
| 257 | return [relink_file(project, source, ps)] |
| 258 | else: |
| 259 | return [copy_file(project, None, source[0], ps)] |
| 260 | |
| 261 | generators.register(InstalledExeGenerator()) |
| 262 | |