diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 74d8e7a..b52e49f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -41,5 +41,8 @@ jobs: python -m pip install . - name: test run: | + python tests/1.py python tests/2.py + python tests/3.py + diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml deleted file mode 100644 index 238facd..0000000 --- a/.gitlab-ci.yml +++ /dev/null @@ -1,24 +0,0 @@ -variables: - PACKAGE_NAME: mbuild - -build-conan: - image: amr-registry.caas.intel.com/syssim/teamcity-agent:2020.1.5-21ww05 - script: - - virtualenv --python="$(which python3)" ~/.syssim-virtualenv - - source ~/.syssim-virtualenv/bin/activate - - pip install conan pylint astroid yapf - - conan config install https://gitlab.devtools.intel.com/syssim/conan-config.git - - |- - if [[ $CI_COMMIT_REF_NAME == main && $CI_COMMIT_TAG == v* ]]; then - PACKAGE_REF=$PACKAGE_NAME/${CI_COMMIT_TAG#v*}@xed/stable - else - PACKAGE_REF=$PACKAGE_NAME/$CI_COMMIT_SHA@xed/ci - fi - conan create . $PACKAGE_REF --build=missing --profile=gcc9-native - if [[ $CI_COMMIT_REF_NAME == main && $CI_COMMIT_TAG == v* ]]; then - conan user -r syssim-public "$CONAN_USERNAME" -p "$CONAN_PASSWORD" - conan upload $PACKAGE_REF -r syssim-public --force - LATEST_REF=$PACKAGE_NAME/latest@xed/ci - conan alias $LATEST_REF $PACKAGE_REF - conan upload $LATEST_REF -r syssim-public --force - fi diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 3800982..0000000 --- a/.travis.yml +++ /dev/null @@ -1,14 +0,0 @@ -language: python - -python: - - 2.7 - - 3.5 - - 3.6 - -install: - - pip install . - -script: - - python tests/1.py - - python tests/2.py - - python tests/3.py diff --git a/appveyor.yml b/appveyor.yml deleted file mode 100644 index 6c8a9da..0000000 --- a/appveyor.yml +++ /dev/null @@ -1,5 +0,0 @@ -build: off - -test_script: - - pip install . - - python tests/2.py diff --git a/conanfile.py b/conanfile.py index 241c151..079cfb9 100644 --- a/conanfile.py +++ b/conanfile.py @@ -1,6 +1,6 @@ #BEGIN_LEGAL # -#Copyright (c) 2021 Intel Corporation +#Copyright (c) 2022 Intel Corporation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -24,7 +24,7 @@ class MBuildConan(ConanFile): name = "mbuild" description = "A simple portable dependence-based build-system written in Python." - url = "https://gitlab.devtools.intel.com/xed-group/xed" + url = "https://github.com/intelxed/mbuild.git" homepage = "https://intelxed.github.io/" license = "Apache License 2.0" topics = ("intel", "mbuild", "build") diff --git a/mbuild/__init__.py b/mbuild/__init__.py index 728d47c..69e991b 100755 --- a/mbuild/__init__.py +++ b/mbuild/__init__.py @@ -1,6 +1,6 @@ #BEGIN_LEGAL # -#Copyright (c) 2016 Intel Corporation +#Copyright (c) 2022 Intel Corporation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -16,7 +16,6 @@ # #END_LEGAL # __init__.py -# Mark Charney """This is mbuild: a simple portable dependence-based build-system written in python. diff --git a/mbuild/base.py b/mbuild/base.py index 0f90a8d..74387ea 100755 --- a/mbuild/base.py +++ b/mbuild/base.py @@ -1,9 +1,8 @@ #!/usr/bin/env python # -*- python -*- -# Mark Charney #BEGIN_LEGAL # -#Copyright (c) 2019 Intel Corporation +#Copyright (c) 2022 Intel Corporation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/mbuild/build_env.py b/mbuild/build_env.py index 728de21..899b3d7 100755 --- a/mbuild/build_env.py +++ b/mbuild/build_env.py @@ -2,7 +2,7 @@ # -*- python -*- #BEGIN_LEGAL # -#Copyright (c) 2019 Intel Corporation +#Copyright (c) 2022 Intel Corporation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -258,7 +258,7 @@ def find_ms_toolchain(env): if env['toolchain'] == '': if incoming_setup: # relying on user-setup env (say MSVS cmd.exe or vcvars-equiv bat file) - if os.environ['VisualStudioVersion'] in ['15.0','16.0']: + if os.environ['VisualStudioVersion'] in ['15.0','16.0','17.0']: env['msvs_version'] = str(int(float(os.environ['VisualStudioVersion']))) msvs.set_msvc_compilers(env, os.environ['VCToolsInstallDir']) if env['compiler']=='ms': diff --git a/mbuild/dag.py b/mbuild/dag.py index a334e2e..19d17be 100755 --- a/mbuild/dag.py +++ b/mbuild/dag.py @@ -1,9 +1,8 @@ #!/usr/bin/env python # -*- python -*- -# Mark Charney #BEGIN_LEGAL # -#Copyright (c) 2016 Intel Corporation +#Copyright (c) 2022 Intel Corporation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/mbuild/dfs.py b/mbuild/dfs.py index 4e43060..bf419f8 100755 --- a/mbuild/dfs.py +++ b/mbuild/dfs.py @@ -1,9 +1,8 @@ #!/usr/bin/env python # FILE: dfs.py -# AUTHOR: Mark Charney #BEGIN_LEGAL # -#Copyright (c) 2016 Intel Corporation +#Copyright (c) 2022 Intel Corporation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/mbuild/env.py b/mbuild/env.py index a51e8dc..9dc2bf5 100755 --- a/mbuild/env.py +++ b/mbuild/env.py @@ -1,9 +1,8 @@ #!/usr/bin/env python # -*- python -*- -# Mark Charney #BEGIN_LEGAL # -#Copyright (c) 2019 Intel Corporation +#Copyright (c) 2022 Intel Corporation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -708,7 +707,7 @@ def add_default_knobs(self): action='store', help="MSVS version 6=VC98, 7=VS .Net 2003, 8=VS 2005, " + "9=VS2008, 10=VS 2010/DEV10, 11=VS2012/DEV11, 12=VS2013, " + - "14=VS2015, 15=VS2017, 16=VS2019. " + + "14=VS2015, 15=VS2017, 16=VS2019, 17=VS2022. " + "This sets certain flags and idioms for quirks in some compilers.") self.parser.add_option( '--setup-msvc', diff --git a/mbuild/msvs.py b/mbuild/msvs.py index a047cf3..ddf35c0 100644 --- a/mbuild/msvs.py +++ b/mbuild/msvs.py @@ -1,7 +1,7 @@ # -*- python -*- #BEGIN_LEGAL # -#Copyright (c) 2019 Intel Corporation +#Copyright (c) 2022 Intel Corporation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -690,6 +690,186 @@ def set_msvc_compilers(env,msvc_tools_root): env['msvc_compilers']['x86-64']['ia32'] = x64_to_x86 env['msvc_compilers']['x86-64']['x86-64'] = x64_to_x64 +def _set_msvs_dev17(env, x64_host, x64_target, regv=None): # msvs 2022 + versions = ['Enterprise', 'Professional', 'Community'] + + progfi = 'C:/Program Files (x86)' + if regv: + prefix = regv + else: + prefix = 'C:/Program Files/Microsoft Visual Studio/2022' + + if x64_target: + tgt = 'x64' + else: + tgt = 'x86' + + found = False + for v in versions: + p = _ijoin(prefix,v) + if os.path.exists(p): + found = True + break + if not found: + die('Could not find MSVS 2022 directory') + vprefix = p + winkit10 = progfi + '/Windows Kits/10' + winkit10version, winkit10complete = _get_winkit10_version(env,winkit10) + #msgb('WINKIT10 VERSION', winkit10version) + if winkit10complete == False: + die('need a complete winkit10 for MSVS 2022 (dev 17)') + env['rc_winkit'] = winkit10 + env['rc_winkit_number'] = winkit10version + + msvc_tools_root, msvc_ver = msvc_dir_from_vc_dir(vprefix + '/VC') + + netfx_sdk = progfi + '/Windows Kits/NETFXSDK/4.8/' + + path = [] + lib = [] + libpath = [] + inc = [] + + add_env(inc, prefix + '/ATLMFC/include') + add_env(inc, msvc_tools_root + '/include') + add_env(inc, netfx_sdk + 'include/um') + wki = '{}/include/{}'.format(winkit10, winkit10version) + add_env(inc, wki + '/ucrt') + add_env(inc, wki + '/shared') + add_env(inc, wki + '/um') + add_env(inc, wki + '/winrt') + add_env(inc, wki + '/cppwinrt') + + # LIB + wkl = '{}/lib/{}'.format(winkit10, winkit10version) + lib1 = '{}/ATLMFC/lib/{}'.format(msvc_tools_root,tgt) + lib2 = '{}/lib/{}'.format(msvc_tools_root,tgt) + add_env(lib, lib1) + add_env(lib, lib2) + add_env(lib, '{}lib/um/{}'.format(netfx_sdk,tgt)) + add_env(lib, '{}/ucrt/{}'.format(wkl,tgt)) + add_env(lib, '{}/um/{}'.format(wkl,tgt)) + + # LIBPATH + add_env(libpath, lib1) + add_env(libpath, lib2) + add_env(libpath, winkit10 + '/UnionMetadata') + add_env(libpath, winkit10 + '/References') + s = '' + if tgt == 'x64': + s = '64' + fwr = 'C:/windows/Microsoft.NET/Framework{}'.format(s) + fwr64 = 'C:/windows/Microsoft.NET/Framework64' + fwv = 'v4.0.30319' + fwp = '{}/{}'.format(fwr,fwv) + add_env(libpath, fwp) + + # PATH + + # locations for cross compilers changed in this version + set_msvc_compilers(env, msvc_tools_root) + x86_to_x64 = env['msvc_compilers']['ia32']['ia32'] + x86_to_x86 = env['msvc_compilers']['ia32']['x86-64'] + x64_to_x86 = env['msvc_compilers']['x86-64']['ia32'] + x64_to_x64 = env['msvc_compilers']['x86-64']['x86-64'] + + cross = False + if x64_host: + if x64_target: + cl_tgt_bin_dir = x64_to_x64 + else: + cross = True + cl_tgt_bin_dir = x64_to_x86 + cl_host_bin_dir = x64_to_x64 + else: + if x64_target: + cross = True + cl_tgt_bin_dir = x86_to_x64 + cl_host_bin_dir = x64_to_x86 + else: + cl_tgt_bin_dir = x86_to_x86 + + add_env(path, cl_tgt_bin_dir) + # CL TARGET compiler gets DLLs from the HOST bin dir + if cross: + add_env(path, cl_host_bin_dir) + + add_env(path, '{}/Common7/IDE/VC/VCPackages'.format(msvc_tools_root)) + add_env(path, '{}/Common7/IDE/CommonExtensions/Microsoft/TestWindow'.format(msvc_tools_root)) + add_env(path, '{}/Common7/IDE/CommonExtensions/Microsoft/TeamFoundation/Team Explorer'.format(msvc_tools_root)) + add_env(path, '{}/MsBuild/Current/Bin/Roslyn'.format(msvc_tools_root)) + add_env(path, '{}/Team Tools/Performance Tools'.format(msvc_tools_root)) + + add_env(path, progfi + '/Microsoft Visual Studio/Shared/Common/VSPerfCollectionTools/vs2022') + netfx_tools = progfi + '/Microsoft SDKs/Windows/v10.0A/bin/NETFX 4.8 Tools' + add_env(path, netfx_tools) + + add_env(path, '{}/bin/{}'.format(winkit10,tgt)) + add_env(path, '{}/bin/{}/{}'.format(winkit10,winkit10version,tgt)) + add_env(path, '{}/MSBuild/Current/Bin'.format(vprefix)) + add_env(path, fwp) + add_env(path, '{}/Common7/IDE'.format(vprefix)) + add_env(path, '{}/Common7/Tools'.format(vprefix)) + + set_env_list('INCLUDE',inc) + set_env_list('LIB',lib) + set_env_list('LIBPATH',libpath) + add_to_front_list('PATH',path) + if 0: + msgb("INCLUDE", "\n\t".join(inc)) + msgb("LIB", "\n\t".join(lib)) + msgb("LIBPATH", "\n\t".join(libpath)) + msgb("PATH", "\n\t".join(path)) + + # Misc env variables. Not sure which are needed, if any + set_env('NETFXSDKDir',netfx_sdk) + set_env('DevEnvDir', vprefix + '/Common7/IDE/') + set_env('ExtensionSdkDir', progfi + '/Microsoft SDKs/Windows Kits/10/ExtensionSDKs') + set_env('Framework40Version','v4.0') + set_env('FrameworkVersion',fwv) + if x64_host: + set_env('VSCMD_ARG_HOST_ARCH','x64') + else: + set_env('VSCMD_ARG_HOST_ARCH','x86') + + set_env('Platform',tgt) + set_env('VSCMD_ARG_TGT_ARCH',tgt) + + if x64_target: + set_env('FrameworkDir', fwr) + set_env('FrameworkDIR64',fwr) + set_env('FrameworkVersion64',fwv) + else: + set_env('FrameworkDIR32',fwr) + set_env('FrameworkVersion32',fwv) + if x64_host: + set_env('FrameworkDir', fwr64) + set_env('FrameworkDIR64',fwr64) + set_env('FrameworkVersion64',fwv) + else: + set_env('FrameworkDir', fwr) + + set_env('UCRTVersion', winkit10version) + set_env('WindowsSDKLibVersion', winkit10version + '/') + set_env('WindowsSDKVersion', winkit10version + '/') + set_env('WindowsSdkVerBinPath', '{}/bin/{}/'.format(winkit10,winkit10version)) + set_env('WindowsSdkBinPath', winkit10 + '/bin/') + set_env('WindowsSdkDir', winkit10 + '/') + set_env('UniversalCRTSdkDir',winkit10 + '/') + set_env('WindowsLibPath', winkit10 + '/UnionMetadata;' + winkit10 + '/References') + + set_env('VCIDEInstallDir', vprefix + '/Common7/IDE/VC/') + set_env('VCINSTALLDIR', vprefix + '/VC/') + set_env('VCToolsInstallDir', vprefix + '/VC/Tools/MSVC/' + msvc_ver + '/') + set_env('VCToolsRedistDir', vprefix + '/VC/Redist/MSVC/' + msvc_ver + '/') + set_env('VS150COMNTOOLS', vprefix + '/Common7/Tools/') + set_env('VSINSTALLDIR', vprefix + '/') + set_env('VisualStudioVersion', '17.0') + + set_env('WindowsSDK_ExecutablePath_x64', netfx_tools + '/x64/') + set_env('WindowsSDK_ExecutablePath_x86', netfx_tools + '/') + + return vprefix + '/VC' def _set_msvs_dev16(env, x64_host, x64_target, regv=None): # msvs 2019 versions = ['Enterprise', 'Professional', 'Community'] @@ -1250,6 +1430,7 @@ def _figure_out_msvs_version_filesystem(env, specific_version=0): the latest install. """ prefixes = [ + (17,'C:/Program Files/Microsoft Visual Studio/2022'), (16,'C:/Program Files (x86)/Microsoft Visual Studio/2019'), # starting with DEV15, everything is in the "Program Files @@ -1452,6 +1633,8 @@ def set_msvs_env(env): vc = _set_msvs_dev15(env, x64_host, x64_target, vs_dir) elif i == 16: # vs 2019 vc = _set_msvs_dev16(env, x64_host, x64_target, vs_dir) + elif i == 17: # vs 2022 + vc = _set_msvs_dev17(env, x64_host, x64_target, vs_dir) else: die("Unhandled MSVS version: " + env['msvs_version']) diff --git a/mbuild/scanner.py b/mbuild/scanner.py index f3b4391..ca7a344 100755 --- a/mbuild/scanner.py +++ b/mbuild/scanner.py @@ -1,8 +1,7 @@ # -*- python -*- -# Mark Charney #BEGIN_LEGAL # -#Copyright (c) 2016 Intel Corporation +#Copyright (c) 2022 Intel Corporation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -48,7 +47,7 @@ def mbuild_compute_path(hname, search_path): for p in search_path: tname = util.join(p,hname) tname = os.path.realpath(tname) - #mbuild_base.msgb("TESTING", tname) + #base.msgb("TESTING", tname) if os.path.exists(tname): return tname return None @@ -92,6 +91,12 @@ def mbuild_scan(fn, search_path): hname = hgroup.group('hdr') full_name = mbuild_compute_path(hname, aug_search_path) if full_name: + if full_name == fn: + # self loop. compilation will fail unless C-preprocessor has + # guards against self-include. We'll assume that and ignore + # this file. + base.msgb("IGNORING CYCLIC SELF-INCLUDE", fn) + continue hr = mbuild_header_record_t(full_name) else: hr = mbuild_header_record_t(hname, found=False) diff --git a/mbuild/util.py b/mbuild/util.py index 6ae9168..2350582 100755 --- a/mbuild/util.py +++ b/mbuild/util.py @@ -1,8 +1,7 @@ # -*- python -*- -# Mark Charney #BEGIN_LEGAL # -#Copyright (c) 2019 Intel Corporation +#Copyright (c) 2022 Intel Corporation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/mbuild/work_queue.py b/mbuild/work_queue.py index 0ea2327..b46c14a 100755 --- a/mbuild/work_queue.py +++ b/mbuild/work_queue.py @@ -1,8 +1,7 @@ # -*- python -*- -# Mark Charney #BEGIN_LEGAL # -#Copyright (c) 2019 Intel Corporation +#Copyright (c) 2022 Intel Corporation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/setup.py b/setup.py index 4d4a33e..757bc54 100644 --- a/setup.py +++ b/setup.py @@ -13,9 +13,9 @@ setup(name='mbuild', version='0.2496', url='https://github.com/intelxed/mbuild', - description = "mbuild: python based build system", - author = 'Mark Charney', - author_email = 'Mark.Charney@intel.com', - packages = [ 'mbuild'] + description='mbuild: python based build system', + author='XED Team', + author_email='xed.team@intel.com', + packages=['mbuild'] ) diff --git a/test_package/.gitignore b/test_package/.gitignore deleted file mode 100644 index 965ec4c..0000000 --- a/test_package/.gitignore +++ /dev/null @@ -1,20 +0,0 @@ -__pycache__ -.o -*.obj -*.exe -*.pyc -*~ -*# -obj* -.buildid -xed2-install* -xed-install* -.#* -TAGS -/VS10/xed.vcxproj.user -/VS10/xed.sdf -kits/* -logs/* -.developer -*.diff -*.pylint diff --git a/test_package/conanfile.py b/test_package/conanfile.py deleted file mode 100644 index bf3d5d2..0000000 --- a/test_package/conanfile.py +++ /dev/null @@ -1,31 +0,0 @@ -#BEGIN_LEGAL -# -#Copyright (c) 2021 Intel Corporation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -#END_LEGAL - -from conans import ConanFile, tools - - -class TestPackageConan(ConanFile): - def build(self): - pass - - def test(self): - with tools.pythonpath(self): - import mbuild - env = mbuild.env.env_t() - env.version() - print("Success!") diff --git a/tests/1.py b/tests/1.py index 07352e4..a78534e 100755 --- a/tests/1.py +++ b/tests/1.py @@ -1,9 +1,8 @@ #!/usr/bin/env python -#!/usr/bin/env python # -*- python -*- #BEGIN_LEGAL # -#Copyright (c) 2016 Intel Corporation +#Copyright (c) 2022 Intel Corporation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -28,7 +27,7 @@ env['jobs']=1 work_queue = mbuild.work_queue_t(env['jobs']) -all_cmds = [ '/bin/ls -R ..' ] +all_cmds = ['ls -R ..'] subs = {} command_list = [] for cmd in all_cmds: diff --git a/tests/2.py b/tests/2.py index 2292b80..f8555a7 100755 --- a/tests/2.py +++ b/tests/2.py @@ -1,9 +1,8 @@ #!/usr/bin/env python -#!/usr/bin/env python # -*- python -*- #BEGIN_LEGAL # -#Copyright (c) 2016 Intel Corporation +#Copyright (c) 2022 Intel Corporation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -28,13 +27,14 @@ env['jobs']=1 work_queue = mbuild.work_queue_t(env['jobs']) -all_cmds = [ 'python -c "1+1"' ] +all_cmds = [ 'python -c "print(1+1)"' ] +out_file_name = 'foo' subs = {} command_list = [] for cmd in all_cmds: cmd = cmd % (subs) mbuild.msgb('ADDING', cmd) - c = mbuild.command_t(cmd, output_file_name="foo") + c = mbuild.command_t(cmd, output_file_name=out_file_name) work_queue.add(c) command_list.append(cmd) @@ -43,4 +43,8 @@ okay = work_queue.build() if not okay: mbuild.die("[%s] failed. dying..." % phase) +with open(out_file_name) as f: + if int(f.readline()) != 2: + mbuild.die("[%s] failed. Unexpected output, dying..." % phase) + mbuild.msgb(phase, "succeeded") diff --git a/tests/3.py b/tests/3.py index 35d8255..980da3c 100755 --- a/tests/3.py +++ b/tests/3.py @@ -1,9 +1,8 @@ #!/usr/bin/env python -#!/usr/bin/env python # -*- python -*- #BEGIN_LEGAL # -#Copyright (c) 2016 Intel Corporation +#Copyright (c) 2022 Intel Corporation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -28,16 +27,15 @@ env['jobs']=8 work_queue = mbuild.work_queue_t(env['jobs']) -if False: - all_cmds = [ '/bin/ls -R ../..' ] - subs = {} - command_list = [] - for cmd in all_cmds: - cmd = cmd % (subs) - mbuild.msgb('ADDING', cmd) - c = mbuild.command_t(cmd, output_file_name="foo") - work_queue.add(c) - command_list.append(cmd) +all_cmds = ['python -c "print(2+2)"'] +subs = {} +command_list = [] +for cmd in all_cmds: + cmd = cmd % (subs) + mbuild.msgb('ADDING', cmd) + c = mbuild.command_t(cmd, output_file_name="foo") + work_queue.add(c) + command_list.append(cmd) phase = "BUILD" diff --git a/tests/b.py b/tests/b.py index 505988d..6994065 100755 --- a/tests/b.py +++ b/tests/b.py @@ -2,7 +2,7 @@ # -*- python -*- #BEGIN_LEGAL # -#Copyright (c) 2016 Intel Corporation +#Copyright (c) 2022 Intel Corporation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -18,7 +18,6 @@ # #END_LEGAL -from __future__ import print_function import sys import find import mbuild @@ -30,7 +29,7 @@ mbuild.remove_tree(env['build_dir']) sys.exit(0) if not env.on_linux(): - print ("This is a linux only test" ) + print("This is a linux only test") sys.exit(0) mbuild.cmkdir(env['build_dir'])