|
Boost-Commit : |
From: ghost_at_[hidden]
Date: 2007-10-26 10:57:57
Author: vladimir_prus
Date: 2007-10-26 10:57:56 EDT (Fri, 26 Oct 2007)
New Revision: 40482
URL: http://svn.boost.org/trac/boost/changeset/40482
Log:
Record base revision for ported files.
Assign unique numeric ids for virtual targets and
use them for hashing.
Text files modified:
branches/build/python_port/python/boost/build/build/alias.py | 5 +++--
branches/build/python_port/python/boost/build/build/build_request.py | 1 +
branches/build/python_port/python/boost/build/build/feature.py | 1 +
branches/build/python_port/python/boost/build/build/project.py | 1 +
branches/build/python_port/python/boost/build/build/property_set.py | 1 +
branches/build/python_port/python/boost/build/build/targets.py | 8 +++++---
branches/build/python_port/python/boost/build/build/virtual_target.py | 18 ++++++++++++++++++
7 files changed, 30 insertions(+), 5 deletions(-)
Modified: branches/build/python_port/python/boost/build/build/alias.py
==============================================================================
--- branches/build/python_port/python/boost/build/build/alias.py (original)
+++ branches/build/python_port/python/boost/build/build/alias.py 2007-10-26 10:57:56 EDT (Fri, 26 Oct 2007)
@@ -2,6 +2,9 @@
# Distributed under the Boost Software License, Version 1.0.
# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
+# Status: ported (danielw)
+# Base revision: 40480
+
# This module defines the 'alias' rule and associated class.
#
# Alias is just a main target which returns its source targets without any
@@ -22,8 +25,6 @@
# alias big_lib : : @/external_project/big_lib/<link>static ;
#
-# Status: ported (danielw)
-
import targets
import property_set
from boost.build.manager import get_manager
Modified: branches/build/python_port/python/boost/build/build/build_request.py
==============================================================================
--- branches/build/python_port/python/boost/build/build/build_request.py (original)
+++ branches/build/python_port/python/boost/build/build/build_request.py 2007-10-26 10:57:56 EDT (Fri, 26 Oct 2007)
@@ -1,5 +1,6 @@
# Status: being ported by Vladimir Prus
# TODO: need to re-compare with mainline of .jam
+# Base revision: 40480
#
# (C) Copyright David Abrahams 2002. Permission to copy, use, modify, sell and
# distribute this software is granted provided this copyright notice appears in
Modified: branches/build/python_port/python/boost/build/build/feature.py
==============================================================================
--- branches/build/python_port/python/boost/build/build/feature.py (original)
+++ branches/build/python_port/python/boost/build/build/feature.py 2007-10-26 10:57:56 EDT (Fri, 26 Oct 2007)
@@ -1,5 +1,6 @@
# Status: mostly ported.
# TODO: carry over tests.
+# Base revision: 40480
#
# Copyright 2001, 2002, 2003 Dave Abrahams
# Copyright 2002, 2006 Rene Rivera
Modified: branches/build/python_port/python/boost/build/build/project.py
==============================================================================
--- branches/build/python_port/python/boost/build/build/project.py (original)
+++ branches/build/python_port/python/boost/build/build/project.py 2007-10-26 10:57:56 EDT (Fri, 26 Oct 2007)
@@ -1,4 +1,5 @@
# Status: being ported by Vladimir Prus
+# Base revision: 40480
# Copyright 2002, 2003 Dave Abrahams
# Copyright 2002, 2005, 2006 Rene Rivera
Modified: branches/build/python_port/python/boost/build/build/property_set.py
==============================================================================
--- branches/build/python_port/python/boost/build/build/property_set.py (original)
+++ branches/build/python_port/python/boost/build/build/property_set.py 2007-10-26 10:57:56 EDT (Fri, 26 Oct 2007)
@@ -1,5 +1,6 @@
# Status: ported.
# One FIXME remains that depends on property.py being finished.
+# Base revision: 40480
# Copyright (C) Vladimir Prus 2002. Permission to copy, use, modify, sell and
# distribute this software is granted provided this copyright notice appears in
Modified: branches/build/python_port/python/boost/build/build/targets.py
==============================================================================
--- branches/build/python_port/python/boost/build/build/targets.py (original)
+++ branches/build/python_port/python/boost/build/build/targets.py 2007-10-26 10:57:56 EDT (Fri, 26 Oct 2007)
@@ -1,6 +1,7 @@
# Status: being ported by Vladimir Prus
# Still to do: call toolset.requirements when those are ported.
# Remember the location of target.
+# Base revision: 40480
# Copyright Vladimir Prus 2002-2007.
# Copyright Rene Rivera 2006.
@@ -226,7 +227,10 @@
class GenerateResult:
- def __init__ (self, ur = None, targets = []):
+ def __init__ (self, ur=None, targets=None):
+ if not targets:
+ targets = []
+
self.__usage_requirements = ur
self.__targets = targets
@@ -244,7 +248,6 @@
self.__usage_requirements = self.__usage_requirements.add (other.usage_requirements ())
self.__targets.extend (other.targets ())
- self.__targets = unique (self.__targets)
class AbstractTarget:
""" Base class for all abstract targets.
@@ -395,7 +398,6 @@
for t in self.targets_to_build ():
g = t.generate (ps)
result.extend (g)
-
self.manager_.targets().decrease_indent ()
return result
Modified: branches/build/python_port/python/boost/build/build/virtual_target.py
==============================================================================
--- branches/build/python_port/python/boost/build/build/virtual_target.py (original)
+++ branches/build/python_port/python/boost/build/build/virtual_target.py 2007-10-26 10:57:56 EDT (Fri, 26 Oct 2007)
@@ -1,5 +1,6 @@
# Status: being ported by Vladimir Prus
# Essentially ported, minor fixme remain.
+# Base revision: 40480
#
# Copyright (C) Vladimir Prus 2002. Permission to copy, use, modify, sell and
# distribute this software is granted provided this copyright notice appears in
@@ -92,6 +93,8 @@
# All targets ever registed
self.all_targets_ = []
+
+ self.next_id_ = 0
def register (self, target):
""" Registers a new virtual target. Checks if there's already registered target, with the same
@@ -129,6 +132,9 @@
# TODO: Don't append if we found pre-existing target?
self.recent_targets_.append(result)
self.all_targets_.append(result)
+
+ result.set_id(self.next_id_)
+ self.next_id_ = self.next_id_+1
return result
@@ -152,6 +158,10 @@
result = FileTarget (file, False, file_type, project,
None, file_location)
self.files_ [path] = result
+
+ result.set_id(self.next_id_)
+ self.next_id_ = self.next_id_+1
+
return result
def recent_targets(self):
@@ -255,6 +265,14 @@
"""
return self.project_
+ def set_id(self, id):
+ self.id_ = id
+
+ def __hash__(self):
+ return self.id_
+
+ def __cmp__(self, other):
+ return self.id_ - other.id_
def depends (self, d):
""" Adds additional instances of 'VirtualTarget' that this
Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk