Skip to content

Commit

Permalink
Fix SCons build
Browse files Browse the repository at this point in the history
Using SCons 3 means using Python 3, which is pickier about mixed tab
and space indenting and using the print() function instead of the print
statement. Also relative imports have changed.

Fix this by indenting with spaces only and using the print() function
(using "from __future__ import print_function"). Additionally, fix
relative imports.

Fixes issue stefanhepp#13.
  • Loading branch information
neingeist committed Jan 7, 2018
1 parent 5cec891 commit be6d279
Show file tree
Hide file tree
Showing 8 changed files with 248 additions and 248 deletions.
167 changes: 84 additions & 83 deletions site_scons/conf/CUDASetup.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
from __future__ import print_function
import os
import platform
import SCons
Expand All @@ -16,43 +17,43 @@ def SetupEnv(env, optional=False, cutil=False):

# find CUDA Toolkit path and set CUDA_TOOLKIT_PATH
try:
cudaToolkitPath = env['CUDA_TOOLKIT_PATH']
cudaToolkitPath = env['CUDA_TOOLKIT_PATH']
except:
cudaToolkitPath = None
cudaToolkitPath = None
if cudaToolkitPath == None:
cudaToolkitPath == FindCudaToolkit()
env['CUDA_TOOLKIT_PATH'] = cudaToolkitPath
cudaToolkitPath == FindCudaToolkit()
env['CUDA_TOOLKIT_PATH'] = cudaToolkitPath
if cudaToolkitPath == None:
print "scons: Cannot find the CUDA Toolkit path. Please set env['CUDA_TOOLKIT_PATH'] to point to your Toolkit path"
return
print("scons: Cannot find the CUDA Toolkit path. Please set env['CUDA_TOOLKIT_PATH'] to point to your Toolkit path")
return

# find CUDA SDK path and set CUDA_SDK_PATH
try:
cudaSDKPath = env['CUDA_SDK_PATH']
cudaSDKPath = env['CUDA_SDK_PATH']
except:
cudaSDKPath = None
cudaSDKPath = None
if cudaSDKPath == None:
cudaSDKPath = FindCudaSDK()
env['CUDA_SDK_PATH'] = cudaSDKPath
cudaSDKPath = FindCudaSDK()
env['CUDA_SDK_PATH'] = cudaSDKPath
if cudaSDKPath == None and not optional:
print "scons: Cannot find the CUDA SDK path. Please set env['CUDA_SDK_PATH'] to point to your SDK path."
return
print("scons: Cannot find the CUDA SDK path. Please set env['CUDA_SDK_PATH'] to point to your SDK path.")
return

# cuda libraries
if env['PLATFORM'] == 'posix':
cudaSDKSubLibDir = '/linux'
cudaSDKSubLibDir = '/linux'
elif env['PLATFORM'] == 'darwin':
cudaSDKSubLibDir = '/darwin'
cudaSDKSubLibDir = '/darwin'
else:
cudaSDKSubLibDir = ''
cudaSDKSubLibDir = ''
cudaSDKLibDir = '/lib'

if os.path.exists(cudaToolkitPath + '/bin64'):
cudaLibDir = '/lib64'
cudaBinDir = '/bin64'
cudaLibDir = '/lib64'
cudaBinDir = '/bin64'
else:
cudaLibDir = '/lib'
cudaBinDir = '/bin'
cudaLibDir = '/lib'
cudaBinDir = '/bin'

# add nvcc to PATH, setup Toolkit
env.PrependENVPath('PATH', cudaToolkitPath + cudaBinDir)
Expand All @@ -65,25 +66,25 @@ def SetupEnv(env, optional=False, cutil=False):

release = env.get('RELEASE',None)
if release == 'debug':
env.AppendUnique(NVCCFLAGS=['-g'])
env.AppendUnique(NVCCFLAGS=['-g'])
if release == 'release':
env.AppendUnique(NVCCFLAGS=['-O'])
env.AppendUnique(NVCCFLAGS=['-O'])

# add required libraries
env.AppendUnique(CPPPATH=[cudaToolkitPath + '/include'])
env.AppendUnique(LIBPATH=[cudaToolkitPath + cudaLibDir])
env.AppendUnique(LIBS=['cudart'])

if cudaSDKPath is not None:
cudaSDKPath += '/C'
env.AppendUnique(CPPPATH=[cudaSDKPath + '/common/inc'])
env.AppendUnique(LIBPATH=[cudaSDKPath + cudaSDKLibDir, cudaSDKPath + '/common/'+cudaSDKLibDir + cudaSDKSubLibDir])
if cutil:
if env['PLATFORM'] == 'win32':
bits = GetArchBits(env)
env.AppendUnique(LIBS=['cutil'+bits])
else:
env.AppendUnique(LIBS=['cutil'])
cudaSDKPath += '/C'
env.AppendUnique(CPPPATH=[cudaSDKPath + '/common/inc'])
env.AppendUnique(LIBPATH=[cudaSDKPath + cudaSDKLibDir, cudaSDKPath + '/common/'+cudaSDKLibDir + cudaSDKSubLibDir])
if cutil:
if env['PLATFORM'] == 'win32':
bits = GetArchBits(env)
env.AppendUnique(LIBS=['cutil'+bits])
else:
env.AppendUnique(LIBS=['cutil'])


# Helper functions
Expand All @@ -94,39 +95,39 @@ def FindCudaToolkit():
homedrive=os.environ.get('HOMEDRIVE', '')

