diff --git a/README_BUILD_FIRESTORM_LINUX.txt b/README_BUILD_FIRESTORM_LINUX.txt
index 38806c5ccd..c12291a73a 100755
--- a/README_BUILD_FIRESTORM_LINUX.txt
+++ b/README_BUILD_FIRESTORM_LINUX.txt
@@ -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:
diff --git a/README_BUILD_FIRESTORM_MACOSX.txt b/README_BUILD_FIRESTORM_MACOSX.txt
index dd4bb08dc0..1fc38095f6 100755
--- a/README_BUILD_FIRESTORM_MACOSX.txt
+++ b/README_BUILD_FIRESTORM_MACOSX.txt
@@ -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:
diff --git a/README_BUILD_FIRESTORM_WIN32.txt b/README_BUILD_FIRESTORM_WIN32.txt
index e6dc92d524..693f2fd987 100755
--- a/README_BUILD_FIRESTORM_WIN32.txt
+++ b/README_BUILD_FIRESTORM_WIN32.txt
@@ -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:
diff --git a/autobuild.xml b/autobuild.xml
index 7c3e4ccbca..462f3c8506 100755
--- a/autobuild.xml
+++ b/autobuild.xml
@@ -1699,6 +1699,28 @@
ReleaseFS_open
+ RelWithDebInfoFS_open
+
+
ReleaseOS
configure
@@ -1934,6 +1956,33 @@
ReleaseFS_open
+ RelWithDebInfoFS_open
+
+ build
+
+ command
+ ../scripts/configure_firestorm.sh
+ options
+
+ --build
+ --package
+ --platform darwin
+ --btype RelWithDebInfo
+
+
+ configure
+`
+ options
+
+ --platform darwin
+ --package
+
+
+ name
+ RelWithDebInfoFS_open
+
+
+
ReleaseOS
build
@@ -2143,6 +2192,33 @@
ReleaseFS_open
+ RelWithDebInfoFS_open
+
+ build
+
+ command
+ ../scripts/configure_firestorm.sh
+ options
+
+ --build
+ --platform linux32
+ --package
+ --btype RelWithDebInfo
+
+
+ configure
+`
+ options
+
+ --platform linux32
+ --package
+
+
+ name
+ RelWithDebInfoFS_open
+
+
+
ReleaseOS
@@ -2453,6 +2529,42 @@
+ RelWithDebInfoFS_open
+
+ build
+
+ arguments
+
+ Firestorm.sln
+
+ command
+ msbuild.exe
+ options
+
+ /p:Configuration=RelWithDebInfo
+ /flp:LogFile=logs\FirestormBuild_win32.log
+ /flp1:errorsonly;LogFile=logs\FirestormBuild_win32.err
+ /p:Platform=Win32
+ /t:Build
+ /p:useenv=true
+ /verbosity:normal
+ /toolsversion:4.0
+ /p:"VCBuildAdditionalOptions= /incremental"
+
+
+ configure
+
+ options
+
+ --package
+ --version
+ --platform win32
+
+
+ name
+ RelWithDebInfoFS_open
+
+
ReleaseOS
build
diff --git a/indra/cmake/Variables.cmake b/indra/cmake/Variables.cmake
index d0608773cb..c46acb54ca 100644
--- a/indra/cmake/Variables.cmake
+++ b/indra/cmake/Variables.cmake
@@ -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")
diff --git a/scripts/configure_firestorm.sh b/scripts/configure_firestorm.sh
index 9f82564f99..6a7aee5576 100755
--- a/scripts/configure_firestorm.sh
+++ b/scripts/configure_firestorm.sh
@@ -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