@@ -57,7 +57,7 @@ SConsignFile()
57
57
ieCoreMilestoneVersion = 10 # for announcing major milestones - may contain all of the below
58
58
ieCoreMajorVersion = 7 # backwards-incompatible changes
59
59
ieCoreMinorVersion = 0 # new backwards-compatible features
60
- ieCorePatchVersion = 0 # bug fixes
60
+ ieCorePatchVersion = 1 # bug fixes
61
61
ieCoreVersionSuffix = "" # used for alpha/beta releases. Example: "a1", "b2", etc.
62
62
63
63
###########################################################################################
@@ -1167,46 +1167,47 @@ def pythonVersion( pythonEnv ) :
1167
1167
universal_newlines = True
1168
1168
).strip ()
1169
1169
1170
- pythonEnv = env .Clone ()
1170
+ basePythonEnv = env .Clone ()
1171
1171
1172
1172
# decide where python is
1173
- if pythonEnv ["PYTHON" ]== "" :
1173
+ if basePythonEnv ["PYTHON" ]== "" :
1174
1174
if env ["PLATFORM" ] == "win32" :
1175
1175
sys .stderr .write ( "ERROR : Python executable path must be set with PYTHON option.\n " )
1176
1176
Exit ( 1 )
1177
1177
else :
1178
- pythonEnv ["PYTHON" ] = getPythonConfig ( pythonEnv , "--exec-prefix" ) + "/bin/python"
1178
+ basePythonEnv ["PYTHON" ] = getPythonConfig ( basePythonEnv , "--exec-prefix" ) + "/bin/python"
1179
1179
1180
1180
# run it to determine version
1181
- pythonEnv ["PYTHON_VERSION" ] = pythonVersion ( pythonEnv )
1181
+ basePythonEnv ["PYTHON_VERSION" ] = pythonVersion ( basePythonEnv )
1182
1182
1183
1183
# get the include path for python if we haven't been told it explicitly
1184
1184
# Windows does not have python-config so rely the user setting the appropriate options
1185
1185
if env ["PLATFORM" ] != "win32" :
1186
- if pythonEnv ["PYTHON_INCLUDE_PATH" ]== "" :
1187
- pythonEnv ["PYTHON_INCLUDE_FLAGS" ] = getPythonConfig ( pythonEnv , "--includes" ).split ()
1186
+ if basePythonEnv ["PYTHON_INCLUDE_PATH" ]== "" :
1187
+ basePythonEnv ["PYTHON_INCLUDE_FLAGS" ] = getPythonConfig ( basePythonEnv , "--includes" ).split ()
1188
1188
else :
1189
- pythonEnv ["PYTHON_INCLUDE_FLAGS" ] = [ systemIncludeArgument , "$PYTHON_INCLUDE_PATH" ]
1189
+ basePythonEnv ["PYTHON_INCLUDE_FLAGS" ] = [ systemIncludeArgument , "$PYTHON_INCLUDE_PATH" ]
1190
1190
1191
- pythonEnv .Append ( CXXFLAGS = "$PYTHON_INCLUDE_FLAGS" )
1191
+ basePythonEnv .Append ( CXXFLAGS = "$PYTHON_INCLUDE_FLAGS" )
1192
1192
1193
1193
if env ["PLATFORM" ] == "posix" :
1194
1194
## We really want to not have the -Wno-strict-aliasing flag, but it's necessary to stop boost
1195
1195
# python warnings that don't seem to be prevented by including boost via -isystem even. Better to
1196
1196
# be able to have -Werror but be missing one warning than to have no -Werror.
1197
1197
## \todo This is probably only necessary for specific gcc versions where -isystem doesn't
1198
1198
# fully work. Reenable when we encounter versions that work correctly.
1199
- pythonEnv .Append ( CXXFLAGS = [ "-Wno-strict-aliasing" ] )
1199
+ basePythonEnv .Append ( CXXFLAGS = [ "-Wno-strict-aliasing" ] )
1200
1200
1201
1201
# get the python link flags
1202
- if pythonEnv ["PYTHON_LINK_FLAGS" ]== "" :
1203
- pythonEnv ["PYTHON_LINK_FLAGS" ] = getPythonConfig ( pythonEnv , "--ldflags" )
1204
- pythonEnv ["PYTHON_LINK_FLAGS" ] = pythonEnv ["PYTHON_LINK_FLAGS" ].replace ( "Python.framework/Versions/" + pythonEnv ["PYTHON_VERSION" ] + "/Python" , "" )
1202
+ if basePythonEnv ["PYTHON_LINK_FLAGS" ]== "" :
1203
+ basePythonEnv ["PYTHON_LINK_FLAGS" ] = getPythonConfig ( basePythonEnv , "--ldflags" )
1204
+ basePythonEnv ["PYTHON_LINK_FLAGS" ] = basePythonEnv ["PYTHON_LINK_FLAGS" ].replace ( "Python.framework/Versions/" + basePythonEnv ["PYTHON_VERSION" ] + "/Python" , "" )
1205
1205
1206
- pythonEnv .Append ( SHLINKFLAGS = pythonEnv ["PYTHON_LINK_FLAGS" ].split () )
1206
+ basePythonEnv .Append ( SHLINKFLAGS = basePythonEnv ["PYTHON_LINK_FLAGS" ].split () )
1207
1207
else :
1208
- pythonEnv ["PYTHON_INCLUDE_FLAGS" ] = ""
1208
+ basePythonEnv ["PYTHON_INCLUDE_FLAGS" ] = ""
1209
1209
1210
+ pythonEnv = basePythonEnv .Clone ()
1210
1211
pythonEnv .Append ( CPPFLAGS = "-DBOOST_PYTHON_MAX_ARITY=20" )
1211
1212
1212
1213
# if BOOST_PYTHON_LIB_SUFFIX is provided, use it
@@ -2066,9 +2067,9 @@ usdEnvSets = {
2066
2067
"IECORE_NAME" : "IECoreUSD"
2067
2068
}
2068
2069
2069
- # We are deliberately cloning from `pythonEnv ` rather than
2070
+ # We are deliberately cloning from `basePythonEnv ` rather than
2070
2071
# `env` because USD itself has dependencies on Python.
2071
- usdEnv = pythonEnv .Clone ( ** usdEnvSets )
2072
+ usdEnv = basePythonEnv .Clone ( ** usdEnvSets )
2072
2073
2073
2074
if usdEnv ["WITH_USD_MONOLITHIC" ] :
2074
2075
usdLibs = [ "usd_ms" ]
@@ -2097,10 +2098,20 @@ else :
2097
2098
if usdEnv ["USD_LIB_PREFIX" ] :
2098
2099
usdLibs = [ usdEnv ["USD_LIB_PREFIX" ] + x for x in usdLibs ]
2099
2100
2101
+ usdPythonLib = env .subst ( "boost_python$BOOST_PYTHON_LIB_SUFFIX" )
2102
+ pxrVersionHeader = env .FindFile ( "pxr/pxr.h" , dependencyIncludes )
2103
+ if pxrVersionHeader is not None and "#define PXR_USE_INTERNAL_BOOST_PYTHON\n " in open ( str ( pxrVersionHeader ) ) :
2104
+ usdPythonLib = usdEnv ["USD_LIB_PREFIX" ] + "python"
2105
+
2106
+ usdLibs .append ( usdPythonLib )
2107
+
2100
2108
usdEnvAppends = {
2101
2109
"CXXFLAGS" : [
2102
2110
"-Wno-deprecated" if env ["PLATFORM" ] != "win32" else "" ,
2103
2111
"/Zc:inline-" if env ["PLATFORM" ] == "win32" else "" ,
2112
+ # This warning is already disabled generally for release builds,
2113
+ # but also requires disabling for debug builds with USD.
2114
+ "/wd4702" if env ["PLATFORM" ] == "win32" else "" ,
2104
2115
"-DIECoreUSD_EXPORTS" ,
2105
2116
systemIncludeArgument , "$USD_INCLUDE_PATH" ,
2106
2117
systemIncludeArgument , "$PYTHON_INCLUDE_PATH" ,
0 commit comments