FS Autobuild improvements: support for RelWithDebInfoFS_open, LL-style config options, more documentation
parent
da1b478dc7
commit
5f80dbef9e
|
|
@ -16,7 +16,11 @@ instead of our default autobuild.xml There are some examples of how to build FMO
|
|||
mailing list. We've created a non-KDU build target to make this easier. Everywhere you see "ReleaseFS" below, use
|
||||
"ReleaseFS_open" instead. This will perform the same build, using openjpeg instead of KDU.
|
||||
|
||||
Available premade firestorm-specific build targets:
|
||||
|
||||
ReleaseFS (includes KDU, FMOD)
|
||||
ReleaseFS_open (no KDU, no FMOD)
|
||||
RelWithDebInfo_open (no KDU, no FMOD)
|
||||
|
||||
To build firestorm:
|
||||
|
||||
|
|
@ -26,15 +30,15 @@ Other examples:
|
|||
|
||||
autobuild configure -c ReleaseFS # basic configuration step, don't build, just configure
|
||||
autobuild configure -c ReleaseFS -- --clean # clean the output area first, then configure
|
||||
autobuild configure -c ReleaseFS -- --fmod --kdu # configure with fmod, kdu enabled
|
||||
autobuild configure -c ReleaseFS -- --chan Private-Yourname # configure with a custom channel
|
||||
|
||||
autobuild build -c ReleaseFS --no-configure # default quick rebuild
|
||||
autobuild build -c ReleaseFS --no-configure -- --clean # Clean rebuild
|
||||
autobuild build -c ReleaseFS -- --package # Complete a build and package it into a tarball for sharing
|
||||
autobuild build -c ReleaseFS -- --package # Complete a build and package it into a tarball
|
||||
|
||||
Any of the configure options can also be used (and do the same thing) with the build options.
|
||||
|
||||
Typical LL autobuild configure options should also work, as long as they don't duplicate configuration we are
|
||||
already doing.
|
||||
|
||||
Logs:
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,12 @@
|
|||
Make sure xcode is installed, it's a (sometimes) free download from apple.
|
||||
Make sure cmake is installed, use at least a 2.8.x version.
|
||||
|
||||
If you are using OSX 10.5 or 10.6, Xcode 3 will be used. Output will work on all 10.5 systems and
|
||||
higher.
|
||||
|
||||
If you are using OSX 10.7 (ie, Lion), the build will use Xcode 4 and your output will only work on OSX 10.6 and
|
||||
higher.
|
||||
|
||||
Insure you can build a stock viewer-development try as described in the SL wiki. Before asking for any help
|
||||
compiling Firestorm, make sure you can build viewer-development first. If you try and skip this step, you may
|
||||
receive much less help. http://wiki.secondlife.com/wiki/Compiling_the_viewer_(Mac_OS_X)
|
||||
|
|
@ -15,11 +21,11 @@ instead of our default autobuild.xml There are some examples of how to build FMO
|
|||
mailing list. We've created a non-KDU build target to make this easier. Everywhere you see "ReleaseFS" below, use
|
||||
"ReleaseFS_open" instead. This will perform the same build, using openjpeg instead of KDU.
|
||||
|
||||
Available premade firestorm-specific build targets:
|
||||
|
||||
Additionally, you will need to procure an update vivox build package and place it in:
|
||||
/opt/firestorm
|
||||
No licenses are required for this, but it is not yet directly available. Ask someone in Firestorm for a copy, until
|
||||
this can be updated.
|
||||
ReleaseFS (includes KDU, FMOD)
|
||||
ReleaseFS_open (no KDU, no FMOD)
|
||||
RelWithDebInfo_open (no KDU, no FMOD)
|
||||
|
||||
To build firestorm:
|
||||
|
||||
|
|
@ -29,13 +35,14 @@ Other examples:
|
|||
|
||||
autobuild configure -c ReleaseFS # basic configuration step, don't build, just configure
|
||||
autobuild configure -c ReleaseFS -- --clean # clean the output area first, then configure
|
||||
autobuild configure -c ReleaseFS -- --fmod --kdu # configure with fmod, kdu enabled
|
||||
autobuild configure -c ReleaseFS -- --chan Private-Yourname # configure with a custom channel
|
||||
|
||||
autobuild build -c ReleaseFS --no-configure # default quick rebuild
|
||||
autobuild build -c ReleaseFS --no-configure -- --clean # Clean rebuild
|
||||
|
||||
Any of the configure options can also be used (and do the same thing) with the build options.
|
||||
Typical LL autobuild configure options should also work, as long as they don't duplicate configuration we are
|
||||
already doing.
|
||||
|
||||
|
||||
Logs:
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ Before you start configuring your Windows build system, be aware of our tested c
|
|||
|
||||
Insure you can build a stock viewer-development try as described in the SL wiki. Before asking for any help
|
||||
compiling Firestorm, make sure you can build viewer-development first. If you try and skip this step, you may
|
||||
receive much less help. http://wiki.secondlife.com/wiki/Viewer_2_Microsoft_Windows_Builds
|
||||
receive much less help. http://wiki.secondlife.com/wiki/Viewer_2_Microsoft_Windows_Builds
|
||||
|
||||
If you want to use licensed FMOD or KDU build libraries (they are optional) you have to provision these yourself.
|
||||
If you're licensing these with Phoenix/Firestorm, ask for the libraries for fmod and kdu. Put them into:
|
||||
|
|
@ -30,16 +30,22 @@ After launching the VS2010 cmd shell and navigating to your firestorm code repo:
|
|||
|
||||
autobuild build -c ReleaseFS
|
||||
|
||||
Other build targets you may use are:
|
||||
|
||||
ReleaseFS (includes KDU, FMOD)
|
||||
ReleaseFS_open (no KDU, no FMOD)
|
||||
RelWithDebInfo_open (no KDU, no FMOD)
|
||||
|
||||
Other examples:
|
||||
|
||||
autobuild configure -c ReleaseFS # basic configuration step, don't build, just configure
|
||||
autobuild configure -c ReleaseFS -- --clean # clean the output area first, then configure
|
||||
autobuild configure -c ReleaseFS -- --fmod --kdu # configure with fmod, kdu enabled
|
||||
autobuild configure -c ReleaseFS -- --chan Private-Yourname # configure with a custom channel
|
||||
|
||||
autobuild build -c ReleaseFS --no-configure # default quick rebuild
|
||||
|
||||
Any of the configure options can also be used (and do the same thing) with the build options.
|
||||
If you want to set custom configuration, do this in the configure step separately from build, then run "autobuild
|
||||
build -c ReleaseFS --no-configure" as a secondary step.
|
||||
|
||||
Logs:
|
||||
|
||||
|
|
|
|||
112
autobuild.xml
112
autobuild.xml
|
|
@ -1699,6 +1699,28 @@
|
|||
<string>ReleaseFS_open</string>
|
||||
</map>
|
||||
|
||||
<key>RelWithDebInfoFS_open</key>
|
||||
<map>
|
||||
<key>configure</key>
|
||||
<map>
|
||||
<key>arguments</key>
|
||||
<array>
|
||||
<string></string>
|
||||
</array>
|
||||
<key>command</key>
|
||||
<string>bash ../scripts/configure_firestorm.sh</string>
|
||||
<key>options</key>
|
||||
<array>
|
||||
<string></string>
|
||||
<string>--btype RelWithDebInfo</string>
|
||||
<string>--config</string>
|
||||
<string>--version</string>
|
||||
</array>
|
||||
</map>
|
||||
<key>name</key>
|
||||
<string>RelWithDebInfoFS_open</string>
|
||||
</map>
|
||||
|
||||
<key>ReleaseOS</key>
|
||||
<map>
|
||||
<key>configure</key>
|
||||
|
|
@ -1934,6 +1956,33 @@
|
|||
<string>ReleaseFS_open</string>
|
||||
</map>
|
||||
|
||||
<key>RelWithDebInfoFS_open</key>
|
||||
<map>
|
||||
<key>build</key>
|
||||
<map>
|
||||
<key>command</key>
|
||||
<string>../scripts/configure_firestorm.sh</string>
|
||||
<key>options</key>
|
||||
<array>
|
||||
<string>--build</string>
|
||||
<string>--package</string>
|
||||
<string>--platform darwin</string>
|
||||
<string>--btype RelWithDebInfo</string>
|
||||
</array>
|
||||
</map>
|
||||
<key>configure</key>
|
||||
` <map>
|
||||
<key>options</key>
|
||||
<array>
|
||||
<string>--platform darwin</string>
|
||||
<string>--package</string>
|
||||
</array>
|
||||
</map>
|
||||
<key>name</key>
|
||||
<string>RelWithDebInfoFS_open</string>
|
||||
</map>
|
||||
|
||||
|
||||
<key>ReleaseOS</key>
|
||||
<map>
|
||||
<key>build</key>
|
||||
|
|
@ -2143,6 +2192,33 @@
|
|||
<string>ReleaseFS_open</string>
|
||||
</map>
|
||||
|
||||
<key>RelWithDebInfoFS_open</key>
|
||||
<map>
|
||||
<key>build</key>
|
||||
<map>
|
||||
<key>command</key>
|
||||
<string>../scripts/configure_firestorm.sh</string>
|
||||
<key>options</key>
|
||||
<array>
|
||||
<string>--build</string>
|
||||
<string>--platform linux32</string>
|
||||
<string>--package</string>
|
||||
<string>--btype RelWithDebInfo</string>
|
||||
</array>
|
||||
</map>
|
||||
<key>configure</key>
|
||||
` <map>
|
||||
<key>options</key>
|
||||
<array>
|
||||
<string>--platform linux32</string>
|
||||
<string>--package</string>
|
||||
</array>
|
||||
</map>
|
||||
<key>name</key>
|
||||
<string>RelWithDebInfoFS_open</string>
|
||||
</map>
|
||||
|
||||
|
||||
|
||||
<key>ReleaseOS</key>
|
||||
<map>
|
||||
|
|
@ -2453,6 +2529,42 @@
|
|||
</map>
|
||||
|
||||
|
||||
<key>RelWithDebInfoFS_open</key>
|
||||
<map>
|
||||
<key>build</key>
|
||||
<map>
|
||||
<key>arguments</key>
|
||||
<array>
|
||||
<string>Firestorm.sln</string>
|
||||
</array>
|
||||
<key>command</key>
|
||||
<string>msbuild.exe</string>
|
||||
<key>options</key>
|
||||
<array>
|
||||
<string>/p:Configuration=RelWithDebInfo</string>
|
||||
<string>/flp:LogFile=logs\FirestormBuild_win32.log</string>
|
||||
<string>/flp1:errorsonly;LogFile=logs\FirestormBuild_win32.err</string>
|
||||
<string>/p:Platform=Win32</string>
|
||||
<string>/t:Build</string>
|
||||
<string>/p:useenv=true</string>
|
||||
<string>/verbosity:normal</string>
|
||||
<string>/toolsversion:4.0</string>
|
||||
<string>/p:"VCBuildAdditionalOptions= /incremental"</string>
|
||||
</array>
|
||||
</map>
|
||||
<key>configure</key>
|
||||
<map>
|
||||
<key>options</key>
|
||||
<array>
|
||||
<string>--package</string>
|
||||
<string>--version</string>
|
||||
<string>--platform win32</string>
|
||||
</array>
|
||||
</map>
|
||||
<key>name</key>
|
||||
<string>RelWithDebInfoFS_open</string>
|
||||
</map>
|
||||
|
||||
<key>ReleaseOS</key>
|
||||
<map>
|
||||
<key>build</key>
|
||||
|
|
|
|||
|
|
@ -100,8 +100,8 @@ if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
|
|||
|
||||
# To support a different SDK update these Xcode settings:
|
||||
if (${XCODE_VERSION} VERSION_LESS 4.0.0)
|
||||
set(CMAKE_OSX_SYSROOT /Developer/SDKs/MacOSX10.6.sdk)
|
||||
set(CMAKE_XCODE_ATTRIBUTE_GCC_VERSION "4.0")
|
||||
set(CMAKE_OSX_SYSROOT /Developer/SDKs/MacOSX10.5.sdk)
|
||||
set(CMAKE_XCODE_ATTRIBUTE_GCC_VERSION "4.2")
|
||||
else (${XCODE_VERSION} VERSION_LESS 4.0.0)
|
||||
set(CMAKE_OSX_SYSROOT /Developer/SDKs/MacOSX10.6.sdk)
|
||||
set(CMAKE_XCODE_ATTRIBUTE_GCC_VERSION "com.apple.compilers.llvmgcc42")
|
||||
|
|
|
|||
|
|
@ -35,6 +35,7 @@ WANTS_BUILD=$FALSE
|
|||
PLATFORM="darwin" # darwin, win32, win64, linux32, linux64
|
||||
BTYPE="Release"
|
||||
CHANNEL="" # will be overwritten later with platform-specific values unless manually specified.
|
||||
LL_ARGS_PASSTHRU=""
|
||||
|
||||
###
|
||||
### Helper Functions
|
||||
|
|
@ -56,6 +57,9 @@ showUsage()
|
|||
echo " --package : Build installer"
|
||||
echo " --fmod : Build fmod"
|
||||
echo " --platform : darwrin | win32 | win64 | linux32 | linux64"
|
||||
echo
|
||||
echo "All arguments not in the above list will be passed through to LL's configure/build"
|
||||
echo
|
||||
}
|
||||
|
||||
getArgs()
|
||||
|
|
@ -195,9 +199,11 @@ function getoptex()
|
|||
esac
|
||||
fi
|
||||
done
|
||||
echo "$0: error: invalid option: $o"
|
||||
showUsage
|
||||
exit 1
|
||||
#echo "$0: error: invalid option: $o"
|
||||
LL_ARGS_PASSTHRU="$LL_ARGS_PASSTHRU $o"
|
||||
return 0
|
||||
#showUsage
|
||||
#exit 1
|
||||
fi; fi
|
||||
OPTOPT="?"
|
||||
unset OPTARG
|
||||
|
|
@ -240,12 +246,14 @@ function getopt()
|
|||
|
||||
getArgs $*
|
||||
echo -e " Your platform is: '$PLATFORM'"
|
||||
echo -e " KDU: `b2a $WANTS_KDU`"
|
||||
echo -e " FMOD: `b2a $WANTS_FMOD`"
|
||||
echo -e " PACKAGE:`b2a $WANTS_PACKAGE`"
|
||||
echo -e " CLEAN: `b2a $WANTS_CLEAN`"
|
||||
echo -e " BUILD: `b2a $WANTS_BUILD`"
|
||||
echo -e " CONFIG: `b2a $WANTS_CONFIG`"
|
||||
echo -e " KDU: `b2a $WANTS_KDU`"
|
||||
echo -e " FMOD: `b2a $WANTS_FMOD`"
|
||||
echo -e " PACKAGE: `b2a $WANTS_PACKAGE`"
|
||||
echo -e " CLEAN: `b2a $WANTS_CLEAN`"
|
||||
echo -e " BUILD: `b2a $WANTS_BUILD`"
|
||||
echo -e " CONFIG: `b2a $WANTS_CONFIG`"
|
||||
echo -e " PASSTHRU: $LL_ARGS_PASSTHRU"
|
||||
echo -e " BTYPE: $BTYPE"
|
||||
echo -e " Logging to $LOG"
|
||||
|
||||
|
||||
|
|
@ -339,10 +347,10 @@ if [ $WANTS_CONFIG -eq $TRUE ] ; then
|
|||
TARGET="Visual Studio 10"
|
||||
fi
|
||||
|
||||
cmake -G "$TARGET" ../indra $FMOD $KDU $PACKAGE -DUNATTENDED:BOOL=ON -DLL_TESTS:BOOL=OFF -DWORD_SIZE:STRING=32 -DCMAKE_BUILD_TYPE:STRING=$BTYPE -DROOT_PROJECT_NAME:STRING=Firestorm | tee $LOG
|
||||
cmake -G "$TARGET" ../indra $FMOD $KDU $PACKAGE -DUNATTENDED:BOOL=ON -DLL_TESTS:BOOL=OFF -DWORD_SIZE:STRING=32 -DCMAKE_BUILD_TYPE:STRING=$BTYPE -DROOT_PROJECT_NAME:STRING=Firestorm $LL_ARGS_PASSTHRU | tee $LOG
|
||||
|
||||
if [ $PLATFORM == "win32" ] ; then
|
||||
../indra/tools/vstool/VSTool.exe --solution Firestorm.sln --startup firestorm-bin --workingdir firestorm-bin "..\\..\\indra\\newview" --config Release
|
||||
../indra/tools/vstool/VSTool.exe --solution Firestorm.sln --startup firestorm-bin --workingdir firestorm-bin "..\\..\\indra\\newview" --config $BTYPE
|
||||
fi
|
||||
|
||||
fi
|
||||
|
|
@ -350,14 +358,14 @@ fi
|
|||
if [ $WANTS_BUILD -eq $TRUE ] ; then
|
||||
echo "Building $PLATFORM..."
|
||||
if [ $PLATFORM == "darwin" ] ; then
|
||||
xcodebuild -configuration $BTYPE -project Firestorm.xcodeproj -sdk macosx10.6 GCC_VERSION=4.2 GCC_OPTIMIZATION_LEVEL=3 GCC_ENABLE_SSE3_EXTENSIONS=YES 2>&1 | tee -a $LOG
|
||||
xcodebuild -configuration $BTYPE -project Firestorm.xcodeproj GCC_VERSION=4.2 GCC_OPTIMIZATION_LEVEL=3 GCC_ENABLE_SSE3_EXTENSIONS=YES 2>&1 | tee -a $LOG
|
||||
elif [ $PLATFORM == "linux32" ] ; then
|
||||
JOBS=`cat /proc/cpuinfo | grep processor | wc -l`
|
||||
make -j $JOBS | tee -a $LOG
|
||||
elif [ $PLATFORM == "win32" ] ; then
|
||||
# note: this is not used to do needing to source vsversall.bat first. Autobuild calls this directly.
|
||||
if [ ! -d logs ] ; then mkdir logs ; fi
|
||||
msbuild.exe Firestorm.sln /flp:LogFile=logs\\FirestormBuild_win32.log /flp1:errorsonly;LogFile=logs\\FirestormBuild_win32.err /flp:LogFile=logs\\FirestormBuild_win32.log /p:Configuration=Release /p:Platform=Win32 /t:Build /p:useenv=true /verbosity:normal /toolsversion:4.0 /p:"VCBuildAdditionalOptions= /incremental"
|
||||
msbuild.exe Firestorm.sln /flp:LogFile=logs\\FirestormBuild_win32.log /flp1:errorsonly;LogFile=logs\\FirestormBuild_win32.err /flp:LogFile=logs\\FirestormBuild_win32.log /p:Configuration=$BTYPE /p:Platform=Win32 /t:Build /p:useenv=true /verbosity:normal /toolsversion:4.0 /p:"VCBuildAdditionalOptions= /incremental"
|
||||
fi
|
||||
fi
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue