[Xorp-cvs] SF.net SVN: xorp:[11674] trunk/xorp/SConstruct

bms_fbsd at users.sourceforge.net bms_fbsd at users.sourceforge.net
Fri Dec 4 04:37:11 PST 2009


Revision: 11674
          http://xorp.svn.sourceforge.net/xorp/?rev=11674&view=rev
Author:   bms_fbsd
Date:     2009-12-04 12:37:11 +0000 (Fri, 04 Dec 2009)

Log Message:
-----------
Check in a temporary workaround for pre-existing directories
when building our RPATH symlink farm.

The root cause of the error isn't certain as I have not been able
to reproduce it with SCons 1.2.0_20090223 on FreeBSD 7.2.

Requested by:	Ben Greear

Modified Paths:
--------------
    trunk/xorp/SConstruct

Modified: trunk/xorp/SConstruct
===================================================================
--- trunk/xorp/SConstruct	2009-12-04 00:51:04 UTC (rev 11673)
+++ trunk/xorp/SConstruct	2009-12-04 12:37:11 UTC (rev 11674)
@@ -208,6 +208,14 @@
 SConsEnvironment.Chmod = SCons.Action.ActionFactory(os.chmod,
     lambda dest, mode: 'Chmod("%s", 0%o)' % (dest, mode))
 
+# XXX Temporary workaround. Ben Greear reports a problem with
+# Mkdir() on Linux when the directory already exists.
+def XMkdir(path):
+    if not os.access(path, os.F_OK):
+        os.makedirs(path)
+SConsEnvironment.XMkdir = SCons.Action.ActionFactory(XMkdir,
+    lambda path: 'XMkdir("%s")' % (path))
+
 def Symlink(src, link_name):
     try:
         os.unlink(link_name)
@@ -605,7 +613,7 @@
 	# $BUILDIR/lib will contain .so symlinks
 	#
 	xorp_alias_libdir = os.path.join(builddir, 'lib')
-	Execute(Mkdir(xorp_alias_libdir))
+	Execute(XMkdir(xorp_alias_libdir))
 	env['xorp_alias_libdir'] = xorp_alias_libdir
 	#
 	# Build a further alias for the benefit of entities which
@@ -614,7 +622,7 @@
 	# $BUILDIR/lib/xorp/lib will point to $BUILDIR/lib
 	#
 	xorp_alias_subdir = os.path.join(xorp_alias_libdir, 'xorp')
-	Execute(Mkdir(xorp_alias_subdir))
+	Execute(XMkdir(xorp_alias_subdir))
 	#
 	xorp_module_alias_libdir = os.path.join(xorp_alias_subdir, 'lib')
 	Execute(env.Symlink(xorp_alias_libdir, xorp_module_alias_libdir))


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.



More information about the Xorp-cvs mailing list