Merge Firestorm LGPL

master
Ansariel 2016-03-31 18:46:28 +02:00
commit c27194d97e
34 changed files with 305 additions and 85 deletions

View File

@ -2635,6 +2635,23 @@
<key>name</key>
<string>ReleaseFS_AVX</string>
</map>
<key>ReleaseFS_AVX2</key>
<map>
<key>configure</key>
<map>
<key>command</key>
<string>bash ../scripts/configure_firestorm.sh</string>
<key>options</key>
<array>
<string>--config</string>
<string>--version</string>
<string>--opensim</string>
<string>--avx2</string>
</array>
</map>
<key>name</key>
<string>ReleaseFS_AVX2</string>
</map>
<key>ReleaseFS_open</key>
<map>
<key>configure</key>
@ -2923,6 +2940,32 @@
<key>name</key>
<string>ReleaseFS_AVX</string>
</map>
<key>ReleaseFS_AVX2</key>
<map>
<key>build</key>
<map>
<key>command</key>
<string>../scripts/configure_firestorm.sh</string>
<key>options</key>
<array>
<string>--build</string>
<string>--platform darwin</string>
<string>--fmodex</string>
<string>--kdu</string>
</array>
</map>
<key>configure</key>
<map>
<key>options</key>
<array>
<string>--platform darwin</string>
<string>--kdu</string>
<string>--fmodex</string>
</array>
</map>
<key>name</key>
<string>ReleaseFS_AVX2</string>
</map>
<key>ReleaseFS_open</key>
<map>
<key>build</key>
@ -3171,6 +3214,30 @@
<key>name</key>
<string>ReleaseFS_AVX</string>
</map>
<key>ReleaseFS_AVX2</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>
</array>
</map>
<key>configure</key>
<map>
<key>options</key>
<array>
<string>--kdu</string>
<string>--fmodex</string>
<string>--platform linux32</string>
</array>
</map>
<key>name</key>
<string>ReleaseFS_AVX2</string>
</map>
<key>ReleaseFS_open</key>
<map>
<key>build</key>
@ -3531,6 +3598,43 @@
<key>name</key>
<string>ReleaseFS_AVX</string>
</map>
<key>ReleaseFS_AVX2</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=Release</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:12.0</string>
<string>/p:"VCBuildAdditionalOptions= /incremental"</string>
</array>
</map>
<key>configure</key>
<map>
<key>options</key>
<array>
<string>--fmodex</string>
<string>--kdu</string>
<string>--quicktime</string>
<string>--version</string>
<string>--platform win32</string>
</array>
</map>
<key>name</key>
<string>ReleaseFS_AVX2</string>
</map>
<key>ReleaseFS_open</key>
<map>
<key>build</key>

View File

@ -37,9 +37,13 @@ endif (OPENSIM)
# <FS:Ansariel> [AVX Optimization]
option(USE_AVX_OPTIMIZATION "AVX optimization support" OFF)
option(USE_AVX2_OPTIMIZATION "AVX2 optimization support" OFF)
if (USE_AVX_OPTIMIZATION)
add_definitions(-DUSE_AVX_OPTIMIZATION=1)
message("compiling with AVX optimizations")
elseif (USE_AVX2_OPTIMIZATION)
add_definitions(-DUSE_AVX2_OPTIMIZATION=1)
message("compiling with AVX2 optimizations")
else (USE_AVX_OPTIMIZATION)
message("compiling without AVX optimizations")
endif (USE_AVX_OPTIMIZATION)

View File

@ -97,6 +97,24 @@ if (WINDOWS)
/Oy-
/Zc:wchar_t-
/arch:AVX
# /fp:fast
)
elseif (USE_AVX2_OPTIMIZATION)
add_definitions(
/DLL_WINDOWS=1
/DNOMINMAX
# /DDOM_DYNAMIC # For shared library colladadom
/DUNICODE
/D_UNICODE
/GS
/TP
/W3
/c
/Zc:forScope
/nologo
/Oy-
/Zc:wchar_t-
/arch:AVX2
# /fp:fast
)
else (USE_AVX_OPTIMIZATION)

View File

@ -1239,6 +1239,13 @@ void FSFloaterIM::setVisible(BOOL visible)
}
}
void FSFloaterIM::setMinimized(BOOL b)
{
handleMinimized(b);
LLTransientDockableFloater::setMinimized(b);
}
BOOL FSFloaterIM::getVisible()
{
if(isChatMultiTab())
@ -2364,3 +2371,16 @@ void FSFloaterIM::loadInitialInvitedIDs()
session->mInitialInvitedIDs.clear();
}
}
void FSFloaterIM::handleMinimized(bool minimized)
{
if (minimized)
{
gConsole->removeSession(mSessionID);
}
else
{
gConsole->addSession(mSessionID);
updateMessages();
}
}

View File

@ -69,6 +69,7 @@ public:
/*virtual*/ BOOL getVisible();
// Check typing timeout timer.
/*virtual*/ void draw();
/*virtual*/ void setMinimized(BOOL b);
// LLFloater overrides
/*virtual*/ void onClose(bool app_quitting);
@ -155,6 +156,8 @@ public:
bool isP2PChat() const { return mIsP2PChat; }
void handleMinimized(bool minimized);
protected:
/* virtual */
void onClickCloseBtn(bool app_quitting = false);

View File

@ -362,6 +362,26 @@ void FSFloaterIMContainer::setVisible(BOOL b)
}
}
void FSFloaterIMContainer::setMinimized(BOOL b)
{
if (mTabContainer)
{
FSFloaterNearbyChat* nearby_floater = dynamic_cast<FSFloaterNearbyChat*>(mTabContainer->getCurrentPanel());
if (nearby_floater)
{
nearby_floater->handleMinimized(b);
}
FSFloaterIM* im_floater = dynamic_cast<FSFloaterIM*>(mTabContainer->getCurrentPanel());
if (im_floater)
{
im_floater->handleMinimized(b);
}
}
LLMultiFloater::setMinimized(b);
}
//virtual
void FSFloaterIMContainer::sessionAdded(const LLUUID& session_id, const std::string& name, const LLUUID& other_participant_id, BOOL has_offline_msg)
{

View File

@ -59,7 +59,8 @@ public:
static FSFloaterIMContainer* getInstance();
virtual void setVisible(BOOL b);
/*virtual*/ void setMinimized(BOOL b);
void onNewMessageReceived(const LLSD& data); // public so nearbychat can call it directly. TODO: handle via callback. -AO
virtual void sessionAdded(const LLUUID& session_id, const std::string& name, const LLUUID& other_participant_id, BOOL has_offline_msg);

View File

@ -388,6 +388,13 @@ void FSFloaterNearbyChat::setVisible(BOOL visible)
}
}
void FSFloaterNearbyChat::setMinimized(BOOL b)
{
handleMinimized(b);
LLFloater::setMinimized(b);
}
void FSFloaterNearbyChat::onOpen(const LLSD& key )
{
FSFloaterIMContainer* floater_container = FSFloaterIMContainer::getInstance();
@ -906,3 +913,15 @@ void FSFloaterNearbyChat::updateShowMutedChatHistory(const LLSD &data)
bool show_muted = data.asBoolean();
updateUnreadMessageNotification((show_muted ? mUnreadMessagesMuted : mUnreadMessages), show_muted);
}
void FSFloaterNearbyChat::handleMinimized(bool minimized)
{
if (minimized)
{
gConsole->removeSession(LLUUID::null);
}
else
{
gConsole->addSession(LLUUID::null);
}
}

View File

@ -56,6 +56,7 @@ public:
/*virtual*/ void onOpen(const LLSD& key);
/*virtual*/ void setVisible(BOOL visible);
/*virtual*/ void setMinimized(BOOL b);
void openFloater(const LLSD& key);
@ -97,6 +98,8 @@ public:
void updateUnreadMessageNotification(S32 unread_messages, bool muted_history);
void updateShowMutedChatHistory(const LLSD &data);
void handleMinimized(bool minimized);
protected:
void onChatBoxKeystroke();
void onChatBoxFocusLost();

View File

@ -91,20 +91,86 @@ std::string FSPanelLogin::sPassword = "";
// For new accounts without a last name "Resident" is added as a last name.
static std::string canonicalize_username(const std::string& name);
class LLLoginRefreshHandler : public LLCommandHandler
class LLLoginLocationAutoHandler : public LLCommandHandler
{
public:
// don't allow from external browsers
LLLoginRefreshHandler() : LLCommandHandler("login_refresh", UNTRUSTED_BLOCK) { }
LLLoginLocationAutoHandler() : LLCommandHandler("location_login", UNTRUSTED_BLOCK) { }
bool handle(const LLSD& tokens, const LLSD& query_map, LLMediaCtrl* web)
{
if (LLStartUp::getStartupState() < STATE_LOGIN_CLEANUP)
{
FSPanelLogin::loadLoginPage();
if ( tokens.size() == 0 || tokens.size() > 4 )
return false;
// unescape is important - uris with spaces are escaped in this code path
// (e.g. space -> %20) and the code to log into a region doesn't support that.
const std::string region = LLURI::unescape( tokens[0].asString() );
// just region name as payload
if ( tokens.size() == 1 )
{
// region name only - slurl will end up as center of region
LLSLURL slurl(region);
FSPanelLogin::autologinToLocation(slurl);
}
else
// region name and x coord as payload
if ( tokens.size() == 2 )
{
// invalid to only specify region and x coordinate
// slurl code will revert to same as region only, so do this anyway
LLSLURL slurl(region);
FSPanelLogin::autologinToLocation(slurl);
}
else
// region name and x/y coord as payload
if ( tokens.size() == 3 )
{
// region and x/y specified - default z to 0
F32 xpos;
std::istringstream codec(tokens[1].asString());
codec >> xpos;
F32 ypos;
codec.clear();
codec.str(tokens[2].asString());
codec >> ypos;
const LLVector3 location(xpos, ypos, 0.0f);
LLSLURL slurl(region, location);
FSPanelLogin::autologinToLocation(slurl);
}
else
// region name and x/y/z coord as payload
if ( tokens.size() == 4 )
{
// region and x/y/z specified - ok
F32 xpos;
std::istringstream codec(tokens[1].asString());
codec >> xpos;
F32 ypos;
codec.clear();
codec.str(tokens[2].asString());
codec >> ypos;
F32 zpos;
codec.clear();
codec.str(tokens[3].asString());
codec >> zpos;
const LLVector3 location(xpos, ypos, zpos);
LLSLURL slurl(region, location);
FSPanelLogin::autologinToLocation(slurl);
};
}
return true;
}
};
LLLoginLocationAutoHandler gLoginLocationAutoHandler;
//---------------------------------------------------------------------------
// Public methods
@ -752,6 +818,18 @@ void FSPanelLogin::setLocation(const LLSLURL& slurl)
LLStartUp::setStartSLURL(slurl); // calls onUpdateStartSLURL, above
}
void FSPanelLogin::autologinToLocation(const LLSLURL& slurl)
{
LL_DEBUGS("AppInit")<<"automatically logging into Location "<<slurl.asString()<<LL_ENDL;
LLStartUp::setStartSLURL(slurl); // calls onUpdateStartSLURL, above
if ( FSPanelLogin::sInstance != NULL )
{
void* unused_parameter = 0;
FSPanelLogin::sInstance->onClickConnect(unused_parameter);
}
}
// static
void FSPanelLogin::closePanel()
{

View File

@ -69,6 +69,7 @@ public:
static BOOL areCredentialFieldsDirty();
static void setLocation(const LLSLURL& slurl);
static void autologinToLocation(const LLSLURL& slurl);
/// Call when preferences that control visibility may have changed
static void updateLocationSelectorsVisibility();

View File

@ -57,38 +57,6 @@ F32 LLDrawPoolTerrain::sDetailScale = DETAIL_SCALE;
static LLGLSLShader* sShader = NULL;
static LLTrace::BlockTimerStatHandle FTM_SHADOW_TERRAIN("Terrain Shadow");
// <FS:ND> Hack to preload the invisiprim textures and make them fall into the right texturelist bucket
LLPointer<LLViewerTexture> mAlphaRampImagep2;
LLPointer<LLViewerTexture> m2DAlphaRampImagep2;
void preloadForInvisiprims()
{
U32 format = GL_ALPHA8;
U32 int_format = GL_ALPHA;
mAlphaRampImagep2 = LLViewerTextureManager::getFetchedTextureFromFile( "alpha_gradient.tga",
FTT_LOCAL_FILE,
TRUE, LLGLTexture::BOOST_NONE,
LLViewerTexture::FETCHED_TEXTURE,
format, int_format,
LLUUID( "e97cf410-8e61-7005-ec06-629eba4cd1fb" ) );
//gGL.getTexUnit(0)->bind(mAlphaRampImagep.get());
mAlphaRampImagep2->setAddressMode( LLTexUnit::TAM_CLAMP );
m2DAlphaRampImagep2 = LLViewerTextureManager::getFetchedTextureFromFile( "alpha_gradient_2d.j2c",
FTT_LOCAL_FILE,
TRUE, LLGLTexture::BOOST_NONE,
LLViewerTexture::FETCHED_TEXTURE,
format, int_format,
LLUUID( "38b86f85-2575-52a9-a531-23108d8da837" ) );
//gGL.getTexUnit(0)->bind(m2DAlphaRampImagep.get());
m2DAlphaRampImagep2->setAddressMode( LLTexUnit::TAM_CLAMP );
}
// </FS:ND>
LLDrawPoolTerrain::LLDrawPoolTerrain(LLViewerTexture *texturep) :
LLFacePool(POOL_TERRAIN),
@ -131,8 +99,6 @@ LLDrawPoolTerrain::LLDrawPoolTerrain(LLViewerTexture *texturep) :
mTexturep->setBoostLevel(LLGLTexture::BOOST_TERRAIN);
//gGL.getTexUnit(0)->unbind(LLTexUnit::TT_TEXTURE);
preloadForInvisiprims(); // <FS:ND/> load textures for invisiprims (same UUID as above, but put them into the texturelist for normal textures rather than UI).
}
LLDrawPoolTerrain::~LLDrawPoolTerrain()

