From d7ced6020c37b7214174e501baeb3268d761301d Mon Sep 17 00:00:00 2001 From: jacob1 Date: Tue, 3 Apr 2018 21:49:46 -0400 Subject: [PATCH] delete site_scons folder that hasn't been used in like 6 years --- site_scons/site_tools/gch/__init__.py | 126 ---------- site_scons/site_tools/gch/__init__.pyc | Bin 3815 -> 0 bytes site_scons/site_tools/mfprogram/__init__.py | 241 ------------------- site_scons/site_tools/mfprogram/__init__.pyc | Bin 7378 -> 0 bytes site_scons/site_tools/mfprogram/relpath.py | 73 ------ 5 files changed, 440 deletions(-) delete mode 100644 site_scons/site_tools/gch/__init__.py delete mode 100644 site_scons/site_tools/gch/__init__.pyc delete mode 100644 site_scons/site_tools/mfprogram/__init__.py delete mode 100644 site_scons/site_tools/mfprogram/__init__.pyc delete mode 100644 site_scons/site_tools/mfprogram/relpath.py diff --git a/site_scons/site_tools/gch/__init__.py b/site_scons/site_tools/gch/__init__.py deleted file mode 100644 index 31d2e5ecd..000000000 --- a/site_scons/site_tools/gch/__init__.py +++ /dev/null @@ -1,126 +0,0 @@ -# -# SCons builder for gcc's precompiled headers -# Copyright (C) 2006 Tim Blechmann -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; see the file COPYING. If not, write to -# the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -# Boston, MA 02111-1307, USA. - -# 1.1 -# -# 09-11-2011 Pedro Larroy: Fixed dependency emitter not working with variant dir -# -# - - -import SCons.Action -import SCons.Builder -import SCons.Scanner.C -import SCons.Util -import SCons.Script -import os - -SCons.Script.EnsureSConsVersion(0,96,92) - -GchAction = SCons.Action.Action('$GCHCOM', '$GCHCOMSTR') -GchShAction = SCons.Action.Action('$GCHSHCOM', '$GCHSHCOMSTR') - -def gen_suffix(env, sources): - return sources[0].get_suffix() + env['GCHSUFFIX'] - -GchShBuilder = SCons.Builder.Builder(action = GchShAction, - source_scanner = SCons.Scanner.C.CScanner(), - suffix = gen_suffix) - -GchBuilder = SCons.Builder.Builder(action = GchAction, - source_scanner = SCons.Scanner.C.CScanner(), - suffix = gen_suffix) - -def header_path(node): - h_path = node.abspath - idx = h_path.rfind('.gch') - if idx != -1: - h_path = h_path[0:idx] - if not os.path.isfile(h_path): - raise SCons.Errors.StopError("can't find header file: {0}".format(h_path)) - return h_path - - else: - raise SCons.Errors.StopError("{0} file doesn't have .gch extension".format(h_path)) - - -def static_pch_emitter(target,source,env): - SCons.Defaults.StaticObjectEmitter( target, source, env ) - scanner = SCons.Scanner.C.CScanner() - path = scanner.path(env) - - deps = scanner(source[0], env, path) - if env.get('Gch'): - h_path = header_path(env['Gch']) - if h_path in [x.abspath for x in deps]: - #print 'Found dep. on pch: ', target[0], ' -> ', env['Gch'] - env.Depends(target, env['Gch']) - - return (target, source) - -def shared_pch_emitter(target,source,env): - SCons.Defaults.SharedObjectEmitter( target, source, env ) - - scanner = SCons.Scanner.C.CScanner() - path = scanner.path(env) - deps = scanner(source[0], env, path) - - if env.get('GchSh'): - h_path = header_path(env['GchSh']) - if h_path in [x.abspath for x in deps]: - #print 'Found dep. on pch (shared): ', target[0], ' -> ', env['Gch'] - env.Depends(target, env['GchSh']) - - return (target, source) - -def generate(env): - """ - Add builders and construction variables for the Gch builder. - """ - env.Append(BUILDERS = { - 'gch': env.Builder( - action = GchAction, - target_factory = env.fs.File, - ), - 'gchsh': env.Builder( - action = GchShAction, - target_factory = env.fs.File, - ), - }) - - try: - bld = env['BUILDERS']['Gch'] - bldsh = env['BUILDERS']['GchSh'] - except KeyError: - bld = GchBuilder - bldsh = GchShBuilder - env['BUILDERS']['Gch'] = bld - env['BUILDERS']['GchSh'] = bldsh - - env['GCHCOM'] = '$CXX -Wall -o $TARGET -x c++-header -c $CXXFLAGS $CCFLAGS $_CCCOMCOM $SOURCE' - env['GCHSHCOM'] = '$CXX -o $TARGET -x c++-header -c $SHCXXFLAGS $CCFLAGS $_CCCOMCOM $SOURCE' - env['GCHSUFFIX'] = '.gch' - - for suffix in SCons.Util.Split('.c .C .cc .cxx .cpp .c++'): - env['BUILDERS']['StaticObject'].add_emitter( suffix, static_pch_emitter ) - env['BUILDERS']['SharedObject'].add_emitter( suffix, shared_pch_emitter ) - - -def exists(env): - return env.Detect('g++') diff --git a/site_scons/site_tools/gch/__init__.pyc b/site_scons/site_tools/gch/__init__.pyc deleted file mode 100644 index 827f6e7650a77f865ca013ed0c2f556e6720cbbe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3815 zcmds4-EtdM67Ctva^zUH6B2`2U?;4%qFt3G3W`)gxd0>ENp?d*%_N&t3Ra9~#?~mZ zB<38uoWj1r`!MY7zRuq4JMaMTeSOBZ!UeS#_y$SS)2C0L-~ReXl^+{(|7-o_%S6i0 zEZ(2tF>iSyDSn;|MV@O}_@GEK(*!F@%sp_O{&+v@49wxM zu$?c9@m>+{@8_evPPf(S*omD?IwrSS&m`lKajYGWho-Za^gF#?KFV#c*PgsAmmihO z-{ykcf_SzD8Yea%kL&`)x(`ekk49Ocy>811kHH=D=~5FA;PG(}Cmt_lp!ag>$%!w= z0G2N=DpF*6UlmGjLC^X!sK}s7DO61?c18v@;xVlfl1`4U?>!mmWk(kpP<>Sc9uYNp zgomaI+QzvR0}2822Z(Tx+cwzEM`_T{;xsG353`Sh@7_BxtLVpDB|$pQ3|0H_VHR+r zAUm?z$lzw0G^m;>-Z7Kd_OT<8f|KGrB4cB@y7q80x#1eB6m?-4y~eGg7#Bvd5!vxX zo7%BEF7{)q_|a)b<22KbeotrQh3DzfWkKUArgt}^%e{}LSppHS?k#%rUcfR*j_cC|rPbp=Wc*{V*>4!I=8U6{xJOEkk zK6@6dJ&lLMU~L?%KHdoLZaogxj)J7sS}SwoS`tug`@zQD2wb;hdfhIHC;Wod=+Tp~ zyQKlEEUE6D&;4t&qQd%r<|V*bI%z#d#4!_xc#ENjwUeOT4cZA_$XFX3svV)2-LhKpY%qx;w>QjH^A4(`Ewq={)+d8moP~1;q_^d zU`BuB%dmkDeYp>OEl`*s6W@eFIwXFxgtP^sr>?k+ZoPaA!;3k3P@WNuP z?TqZ~#uI1>*FLi^QRF0Lx^H*2x^^{DW40DIF4@tDdIEPQTPT40Q7q_U~Z~KpeU|HWErw7CA6XrSn h>oSjevHbeW{!Q 1: - #Looks like the user specified many sources and SCons created 1 target - #targets are implicit, but the builder doesn't know how to handle - #suffixes for multiple target files, so we'll do it here - objdir = env.get('OBJDIR', '') - #target = [os.path.join( - # objdir, - # os.path.splitext( - # os.path.basename(str(i)))[0] + '.o' ) for i in source] - elif len(source) == 1 and 'OBJDIR' in env: - target = os.path.join( - env['OBJDIR'], - os.path.splitext( - os.path.basename(str(source[0])))[0] + '.o' ) - else: - #targets are explicit, we need to check their validity - tgt_names = [os.path.splitext( - os.path.basename(str(i)))[0] for i in target] - src_names = [os.path.splitext( - os.path.basename(str(i)))[0] for i in source] - tgt_dirs = [os.path.dirname(str(i)) for i in target] - if sorted(tgt_names) != sorted(src_names): - raise ValueError, "target files do not have obvious one-one relationship to source files" - if len(set(src_names)) != len(src_names): - raise ValueError, "source files may not include identically named files in different directories" - if len(set(tgt_dirs)) != 1: - raise ValueError, "Target files must all be in same directory" - - for t in target: - env.Precious(t) - return target, source - -def MFProgramGenerator(source, target, env, for_signature): - #Rebuild everything if - # a) the number of dependencies has changed - # b) any target does not exist - # c) the build command has changed - #Else rebuild only those c files that have changed_since_last_build - #The signature of this builder should always be the same, because the - #multifile compile is always functionally equivalent to rebuilding - #everything - - if for_signature: - pared_sources = source - else: - #First a sanity check - assert len(set([os.path.splitext(str(i))[1] for i in source])) == 1, \ - "All source files must have the same extension." - pared_sources = [] - src_names = [os.path.splitext(os.path.basename(str(i)))[0] - for i in source] - tgt_names = [os.path.splitext(os.path.basename(str(t)))[0] - for t in target] - ni = target[0].get_binfo() - oi = target[0].get_stored_info().binfo - if ni.bactsig != oi.bactsig: - #Command line has changed - pared_sources = source - else: - for i in range(len(tgt_names)): - t = target[i] - tgt_name = tgt_names[i] - if not t.exists(): - #a target does not exist - pared_sources = source - break - bi = t.get_stored_info().binfo - then = bi.bsourcesigs + bi.bdependsigs + bi.bimplicitsigs - children = t.children() - if len(children) != len(then): - #the number of dependencies has changed - pared_sources = source - break - for child, prev_ni in zip(children, then): - if child.changed_since_last_build(t, prev_ni) and \ - not t in pared_sources: - #If child is a source file, not an explicit or implicit - #dependency, then it is not truly a dependency of any target - #except that with the same basename. This is a limitation - #of SCons.node, which assumes that all sources of a Node - #are dependencies of all targets. So we check for that case - #here and only rebuild as necessary. - src_name = os.path.splitext(os.path.basename(str(child)))[0] - if src_name not in tgt_names or src_name == tgt_name: - s = source[src_names.index(tgt_name)] - pared_sources.append(s) - assert len(pared_sources) > 0 - destdir = str(target[0].dir) - #finding sconscript_dir is a bit of a hack. It assumes that the source - #files are always going to be in the same directory as the SConscript file - #which is not necessarily true. BUG BY Alan Somers - sconscript_dir = os.path.dirname(str(pared_sources[0])) - prefixed_sources = [relpath(str(i), destdir) for i in pared_sources] - prefixed_sources_str = ' '.join([str(i) for i in prefixed_sources]) - lang_ext = os.path.splitext(prefixed_sources[0])[1] - tgt_names2 = [os.path.splitext(os.path.basename(str(t)))[0] - for t in target] - - _CPPPATH = [] - if 'CPPPATH' in env: - for i in env['CPPPATH']: - #if i[0] == '#': - ##_CPPPATH.append(relpath(i[1:], destdir)) - _CPPPATH.append(i) - #else: - # _CPPPATH.append(relpath(os.path.join(sconscript_dir, i), - # destdir)) - - defines = "" - for t in env['CPPDEFINES']: - defines += ("-D"+str(t)+" ") - - _CPPINCFLAGS = ['-I' + i for i in _CPPPATH] - _CCOMCOM = '$CPPFLAGS $_CPPDEFFLAGS $defines %s' % ' '.join(_CPPINCFLAGS) - - libstr = "" - for t in env['LIBS']: - libstr += ("-l"+t+" ") - - if lang_ext == '.c' : - _CCCOM = 'cd %s && $CC $CFLAGS $CCFLAGS %s %s $LINKFLAGS %s -o %s' % \ - (destdir, _CCOMCOM, prefixed_sources_str, libstr, tgt_names2[0]) - #XXX BUG BY Alan Somers. $CCCOMSTR gets substituted using the full list of target files, - #not prefixed_sources - cmd = SCons.Script.Action(env.subst(_CCCOM), "$CCCOMSTR") - elif lang_ext in ['.cc', '.cpp']: - _CXXCOM = 'cd %s && $CXX $CXXFLAGS $CCFLAGS %s %s $LINKFLAGS %s -o %s' % \ - (destdir, _CCOMCOM, prefixed_sources_str, libstr, tgt_names2[0]) - cmd = SCons.Script.Action(env.subst(_CXXCOM), "$CXXCOMSTR") - else: - assert False, "Unknown source file extension %s" % lang_ext - return cmd - -def generate(env): - """Adds the MFObject builder to your environment""" - MFProgramBld = env.Builder(generator = MFProgramGenerator, - emitter = MFProgramEmitter, - suffix = '.o', - source_scanner=SCons.Tool.SourceFileScanner) - MFProgramBld.get_single_executor = new.instancemethod(MF_get_single_executor, - MFProgramBld, MFProgramBld.__class__) - - env.Append(BUILDERS = {'MFProgram': MFProgramBld}) diff --git a/site_scons/site_tools/mfprogram/__init__.pyc b/site_scons/site_tools/mfprogram/__init__.pyc deleted file mode 100644 index b31c41db0eab628f4aadb5c755a7f78778493dbd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7378 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 diff --git a/site_scons/site_tools/mfprogram/relpath.py b/site_scons/site_tools/mfprogram/relpath.py deleted file mode 100644 index dafe1b15b..000000000 --- a/site_scons/site_tools/mfprogram/relpath.py +++ /dev/null @@ -1,73 +0,0 @@ -#PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2 -#-------------------------------------------- -# -#1. This LICENSE AGREEMENT is between the Python Software Foundation -#("PSF"), and the Individual or Organization ("Licensee") accessing and -#otherwise using this software ("Python") in source or binary form and -#its associated documentation. -# -#2. Subject to the terms and conditions of this License Agreement, PSF hereby -#grants Licensee a nonexclusive, royalty-free, world-wide license to reproduce, -#analyze, test, perform and/or display publicly, prepare derivative works, -#distribute, and otherwise use Python alone or in any derivative version, -#provided, however, that PSF's License Agreement and PSF's notice of copyright, -#i.e., "Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 -#Python Software Foundation; All Rights Reserved" are retained in Python alone or -#in any derivative version prepared by Licensee. -# -#3. In the event Licensee prepares a derivative work that is based on -#or incorporates Python or any part thereof, and wants to make -#the derivative work available to others as provided herein, then -#Licensee hereby agrees to include in any such work a brief summary of -#the changes made to Python. -# -#4. PSF is making Python available to Licensee on an "AS IS" -#basis. PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR -#IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND -#DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS -#FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON WILL NOT -#INFRINGE ANY THIRD PARTY RIGHTS. -# -#5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON -#FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS -#A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON, -#OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. -# -#6. This License Agreement will automatically terminate upon a material -#breach of its terms and conditions. -# -#7. Nothing in this License Agreement shall be deemed to create any -#relationship of agency, partnership, or joint venture between PSF and -#Licensee. This License Agreement does not grant permission to use PSF -#trademarks or trade name in a trademark sense to endorse or promote -#products or services of Licensee, or any third party. -# -#8. By copying, installing or otherwise using Python, Licensee -#agrees to be bound by the terms and conditions of this License -#Agreement. - - - -# Changelog: -# 3-12-2010 Alan Somers Copied verbatim from posixpath.py in Python 2.6.4 - - - -from os.path import * - -def relpath(path, start=curdir): - """Return a relative version of a path""" - - if not path: - raise ValueError("no path specified") - - start_list = abspath(start).split(sep) - path_list = abspath(path).split(sep) - - # Work out how much of the filepath is shared by start and path. - i = len(commonprefix([start_list, path_list])) - - rel_list = [pardir] * (len(start_list)-i) + path_list[i:] - if not rel_list: - return curdir - return join(*rel_list)