Commit Graph

92 Commits (f729cfc33f258781c5fd85a3d8773bf6149d12db)

Author SHA1 Message Date
Bennett Goble f729cfc33f SL-15742: Convert build scripts to Python 3
This changeset makes it possible to build the Second Life viewer using
Python 3. It is designed to be used with an equivalent Autobuild branch
so that a developer can compile without needing Python 2 on their
machine.

Breaking change: Python 2 support ending

Rather than supporting two versions of Python, including one that was
discontinued at the beginning of the year, this branch focuses on
pouring future effort into Python 3 only. As a result, scripts do not
need to be backwards compatible. This means that build environments,
be they on personal computers and on build agents, need to have a
compatible interpreter.

Notes

- SLVersionChecker will still use Python 2 on macOS
- Fixed the message template url used by template_verifier.py
2021-12-10 14:42:49 -08:00
Oz Linden e409c0492f convert to an explicit USE_BUGSPLAT switch in cmake, revise LL_ERRS approach 2019-03-02 11:58:11 -05:00
Nat Goodspeed c0b13466f1 DRTVWR-476: Add Stack Overflow link for Brad's Xcode 11 signing fix. 2019-09-25 16:46:49 -04:00
Brad Kittenbrink 5d671ff210 Disabled broken automatic code signing for local development when using Xcode 11 2019-09-25 12:53:38 -07:00
Nat Goodspeed 3f7c75b8a0 SL-957: Explicitly pass VIEWER_SYMBOL_FILE from build.sh into CMake
instead of relying on both indra/newview/CMakeLists.txt and build.sh
generating the same file pathname.

Make build.sh set VIEWER_SYMBOL_FILE (instead of symbolfile) in pre_build, and
pass it to autobuild configure via -D switch. Then the uploads stanza can just
use VIEWER_SYMBOL_FILE instead of performing its platform-sensitive case
statement right there.

Introduce VIEWER_SYMBOL_FILE CMake cache variable, default empty string.

Make indra/newview/CMakeLists.txt generate_breakpad_symbols logic conditional
on VIEWER_SYMBOL_FILE being non-empty, as well as everything else. Eliminate
local set(VIEWER_SYMBOL_FILE) directives.
2018-08-27 13:55:50 -04:00
Nat Goodspeed c2178bb6ac DRTVWR-447: Introduce explicit CMake BUGSPLAT_DB variable.
Define the CMake cache variable, with empty string as its default.

Make build.sh pass the BUGSPLAT_DB environment variable as a CMake
command-line variable assignment.

Change CMake 'if (DEFINED ENV{BUGSPLAT_DB})' to plain 'if (BUGSPLAT_DB)'.

Make CMake pass new --bugsplat switch to every one of SIX different
invocations of viewer_manifest.py.

Give llmanifest.main() function an argument to allow supplementing the base
set of command-line switches with additional application-specific switches.

In viewer_manifest.py, define new --bugsplat command-line switch and pass to
llmanifest.main(). Instead of consulting os.environ['BUGSPLAT_DB'], consult
self.args['bugsplat'].
2018-08-24 09:56:56 -04:00
Oz Linden d2fa5a53e8 remove unused UNATTENDED cmake variable that generates warnings 2018-05-30 13:14:43 -04:00
Nat Goodspeed eae144219c DRTVWR-418: Another attempt to generate Mac debug symbols.
The viewer's 00-COMPILE-LINK-RUN.txt recommends passing -gdwarf-2 to the Mac
compiler, and so we've been doing ever since before the viewer-build-variables
repo was engaged. Now we discover that when CMake sees -gdwarf-2, it removes
the -g switch entirely. It also removes it when you pass plain -g. Only when
you pass -gdwarf-with-dsym or just -gdwarf does CMake pass plain -g to the
compiler. Change -gdwarf-2, if specified, to -gdwarf so we at least get -g.
2017-09-19 15:35:08 -04:00
Nat Goodspeed eff6bbea59 DRTVWR-418: Emit less confusing error message when LL_BUILD not set.
When LL_BUILD is not in the environment at autobuild configure time, important
macros such as LL_WINDOWS aren't set. That means that platform-dependent
macros such as LL_TYPEOF() aren't defined, which can produce obscure errors
like this:

