/usr/share/alljoyn/build_core/tools/scons/Csharp.py is in liballjoyn-common-dev-1604 16.04a-3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 | # Copyright AllSeen Alliance. All rights reserved.
#
# Permission to use, copy, modify, and/or distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
# copyright notice and this permission notice appear in all copies.
#
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
#
# A simple C# builder with no extra bells or whistles
import os.path
import SCons.Builder
import SCons.Node.FS
import SCons.Util
cs_action = '$CSC "/target:exe" $_CSC_FLAGS "/out:${TARGET.abspath}" ${SOURCES}'
#cs_lib_action = "csc.exe /target:library /out:${TARGET} ${SOURCE.dir}\*.cs $_CSC_FLAGS"
cs_lib_action = '$CSC "/target:library" $_CSC_LIB_FLAGS $_CSC_LIB_PATHS $_CSC_REFERENCES "/out:${TARGET.abspath}" ${SOURCES}'
cs_suffix = '.exe'
cs_lib_suffix = '.dll'
# This SCons Builder does not properly calculate the dependencies for the .NET
# Framework Assemblies specified when using the CSC_REFERENCES do make sure a
# Framework Assembly exist a person should use env.Depends for each Assembly listed
# in the CSC_REFERENCES
def generate(env):
cs_builder = SCons.Builder.Builder(action = '$CSC_ACTION', src_suffix = '.cs', suffix = cs_suffix)
cs_lib_builder = SCons.Builder.Builder(action = '$CSC_LIB_ACTION', src_suffix = '.cs', suffix = cs_lib_suffix)
env['BUILDERS']['CSharp'] = cs_builder
env['BUILDERS']['CSharpLib'] = cs_lib_builder
#define the C# compiler
env['CSC'] = 'csc.exe'
# A list of compiler flags like debug, warn, noconfig, or nologo
env['CSC_FLAGS'] = ''
env['_CSC_FLAGS'] = "${_stripixes('\"/', CSC_FLAGS, '\"', '\"/', '\"', __env__)}"
# A list of compiler flags when building a library file
env['CSC_LIB_FLAGS'] = ''
env['_CSC_LIB_FLAGS'] = "${_stripixes('\"/', CSC_LIB_FLAGS, '\"', '\"/', '\"', __env__)}"
# A list of .NET Framework Assemblies i.e. dlls compiled by a .net language
env['CSC_REFERENCES'] = ''
env['_CSC_REFERENCES'] = "${_stripixes('\"/reference:', CSC_REFERENCES, '\"', '', '', __env__)}"
# A list of paths to search for .NET Framework Assemblies
env['CSC_LIB_PATHS'] = ''
env['_CSC_LIB_PATHS'] = "${_stripixes('\"/lib:', CSC_LIB_PATHS, '\"', '', '', __env__)}"
# Action to build an executable
env['CSC_ACTION'] = cs_action
# Action to build a library
env['CSC_LIB_ACTION'] = cs_lib_action
def exists(env):
return env['CSC']
|