We weren't properly transferring --std=c++11 from the directives to compile OSL's implementation, to the command line that compiles the llvm bitcode from llvm_ops.cpp. They should match.
204 lines
8.6 KiB
Plaintext
204 lines
8.6 KiB
Plaintext
# SPI-specific settings
|
|
|
|
OSL_NAMESPACE ?= 'OSL_Arnold'
|
|
OPENIMAGEIO_NAMESPACE ?= 'OpenImageIO_Arnold'
|
|
|
|
MY_CMAKE_FLAGS += -DEXTRA_CPP_ARGS="-DOSL_SPI=1"
|
|
|
|
## Generic OSX machines (including LG's laptop)
|
|
ifeq (${platform}, macosx)
|
|
USE_CPP11 ?= 1
|
|
MY_CMAKE_FLAGS += \
|
|
-DCMAKE_BUILD_WITH_INSTALL_RPATH=1 \
|
|
-DCMAKE_INSTALL_NAME_DIR="${working_dir}/dist/${platform}${variant}/lib"
|
|
ifeq (${COMPILER}, clang)
|
|
MY_CMAKE_FLAGS += \
|
|
-DCMAKE_C_COMPILER=clang \
|
|
-DCMAKE_CXX_COMPILER=clang++
|
|
endif
|
|
# All our Mac laptops seem to be at least SSE 4.2
|
|
USE_SIMD = sse4.2
|
|
endif
|
|
|
|
|
|
## Spinux (current)
|
|
ifeq ($(SP_OS), spinux1)
|
|
platform=spinux1
|
|
USE_NINJA := 1
|
|
NINJA := /net/soft_scratch/apps/arnold/tools/spinux1/bin/ninja
|
|
CMAKE := /net/soft_scratch/apps/arnold/tools/spinux1/bin/cmake
|
|
MY_CMAKE_FLAGS += -DCMAKE_MAKE_PROGRAM=${NINJA}
|
|
|
|
## If not overridden, here is our preferred LLVM installation
|
|
## (may be changed as new versions are rolled out to the facility)
|
|
ifeq (${LLVM_DIRECTORY},)
|
|
LLVM_DIRECTORY := /shots/spi/home/lib/arnold/spinux1/llvm_3.4.2
|
|
endif
|
|
|
|
# default compiler is clang, taken from the LLVM directory
|
|
ifeq (${COMPILER},)
|
|
MY_CMAKE_FLAGS += \
|
|
-DCMAKE_C_COMPILER=${LLVM_DIRECTORY}/bin/clang \
|
|
-DCMAKE_CXX_COMPILER=${LLVM_DIRECTORY}/bin/clang++
|
|
endif
|
|
|
|
# requesting 'clang' or 'gcc' (no version) means the first clang or
|
|
# gcc in your path
|
|
ifeq (${COMPILER},clang)
|
|
MY_CMAKE_FLAGS += -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++
|
|
endif
|
|
ifeq (${COMPILER},gcc)
|
|
MY_CMAKE_FLAGS += -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++
|
|
endif
|
|
|
|
# A variety of tags can be used to try specific versions of gcc or
|
|
# clang from the site-specific places we have installed them.
|
|
ifeq (${COMPILER}, clang341)
|
|
MY_CMAKE_FLAGS += \
|
|
-DCMAKE_C_COMPILER=/shots/spi/home/lib/arnold/spinux1/llvm_3.4.1/bin/clang \
|
|
-DCMAKE_CXX_COMPILER=/shots/spi/home/lib/arnold/spinux1/llvm_3.4.1/bin/clang++
|
|
endif
|
|
ifeq (${COMPILER}, clang342)
|
|
MY_CMAKE_FLAGS += \
|
|
-DCMAKE_C_COMPILER=/shots/spi/home/lib/arnold/spinux1/llvm_3.4.2/bin/clang \
|
|
-DCMAKE_CXX_COMPILER=/shots/spi/home/lib/arnold/spinux1/llvm_3.4.2/bin/clang++
|
|
endif
|
|
ifeq (${COMPILER}, gcc463)
|
|
MY_CMAKE_FLAGS += \
|
|
-DCMAKE_C_COMPILER=/net/soft_scratch/apps/arnold/tools/gcc-4.6.3-test/bin/gcc \
|
|
-DCMAKE_CXX_COMPILER=/net/soft_scratch/apps/arnold/tools/gcc-4.6.3-test/bin/g++
|
|
endif
|
|
ifeq (${COMPILER}, gcc470)
|
|
MY_CMAKE_FLAGS += \
|
|
-DCMAKE_C_COMPILER=/net/soft_scratch/apps/arnold/tools/gcc-4.7.0-test/bin/gcc \
|
|
-DCMAKE_CXX_COMPILER=/net/soft_scratch/apps/arnold/tools/gcc-4.7.0-test/bin/g++
|
|
endif
|
|
ifeq (${COMPILER}, gcc472)
|
|
MY_CMAKE_FLAGS += \
|
|
-DCMAKE_C_COMPILER=/net/soft_scratch/apps/arnold/tools/gcc-4.7.2-test/bin/gcc \
|
|
-DCMAKE_CXX_COMPILER=/net/soft_scratch/apps/arnold/tools/gcc-4.7.2-test/bin/g++
|
|
endif
|
|
ifeq (${COMPILER}, gcc490)
|
|
MY_CMAKE_FLAGS += \
|
|
-DCMAKE_C_COMPILER=/net/soft_scratch/apps/arnold/tools/gcc-4.9-20130512-test/bin/gcc \
|
|
-DCMAKE_CXX_COMPILER=/net/soft_scratch/apps/arnold/tools/gcc-4.9-20130512-test/bin/g++
|
|
endif
|
|
|
|
# Our minimal architecture for workstations and farm supports SSE 4.1
|
|
USE_SIMD = sse4.1
|
|
|
|
MY_CMAKE_FLAGS += \
|
|
-DOPENEXR_CUSTOM_INCLUDE_DIR=/usr/include/OpenEXR2 \
|
|
-DOPENEXR_CUSTOM_LIB_DIR=/usr/lib64/OpenEXR2 \
|
|
-DEXTRA_OSLEXEC_LIBRARIES="/usr/lib64/libpthread.so" \
|
|
-DEXTRA_OSLEXEC_LIBRARIES="/usr/lib64/libcurses.so" \
|
|
-DLLVM_CUSTOM=1 \
|
|
-DLLVM_STATIC=1 \
|
|
-DLLVM_VERSION=${LLVM_VERSION} \
|
|
-DLLVM_DIRECTORY=${LLVM_DIRECTORY}
|
|
|
|
ifneq (${SPCOMP2_USE_BOOSTVERS}, 1)
|
|
BOOSTVERS=1.51
|
|
endif
|
|
BOOSTVERS_SUFFIX = -${shell echo ${BOOSTVERS} | sed "s/\\./_/"}
|
|
CONSTRUCTED_BOOSTVERS = ${shell echo ${BOOSTVERS} | sed "s/\\./0/"}00
|
|
MY_CMAKE_FLAGS += \
|
|
-DBOOST_CUSTOM=1 \
|
|
-DBoost_VERSION=${CONSTRUCTED_BOOSTVERS} \
|
|
-DBoost_INCLUDE_DIRS=/usr/include/boost_${BOOSTVERS} \
|
|
-DBoost_LIBRARY_DIRS=/usr/lib64/boost_${BOOSTVERS} \
|
|
-DBoost_LIBRARIES:STRING="/usr/lib64/boost_${BOOSTVERS}/libboost_filesystem-gcc44-mt${BOOSTVERS_SUFFIX}.so;/usr/lib64/boost_${BOOSTVERS}/libboost_filesystem-gcc44-mt${BOOSTVERS_SUFFIX}.so;/usr/lib64/boost_${BOOSTVERS}/libboost_regex-gcc44-mt${BOOSTVERS_SUFFIX}.so;/usr/lib64/boost_${BOOSTVERS}/libboost_system-gcc44-mt${BOOSTVERS_SUFFIX}.so;/usr/lib64/boost_${BOOSTVERS}/libboost_thread-gcc44-mt${BOOSTVERS_SUFFIX}.so;/usr/lib64/boost_${BOOSTVERS}/libboost_wave-gcc44-mt${BOOSTVERS_SUFFIX}.so"
|
|
|
|
endif # endif spinux1
|
|
|
|
## Rhel7 (current)
|
|
ifeq ($(SP_OS), rhel7)
|
|
platform=rhel7
|
|
USE_NINJA := 1
|
|
NINJA := /net/soft_scratch/apps/arnold/tools/spinux1/bin/ninja
|
|
CMAKE := /net/soft_scratch/apps/arnold/tools/spinux1/bin/cmake
|
|
MY_CMAKE_FLAGS += -DCMAKE_MAKE_PROGRAM=${NINJA}
|
|
|
|
## If not overridden, here is our preferred LLVM installation
|
|
## (may be changed as new versions are rolled out to the facility)
|
|
ifeq (${LLVM_DIRECTORY},)
|
|
LLVM_DIRECTORY := /shots/spi/home/lib/arnold/spinux1/llvm_3.4.2
|
|
endif
|
|
|
|
# default compiler is clang, taken from the LLVM directory
|
|
ifeq (${COMPILER},)
|
|
MY_CMAKE_FLAGS += \
|
|
-DCMAKE_C_COMPILER=${LLVM_DIRECTORY}/bin/clang \
|
|
-DCMAKE_CXX_COMPILER=${LLVM_DIRECTORY}/bin/clang++
|
|
endif
|
|
|
|
# requesting 'clang' or 'gcc' (no version) means the first clang or
|
|
# gcc in your path
|
|
ifeq (${COMPILER},clang)
|
|
MY_CMAKE_FLAGS += -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++
|
|
endif
|
|
ifeq (${COMPILER},gcc)
|
|
MY_CMAKE_FLAGS += -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++
|
|
endif
|
|
|
|
# A variety of tags can be used to try specific versions of gcc or
|
|
# clang from the site-specific places we have installed them.
|
|
ifeq (${COMPILER}, clang342)
|
|
MY_CMAKE_FLAGS += \
|
|
-DCMAKE_C_COMPILER=/shots/spi/home/lib/arnold/spinux1/llvm_3.4.2/bin/clang \
|
|
-DCMAKE_CXX_COMPILER=/shots/spi/home/lib/arnold/spinux1/llvm_3.4.2/bin/clang++
|
|
endif
|
|
ifeq (${COMPILER}, gcc472)
|
|
MY_CMAKE_FLAGS += \
|
|
-DCMAKE_C_COMPILER=/net/soft_scratch/apps/arnold/tools/gcc-4.7.2-test/bin/gcc \
|
|
-DCMAKE_CXX_COMPILER=/net/soft_scratch/apps/arnold/tools/gcc-4.7.2-test/bin/g++
|
|
endif
|
|
ifeq (${COMPILER}, gcc490)
|
|
MY_CMAKE_FLAGS += \
|
|
-DCMAKE_C_COMPILER=/net/soft_scratch/apps/arnold/tools/gcc-4.9-20130512-test/bin/gcc \
|
|
-DCMAKE_CXX_COMPILER=/net/soft_scratch/apps/arnold/tools/gcc-4.9-20130512-test/bin/g++
|
|
endif
|
|
|
|
# Our minimal architecture for workstations and farm supports SSE 4.1
|
|
USE_SIMD = sse4.1
|
|
|
|
MY_CMAKE_FLAGS += \
|
|
-DOPENEXR_CUSTOM_INCLUDE_DIR=/usr/include/OpenEXR2 \
|
|
-DOPENEXR_CUSTOM_LIB_DIR=/usr/lib64/OpenEXR2 \
|
|
-DEXTRA_OSLEXEC_LIBRARIES="/usr/lib64/libpthread.so" \
|
|
-DEXTRA_OSLEXEC_LIBRARIES="/usr/lib64/libcurses.so" \
|
|
-DLLVM_CUSTOM=1 \
|
|
-DLLVM_STATIC=1 \
|
|
-DLLVM_VERSION=${LLVM_VERSION} \
|
|
-DLLVM_DIRECTORY=${LLVM_DIRECTORY}
|
|
|
|
ifneq (${SPCOMP2_USE_BOOSTVERS}, 1)
|
|
BOOSTVERS=1.55
|
|
endif
|
|
BOOSTVERSSP=${BOOSTVERS}sp
|
|
BOOSTVERS_SUFFIX = -${shell echo ${BOOSTVERS} | sed "s/\\./_/"}
|
|
BOOSTVERS_PREFIX = ${shell echo ${BOOSTVERS} | sed "s/\\./_/"}_0
|
|
CONSTRUCTED_BOOSTVERS = ${shell echo ${BOOSTVERS} | sed "s/\\./0/"}00
|
|
MY_CMAKE_FLAGS += \
|
|
-DBOOST_CUSTOM=1 \
|
|
-DBoost_VERSION=${CONSTRUCTED_BOOSTVERS} \
|
|
-DBoost_INCLUDE_DIRS=/usr/include/boost_${BOOSTVERSSP} \
|
|
-DBoost_LIBRARY_DIRS=/usr/lib64/boost_${BOOSTVERS} \
|
|
-DBoost_LIBRARIES:STRING="/usr/lib64/boost_${BOOSTVERSSP}/libspboost_${BOOSTVERS_PREFIX}_filesystem-gcc48-mt${BOOSTVERS_SUFFIX}.so;/usr/lib64/boost_${BOOSTVERSSP}/libspboost_${BOOSTVERS_PREFIX}_filesystem-gcc48-mt${BOOSTVERS_SUFFIX}.so;/usr/lib64/boost_${BOOSTVERSSP}/libspboost_${BOOSTVERS_PREFIX}_regex-gcc48-mt${BOOSTVERS_SUFFIX}.so;/usr/lib64/boost_${BOOSTVERSSP}/libspboost_${BOOSTVERS_PREFIX}_system-gcc48-mt${BOOSTVERS_SUFFIX}.so;/usr/lib64/boost_${BOOSTVERSSP}/libspboost_${BOOSTVERS_PREFIX}_thread-gcc48-mt${BOOSTVERS_SUFFIX}.so;/usr/lib64/boost_${BOOSTVERSSP}/libspboost_${BOOSTVERS_PREFIX}_wave-gcc48-mt${BOOSTVERS_SUFFIX}.so"
|
|
|
|
endif # endif rhel7
|
|
|
|
# set up OpenImageIO distribution environment
|
|
ifeq (${OPENIMAGEIOHOME},)
|
|
MY_CMAKE_FLAGS += -DOPENIMAGEIOHOME:STRING=${working_dir}/../OpenImageIO_local/dist/${platform}${variant}/ \
|
|
-DOSL_NAMESPACE:STRING=${OSL_NAMESPACE}
|
|
else
|
|
MY_CMAKE_FLAGS += -DOPENIMAGEIOHOME:STRING=${IMAGEIOHOME} \
|
|
-DOSL_NAMESPACE:STRING=${OSL_NAMESPACE}
|
|
endif
|
|
|
|
|
|
ifneq (${VERBOSE},)
|
|
$(info MY_CMAKE_FLAGS: $(MY_CMAKE_FLAGS))
|
|
endif
|