indra\llcommon\llunittype.h(51): error C2226: syntax error :
unexpected type 'S' (packages\llphysicsextensions\stub\LLPhysicsExtensionsStubImpl.cpp)
10>          indra\llcommon\llunittype.h(52) :
see reference to class template instantiation 'LLResultTypeAdd<S,T>' being compiled

Make the CMake logic fail with a more readily-understood error in that case.
2016-12-22 16:12:21 -05:00
Nat Goodspeed 3b34cfd93a DRTVWR-418: Derive certain CMAKE_XCODE_etc. vars from LL_BUILD. 2016-12-14 09:12:33 -05:00
Nat Goodspeed 45a32ed14d DRTVWR-418: Align minimum OS X version with viewer-build-variables. 2016-12-12 11:50:25 -05:00
Nat Goodspeed 8b61d4f277 DRTVWR-418: Change to libc++ on Mac, remove reminder warning. 2016-11-19 08:51:29 -05:00
Nat Goodspeed c5770cd1af DRTVWR-418: Add warning about changing to libc++ on Mac. 2016-11-17 08:57:11 -05:00
Nat Goodspeed bc7d8d3a94 DRTVWR-418: Try to make the OSX architecture match computed ARCH
which in turn depends on ADDRESS_SIZE.
2016-11-16 16:06:32 -05:00
Nat Goodspeed 8c061ab184 DRTVWR-418: Compute ADDRESS_SIZE from arch if not specified.
Migrate the logic formerly used only for LINUX to detect whether ADDRESS_SIZE
is set to 32 or 64, and if not, detect a default for the platform. But instead
of using uname -m, use python's platform.machine().

On Windows, stop forcing ARCH to i686 and ADDRESS_SIZE to 32.

On Mac, reset default to x86_64 instead of i386; stop forcing ADDRESS_SIZE to
32.
2016-11-16 15:27:36 -05:00
Nat Goodspeed 6c7a972861 DRTVWR-418: Fold windows64 into windows platform with new autobuild.
autobuild 1.1 now supports expanding $variables within a config file --
support that was explicitly added to address this very problem. So now the
windows platform in autobuild.xml uses $AUTOBUILD_ADDRSIZE,
$AUTOBUILD_WIN_VSPLATFORM and $AUTOBUILD_WIN_CMAKE_GEN, which should handle
most of the deltas between the windows platform and windows64.

This permits removing the windows64 platform definition from autobuild.xml.