View File

@ -2088,11 +2088,7 @@ LLVector3 LLManipScale::nearestAxis( const LLVector3& v ) const
// <FS:Ansariel> [AVX Optimization]
//return LLVector3( coords[greatest_index] );
#ifdef USE_AVX_OPTIMIZATION
return LLVector3(coords[greatest_index][0], coords[greatest_index][1], coords[greatest_index][2]);
#else
return LLVector3( coords[greatest_index] );
#endif
// </FS:Ansariel> [AVX Optimization]
}

View File

@ -113,7 +113,10 @@ LLToastGroupNotifyPanel::LLToastGroupNotifyPanel(const LLNotificationPtr& notifi
substitution["datetime"] = (S32) notice_date.secondsSinceEpoch();
LLStringUtil::format(timeStr, substitution);
LLViewerTextEditor* pMessageText = getChild<LLViewerTextEditor>("message");
// <FS:Ansariel> FIRE-17995: Urls without protocol randomly get broken
//LLViewerTextEditor* pMessageText = getChild<LLViewerTextEditor>("message");
LLTextEditor* pMessageText = getChild<LLTextEditor>("message");
// </FS:Ansariel>
pMessageText->setContentTrusted(false);
pMessageText->clear();

View File

@ -1,12 +1,8 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel label="instant_message" name="panel_group_notify">
<string name="message_max_lines_count" value="7"/>
<string name="subject_font" value="SANSSERIF_BIG"/>
<string name="date_font" value="SANSSERIF"/>
<panel label="Überschrift" name="header">
<text name="title" value="Absender/Gruppenname"/>
</panel>
<text_editor name="message" value="Nachricht"/>
<text name="attachment" value="Anhang"/>
<text name="group_notice" value="Gruppenmitteilung"/>
<button label="OK" name="btn_ok"/>

View File

@ -52,7 +52,7 @@
name="group_icon"
top="50"
width="64" />
<text_editor
<simple_text_editor
parse_urls="true"
enabled="true"
follows="all"
@ -70,7 +70,7 @@
use_ellipses="true"
value="message"
word_wrap="true" >
</text_editor>
</simple_text_editor>
<icon
bottom="-36"
follows="left|bottom|right"

View File

@ -1,12 +1,8 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel label="instant_message" name="panel_group_notify">
<string name="message_max_lines_count" value="7"/>
<string name="subject_font" value="SANSSERIF_BIG"/>
<string name="date_font" value="SANSSERIF"/>
<panel label="Überschrift" name="header">
<text name="title" value="Absender/Gruppenname"/>
</panel>
<text_editor name="message" value="Nachricht"/>
<text name="attachment" value="Anhang"/>
<button label="OK" name="btn_ok"/>
</panel>

View File

@ -49,7 +49,7 @@
value="Sender Name / Group Name"
width="230" />
</panel>
<text_editor
<simple_text_editor
parse_urls="true"
enabled="true"
follows="all"
@ -67,7 +67,7 @@
value="message"
width="270"
word_wrap="true" >
</text_editor>
</simple_text_editor>
<icon
bottom="60"
follows="left|bottom|right"

View File

@ -3,7 +3,6 @@
<panel label="cabecera" name="header">
<text name="title" value="Enviado por Remitente, Grupo"/>
</panel>
<text_editor name="message" value="mensaje"/>
<text name="attachment" value="Adjunción"/>
<button label="Aceptar" name="btn_ok"/>
</panel>

View File

@ -1,8 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel label="instant_message" name="panel_group_notify">
<string name="message_max_lines_count" value="7"/>
<string name="subject_font" value="SANSSERIF_BIG"/>
<string name="date_font" value="SANSSERIF"/>
<panel label="ヘッダー" name="header">
<text name="title" value="送信者の名前 / グループ名"/>
</panel>

View File

@ -1,8 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel label="instant_message" name="panel_group_notify">
<string name="message_max_lines_count" value="7"/>
<string name="subject_font" value="SANSSERIF_BIG"/>
<string name="date_font" value="SANSSERIF"/>
<panel label="başlık" name="header">
<text name="title" value="Gönderici Adı / Grup Adı"/>
</panel>

View File

@ -1,8 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel label="即時訊息" name="panel_group_notify">
<string name="message_max_lines_count" value="7"/>
<string name="subject_font" value="SANSSERIF_BIG"/>
<string name="date_font" value="SANSSERIF"/>
<panel label="表頭" name="header">
<text name="title" value="發件者名/群組名"/>
</panel>

View File

@ -1,12 +1,8 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel label="instant_message" name="panel_group_notify">
<string name="message_max_lines_count" value="7"/>
<string name="subject_font" value="SANSSERIF_BIG"/>
<string name="date_font" value="SANSSERIF"/>
<panel label="Überschrift" name="header">
<text name="title" value="Absender/Gruppenname"/>
</panel>
<text_editor name="message" value="Nachricht"/>
<text name="attachment" value="Anhang"/>
<text name="group_notice" value="Gruppenmitteilung"/>
<button label="OK" name="btn_ok"/>

View File

@ -52,7 +52,7 @@
name="group_icon"
top="50"
width="64" />
<text_editor
<simple_text_editor
parse_urls="true"
enabled="true"
follows="all"
@ -70,7 +70,7 @@
use_ellipses="true"
value="message"
word_wrap="true" >
</text_editor>
</simple_text_editor>
<icon
bottom="-36"
follows="left|bottom|right"

View File

@ -2,7 +2,6 @@
<panel label="instant_message" name="panel_group_notify">
<text name="group_notice" value="Aviso de grupo"/>
<text name="title" value="Enviado por Nombre del emisor / Nombre del grupo"/>
<text_editor name="message" value="mensaje"/>
<text name="attachment" value="Adjunción"/>
<button label="Aceptar" name="btn_ok"/>
<button label="Avisos del grupo" name="btn_notices"/>

View File

@ -56,7 +56,7 @@
name="group_icon"
top_pad="4"
width="64" />
<text_editor
<simple_text_editor
bg_readonly_color="Transparent"
border_visible="true"
parse_urls="true"

View File

@ -52,7 +52,7 @@
name="group_icon"
top="50"
width="64" />
<text_editor
<simple_text_editor
parse_urls="true"
enabled="true"
follows="all"
@ -70,7 +70,7 @@
use_ellipses="true"
value="message"
word_wrap="true" >
</text_editor>
</simple_text_editor>
<icon
bottom="-36"
follows="left|bottom|right"

View File

@ -2,7 +2,6 @@
<panel name="panel_group_notify">
<text name="group_notice" value="Aviso de grupo"/>
<text name="title" value="Enviado por Remitente, Grupo"/>
<text_editor name="message" value="Mensaje"/>
<text name="attachment" value="Adjunción"/>
<button label="Aceptar" name="btn_ok"/>
<button label="Avisos del grupo" name="btn_notices"/>

View File

@ -50,7 +50,7 @@
value="Sender Name / Group Name"
width="230" />
</panel>
<text_editor
<simple_text_editor
parse_urls="true"
enabled="true"
follows="all"
@ -68,7 +68,7 @@
value="message"
width="270"
word_wrap="true" >
</text_editor>
</simple_text_editor>
<icon
bottom="60"
follows="left|bottom|right"

View File

@ -50,7 +50,7 @@
value="Sender Name / Group Name"
width="230" />
</panel>
<text_editor
<simple_text_editor
parse_urls="true"
enabled="true"
follows="all"
@ -68,7 +68,7 @@
value="message"
width="270"
word_wrap="true" >
</text_editor>
</simple_text_editor>
<icon
bottom="60"
follows="left|bottom|right"

View File

@ -56,7 +56,7 @@
name="group_icon"
top_pad="2"
width="64" />
<text_editor
<simple_text_editor
bg_readonly_color="GroupNotifyTextBG"
border_visible="true"
parse_urls="true"

View File

@ -2,7 +2,6 @@
<panel name="panel_group_notify">
<text name="group_notice" value="Aviso de grupo"/>
<text name="title" value="Enviado por Remitente / Nombre de grupo"/>
<text_editor name="message" value="Mensaje"/>
<text name="attachment_label" value="Adjunto:"/>
<panel name="attachment_container">
<text name="attachment" value="Adjunción"/>

View File

@ -6,7 +6,6 @@
<text name="group_notice" value="グループ通知" />
<text name="title" value="送信者の名前 / グループ名" />
<icon name="group_icon" />
<text_editor name="message" value="メッセージ" />
<text name="attachment_label" value="添付:" />
<panel name="attachment_container">
<icon name="attachment_icon" />

View File

@ -19,6 +19,7 @@ FALSE=1
# <string>-DFMODEX:BOOL=ON</string>
# <string>-DOPENSIM:BOOL=ON</string>
# <string>-DUSE_AVX_OPTIMIZATION:BOOL=OFF</string>
# <string>-DUSE_AVX2_OPTIMIZATION:BOOL=OFF</string>
# <string>-DLL_TESTS:BOOL=OFF</string>
# <string>-DPACKAGE:BOOL=OFF></string>
@ -36,6 +37,7 @@ WANTS_FMODEX=$FALSE
WANTS_QUICKTIME=$FALSE
WANTS_OPENSIM=$TRUE
WANTS_AVX=$FALSE
WANTS_AVX2=$FALSE
WANTS_BUILD=$FALSE
PLATFORM="darwin" # darwin, win32, win64, linux32, linux64
BTYPE="Release"
@ -68,6 +70,7 @@ showUsage()
echo " --opensim : Build with OpenSim support (Disables Havok features)"
echo " --no-opensim : Build without OpenSim support (Overrides --opensim)"
echo " --avx : Build with Advanced Vector Extensions"
echo " --avx2 : Build with Advanced Vector Extensions 2"
echo " --platform : darwin | win32 | win64 | linux32 | linux64"
echo " --jobs <num> : Build with <num> jobs in parallel (Linux and Darwin only)"
echo
@ -79,7 +82,7 @@ getArgs()
# $* = the options passed in from main
{
if [ $# -gt 0 ]; then
while getoptex "clean build config version package no-package fmodex ninja jobs: platform: kdu quicktime opensim no-opensim avx help chan: btype:" "$@" ; do
while getoptex "clean build config version package no-package fmodex ninja jobs: platform: kdu quicktime opensim no-opensim avx avx2 help chan: btype:" "$@" ; do
#insure options are valid
if [ -z "$OPTOPT" ] ; then
@ -102,6 +105,7 @@ getArgs()
opensim) WANTS_OPENSIM=$TRUE;;
no-opensim) WANTS_OPENSIM=$FALSE;;
avx) WANTS_AVX=$TRUE;;
avx2) WANTS_AVX2=$TRUE;;
package) WANTS_PACKAGE=$TRUE;;
no-package) WANTS_PACKAGE=$FALSE;;
build) WANTS_BUILD=$TRUE;;
@ -278,6 +282,7 @@ echo -e " FMODEX: `b2a $WANTS_FMODEX`" | tee -a $LOG
echo -e " QUICKTIME: `b2a $WANTS_QUICKTIME`" | tee -a $LOG
echo -e " OPENSIM: `b2a $WANTS_OPENSIM`" | tee -a $LOG
echo -e " AVX: `b2a $WANTS_AVX` " | tee -a $LOG
echo -e " AVX2: `b2a $WANTS_AVX2` " | tee -a $LOG
echo -e " PACKAGE: `b2a $WANTS_PACKAGE`" | tee -a $LOG
echo -e " CLEAN: `b2a $WANTS_CLEAN`" | tee -a $LOG
echo -e " BUILD: `b2a $WANTS_BUILD`" | tee -a $LOG
@ -394,6 +399,11 @@ if [ $WANTS_CONFIG -eq $TRUE ] ; then
else
AVX_OPTIMIZATION="-DUSE_AVX_OPTIMIZATION:BOOL=OFF"
fi
if [ $WANTS_AVX2 -eq $TRUE ] ; then
AVX2_OPTIMIZATION="-DUSE_AVX2_OPTIMIZATION:BOOL=ON"
else
AVX2_OPTIMIZATION="-DUSE_AVX2_OPTIMIZATION:BOOL=OFF"
fi
if [ $WANTS_PACKAGE -eq $TRUE ] ; then
PACKAGE="-DPACKAGE:BOOL=ON"
# Also delete easy-to-copy resource files, insuring that we properly refresh resoures from the source tree
@ -449,7 +459,7 @@ if [ $WANTS_CONFIG -eq $TRUE ] ; then
UNATTENDED="-DUNATTENDED=ON"
fi
cmake -G "$TARGET" ../indra $CHANNEL $FMODEX $QUICKTIME $KDU $OPENSIM $AVX_OPTIMIZATION $PACKAGE $UNATTENDED -DLL_TESTS:BOOL=OFF -DWORD_SIZE:STRING=$WORD_SIZE -DCMAKE_BUILD_TYPE:STRING=$BTYPE \
cmake -G "$TARGET" ../indra $CHANNEL $FMODEX $QUICKTIME $KDU $OPENSIM $AVX_OPTIMIZATION $AVX2_OPTIMIZATION $PACKAGE $UNATTENDED -DLL_TESTS:BOOL=OFF -DWORD_SIZE:STRING=$WORD_SIZE -DCMAKE_BUILD_TYPE:STRING=$BTYPE \
-DNDTARGET_ARCH:STRING="${TARGET_ARCH}" -DROOT_PROJECT_NAME:STRING=Firestorm $LL_ARGS_PASSTHRU | tee $LOG
if [ $PLATFORM == "win32" ] ; then