paths=[ home + '/NVIDIA_CUDA_TOOLKIT',
home + '/Apps/NVIDIA_CUDA_TOOLKIT',
home + '/Apps/NVIDIA_CUDA_TOOLKIT',
home + '/Apps/CudaToolkit',
home + '/Apps/CudaTK',
'/usr/local/NVIDIA_CUDA_TOOLKIT',
'/usr/local/CUDA_TOOLKIT',
'/usr/local/cuda_toolkit',
'/usr/local/CUDA',
'/usr/local/cuda',
'/Developer/NVIDIA CUDA TOOLKIT',
'/Developer/CUDA TOOLKIT',
'/Developer/CUDA',
'/opt/nvidia/cuda/toolkit',
'/opt/NVIDIA/CUDA/Toolkit',
'/opt/nvidia/cuda toolkit',
'/opt/NVIDIA/CUDA Toolkit',
programfiles + 'NVIDIA Corporation/NVIDIA CUDA TOOLKIT',
programfiles + 'NVIDIA Corporation/NVIDIA CUDA',
programfiles + 'NVIDIA Corporation/CUDA TOOLKIT',
programfiles + 'NVIDIA Corporation/CUDA',
programfiles + 'NVIDIA/NVIDIA CUDA TOOLKIT',
programfiles + 'NVIDIA/NVIDIA CUDA',
programfiles + 'NVIDIA/CUDA TOOLKIT',
programfiles + 'NVIDIA/CUDA',
programfiles + 'CUDA TOOLKIT',
programfiles + 'CUDA',
homedrive + '/CUDA TOOLKIT',
homedrive + '/CUDA']
home + '/Apps/NVIDIA_CUDA_TOOLKIT',
home + '/Apps/NVIDIA_CUDA_TOOLKIT',
home + '/Apps/CudaToolkit',
home + '/Apps/CudaTK',
'/usr/local/NVIDIA_CUDA_TOOLKIT',
'/usr/local/CUDA_TOOLKIT',
'/usr/local/cuda_toolkit',
'/usr/local/CUDA',
'/usr/local/cuda',
'/Developer/NVIDIA CUDA TOOLKIT',
'/Developer/CUDA TOOLKIT',
'/Developer/CUDA',
'/opt/nvidia/cuda/toolkit',
'/opt/NVIDIA/CUDA/Toolkit',
'/opt/nvidia/cuda toolkit',
'/opt/NVIDIA/CUDA Toolkit',
programfiles + 'NVIDIA Corporation/NVIDIA CUDA TOOLKIT',
programfiles + 'NVIDIA Corporation/NVIDIA CUDA',
programfiles + 'NVIDIA Corporation/CUDA TOOLKIT',
programfiles + 'NVIDIA Corporation/CUDA',
programfiles + 'NVIDIA/NVIDIA CUDA TOOLKIT',
programfiles + 'NVIDIA/NVIDIA CUDA',
programfiles + 'NVIDIA/CUDA TOOLKIT',
programfiles + 'NVIDIA/CUDA',
programfiles + 'CUDA TOOLKIT',
programfiles + 'CUDA',
homedrive + '/CUDA TOOLKIT',
homedrive + '/CUDA']

for path in paths:
if os.path.isdir(path):
print 'scons: CUDA Toolkit found in ' + path
return path
if os.path.isdir(path):
print('scons: CUDA Toolkit found in ' + path)
return path

return None

Expand All @@ -136,29 +137,29 @@ def FindCudaSDK():
homedrive=os.environ.get('HOMEDRIVE', '')

paths=[ home + '/NVIDIA_CUDA_SDK', # i am just guessing here
home + '/Apps/NVIDIA_CUDA_SDK',
home + '/Apps/CudaSDK',
'/usr/local/NVIDIA_CUDA_SDK',
'/usr/local/CUDASDK',
'/usr/local/cuda_sdk',
'/Developer/NVIDIA CUDA SDK',
'/Developer/CUDA SDK',
'/Developer/CUDA',
'/opt/nvidia/cuda/sdk',
'/opt/NVIDIA/CUDA/SDK',
'/opt/nvidia/cuda sdk',
'/opt/NVIDIA/CUDA SDK',
programfiles + 'NVIDIA Corporation/NVIDIA CUDA SDK',
programfiles + 'NVIDIA/NVIDIA CUDA SDK',
programfiles + 'NVIDIA CUDA SDK',
programfiles + 'CudaSDK',
homedrive + '/NVIDIA CUDA SDK',
homedrive + '/CUDA SDK',
homedrive + '/CUDA/SDK']
home + '/Apps/NVIDIA_CUDA_SDK',
home + '/Apps/CudaSDK',
'/usr/local/NVIDIA_CUDA_SDK',
'/usr/local/CUDASDK',
'/usr/local/cuda_sdk',
'/Developer/NVIDIA CUDA SDK',
'/Developer/CUDA SDK',
'/Developer/CUDA',
'/opt/nvidia/cuda/sdk',
'/opt/NVIDIA/CUDA/SDK',
'/opt/nvidia/cuda sdk',
'/opt/NVIDIA/CUDA SDK',
programfiles + 'NVIDIA Corporation/NVIDIA CUDA SDK',
programfiles + 'NVIDIA/NVIDIA CUDA SDK',
programfiles + 'NVIDIA CUDA SDK',
programfiles + 'CudaSDK',
homedrive + '/NVIDIA CUDA SDK',
homedrive + '/CUDA SDK',
homedrive + '/CUDA/SDK']
for path in paths:
if os.path.isdir(path):
print 'scons: CUDA SDK found in ' + path
return path
if os.path.isdir(path):
print('scons: CUDA SDK found in ' + path)
return path

return None

Loading

0 comments on commit be6d279

Please sign in to comment.