The one remaining delta between the windows64 and windows platform definitions
was -DLL_64BIT_BUILD=TRUE. But we can handle that instead by checking
ADDRESS_SIZE. Change all existing references to WORD_SIZE to ADDRESS_SIZE
instead, and set ADDRESS_SIZE to $AUTOBUILD_ADDRSIZE. Change the one existing
LL_64BIT_BUILD reference to test (ADDRESS_SIZE EQUAL 64) instead.
2016-11-15 15:53:24 -05:00
Oz Linden bc22e58743 merge changes for 4.0.1-release 2016-01-15 16:55:04 -05:00
Oz Linden c8726aba30 remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
callum_linden 6765d66637 Merge with viewer-xcode-7 for Xcode 7 patches 2015-09-29 13:35:41 -07:00
callum_linden 5ec6d2cfd4 Update version of Xcode (7.0) and SDKs (10.11) 2015-09-18 13:26:16 -07:00
callum_linden 80aa29eaec Merge with Viewer Release (after Viewer Release updated with Viewer Tools Update) 2015-05-18 12:00:36 -07:00
Cinder 56a7c4af97 BUG-8786 - Turn off fast math opts enforcing IEEE 754 floating point compliance 2015-03-24 12:17:07 -06:00
callum_linden ab9e830306 Refer to new QuickTime third party package with fixes for VS2013 & re-add QuickTime media plugin 2015-03-24 00:42:42 +01:00
callum_linden 71c70117dd Add feature (enabled) to turn off media plugins 2014-12-15 10:10:18 -08:00
callum_linden 5234730779 Update to build on Xcode 6.0: Remove concept of XCODE_VERSION from CMake files - we standardize on Xcode 6 2014-10-20 15:04:45 -07:00
callum_linden 512b166d54 Update to build on Xcode 6.0: first pass at CMake changes to get a build started 2014-10-17 11:44:45 -07:00
Oz Linden 776aadf4ef OPEN-199: replace the confusing STANDALONE switch with USESYSTEMLIBS 2014-03-19 17:30:07 -04:00
Geenz 72159fd03e The viewer now requires the 10.7 SDK or above to compile. 2013-06-17 18:18:37 -04:00
Geenz 3779e51bfc Merged with https://bitbucket.org/lindenlab/viewer-beta 2013-05-13 22:22:51 -04:00
Oz Linden 3bb708d706 merge up to latest viewer-development for merge to 3.5.2 2013-04-19 14:42:56 -04:00
Oz Linden ddd5659f81 merge changes for DRTVWR-294 2013-04-19 10:11:29 -04:00
Oz Linden 327c99cadb merge up to 3.5.2 development 2013-04-16 16:01:32 -04:00
Graham Madarasz bf6182daa8 Update Mac and Windows breakpad builds to latest 2013-03-29 07:50:08 -07:00
Graham Madarasz (Graham Linden) 98e02a5d76 Merge new boost and add OS X 10.8 mods 2013-02-22 09:49:58 -08:00
Don Kjer e1af26eaa2 Disabling build of headless appearance utility 2012-12-20 21:39:33 +00:00
Oz Linden 5ea68c69a4 convert to new channel name scheme and remove login_channel build time parameter 2013-02-12 10:50:47 -05:00
Oz Linden d7e90f4160 derive version number from indra/VIEWER_VERSION.txt 2013-02-07 11:56:57 -05:00
Don Kjer 27933214f4 Switching to system osmesa library instead of pre-packaged library 2012-10-24 18:19:22 +00:00
Don Kjer 98e2488f6f Fix for headless appearance utility not linking correctly 2012-10-17 23:11:40 +00:00
Don Kjer cc5f8686fe Speeding up cmake configuration, especially on linux. Re-arranged llrender/llwindow cmake source a bit 2012-10-15 17:36:51 +00:00
Don Kjer e60491fc69 Adding multi-arch hints to CMake, allowing it to correctly find libraries on multi-arch debian-based systems. 2012-10-11 20:10:11 +00:00
Don Kjer 8977224883 Limiting headless builds to linux 2012-10-04 08:27:13 +00:00
Don Kjer 21df924a10 Building headless and non-headless libraries side-by-side, removing the need for the BAKING cmake setting. 2012-10-04 06:29:07 +00:00
Don Kjer c9ab9590aa Removing server-related cmake cruft. Fixing libGLU warnings on linux. 2012-10-04 03:12:48 +00:00
callum_linden 848ed9cb2f Fix up white space to follow coding policy guidelines 2012-08-22 12:58:08 -07:00
Aura Linden 3e05f169d6 Minor change required for merge from viewer-development 2012-08-17 09:04:16 -07:00
Aura Linden 3e9c9993e3 More optional config for 10.5 builds 2012-08-08 11:28:19 -07:00
callum_linden 78854c9baa Fix to build with code signing option (patch from STORM-1900) 2012-07-25 16:42:37 -07:00
Aura Linden 629ae69793 Make build dependent on version of xcode, not version of OSX for DARWIN 2012-07-23 13:09:26 -07:00
Aura Linden 5624f03b9c Changed CMake to work for older and newer versions of OSX 2012-07-23 12:34:02 -07:00