Files
OpenShadingLanguage/site/spi/Makefile-bits
T
Larry Gritz 9680823437 Be sure to propagate C++ standard flags to the compilation of llvm_ops.cpp (#674)
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.
2016-10-13 10:20:38 -07:00

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