Commit Graph

39 Commits

Author SHA1 Message Date
Dmitry Rekman
7fb45d090a Support more output devices on Linux.
- Partially based on PR #306 submission, corrected for cross-compiling.
- Each platform is now able to set up output devices for logging according to its own needs.

#codereview Josh.Adams, Michael.Trepka

[CL 2249193 by Dmitry Rekman in Main branch]
2014-08-08 21:42:14 -04:00
Robert Manuszewski
e6072fb050 UnrealBuildTool: Added UnrealHeaderTool version checking when checking if it's up to date.
#change UBT will check for API version of all UnrealHeaderTool binaries to detect partial syncs
#change Added BuildHostPlatform class for runtime platform abstraction

[CL 2245408 by Robert Manuszewski in Main branch]
2014-08-06 07:05:15 -04:00
Dmitry Rekman
edc8ff25f0 Support for Linux in shader compiler.
- Part of PR #306 by amigo and #ue4linux folks.
- Undoing my previous change with cross-compilation define (too dangerous).

#codereview Josh.Adams, Michael.Trepka

[CL 2243292 by Dmitry Rekman in Main branch]
2014-08-04 18:28:10 -04:00
Dmitry Rekman
b07f61eca2 UBT: preprocessor define for cross/native compilation.
- Applies to Linux only for now.

#codereview Josh.Adams, Michael.Trepka

[CL 2243186 by Dmitry Rekman in Main branch]
2014-08-04 18:27:46 -04:00
Peter Sauerbrei
dee247b733 remove HTML5 target platform dll from being built as part of the mac and linux editor builds for rocket
TTP342631
#ue4
#html5

[CL 2242372 by Peter Sauerbrei in Main branch]
2014-08-04 09:48:56 -04:00
Mike Fricker
80f6dc9362 UnrealBuildTool: Experimental fast C++ include dependency scanning
- Adds experimental super-fast C++ outdated file checking
- This feature is turned off for now as we continue to test and improve it
      - You can try it out by enabling "bUseExperimentalFastDependencyScan" option in your BuildConfiguration.xml
- Here is the basic idea:
     - We no longer exhaustively scan all includes and build up a big graph every invocation
     - Instead, source files whose build products are missing have their includes scanned asynchronously while being compiled
     - The flat list of dependent includes for every outdated C++ is saved into a new cache file ("FlatCPPIncludes.bin")
     - On the next run, we quickly load that up and "just know" which files to check timestamps on to determine what is out of date
- Lots of "@todo fastubt" comments were added to UnrealBuildTool for potential performance optimizations and further improvements on this feature.

UnrealBuildTool: Determination of which modules have UObjects is now faster
- We now cache which modules have UObjects and load those for the next session

UnrealBuildTool: Module "shared" precompiled header determination is now much faster
- We no longer scan all C++ includes for a module to figure out which "shared" PCH to use
- Instead, we use the module dependencies specified in the module's *.Build.cs file
- For example, if your module depends on "Engine" and "UnrealEd", we choose "UnrealEd"'s shared PCH

Other UBT optimizations:
- Reduced calls to string formatting functions when setting up API definitions for all modules
- Added new performance diagnostics when bPrintPerformanceInfo is enabled in BuildConfiguration.xml
- We no longer check for "external" headers when scanning includes (this code didn't work at all)
- Optimized CleanDirectorySeparators() utility function to avoid string copies

Fixed UnrealBuildTool not saving DependencyCache under a platform-named folder

[CL 2238266 by Mike Fricker in Main branch]
2014-07-31 09:34:11 -04:00
Marcus Wassmer
64eec3f77a Force all builders into a clean state for autosdks
[CL 2232443 by Marcus Wassmer in Main branch]
2014-07-25 21:56:32 -04:00
Dmitry Rekman
5a866a4e0d UBT: fix warning.
[CL 2230110 by Dmitry Rekman in Main branch]
2014-07-24 11:55:02 -04:00
Dmitry Rekman
ede1c1d619 Prefer AutoSDKs for Linux.
[CL 2230035 by Dmitry Rekman in Main branch]
2014-07-24 11:09:55 -04:00
Dmitry Rekman
e5f34239b9 Linux: fix building editor natively (in toolchain).
[CL 2228012 by Dmitry Rekman in Main branch]
2014-07-23 00:30:22 -04:00
Marcus Wassmer
460b2d20d1 Refactor AutoSDKs in preparation for doing doing AutoSDK setup for the editor.
[CL 2223660 by Marcus Wassmer in Main branch]
2014-07-18 14:21:02 -04:00
Dmitry Rekman
f870b2ac35 Linux: one more hardcoded rpath to a TPS lib.
[CL 2223045 by Dmitry Rekman in Main branch]
2014-07-17 23:57:18 -04:00
Dmitry Rekman
6b8046d3a5 Linux toolchain: replace slashes properly (also account for escaped ones).
[CL 2222564 by Dmitry Rekman in Main branch]
2014-07-17 15:50:19 -04:00
Dmitry Rekman
263bbe7e0c Support for modular builds (cross and native).
- Parts of PR #242 (with changes).

#codereview Josh.Adams

[CL 2222405 by Dmitry Rekman in Main branch]
2014-07-17 13:49:42 -04:00
Dmitry Rekman
9ee2c6bdbc Proper disabling of XGE (for UAT builds too).
#codereview Ben.Marsh

[CL 2220706 by Dmitry Rekman in Main branch]
2014-07-16 12:13:45 -04:00
Dmitry Rekman
4c9c00c820 Disable XGE until Xoreax fixes Incredibuild (TTP #341174, IT ticket 65919).
(Merging CL 2192236)

[CL 2192248 by Dmitry Rekman in Main branch]
2014-07-11 15:14:59 -04:00
Dmitry Rekman
677b1058f7 Linux: more rpath hardcoding.
[CL 2133988 by Dmitry Rekman in Main branch]
2014-07-03 23:40:45 -04:00
Dmitry Rekman
973a6f0561 Linux: dirty hack for modular builds.
[CL 2133987 by Dmitry Rekman in Main branch]
2014-07-03 23:30:39 -04:00
Dmitry Rekman
3895c57d53 Fix building of projects with space in the path name.
(Fixes 4.3 TTP #338978).

[CL 2131800 by Dmitry Rekman in Main branch]
2014-07-03 16:39:13 -04:00
Dmitry Rekman
07d6c58c67 Linux builds will now use APEX (TTP #331981).
#codereview Ori.Cohen, Josh.Adams

[CL 2118966 by Dmitry Rekman in Main branch]
2014-06-26 23:03:27 -04:00
Peter Sauerbrei
6ef7196656 Fix for Linux using an old variable for architecture
#ue4

[CL 2100885 by Peter Sauerbrei in Main branch]
2014-06-10 17:14:40 -04:00
Jaroslaw Palczynski
220c44b806 [GitHub] 132 : Introduce NativeBuildEnvironmentConfiguration
#github 132
#ttp 334942

[CL 2098971 by Jaroslaw Palczynski in Main branch]
2014-06-09 11:12:01 -04:00
Robert Manuszewski
283e939959 GitHub pull request #194: Full binary type. Removing hardcoded binary file extensions
[CL 2095675 by Robert Manuszewski in Main branch]
2014-06-05 12:11:58 -04:00
Dmitry Rekman
0e8aa3da49 Moving all Linux TPS binaries into architecture-specific folders.
- Linux now supports targeting different architecture, with architecture string matching standard target triplet, i.e. "x86_64-unknown-linux-gnu" for generic x86-64 Linux, the only supported platform at the moment.
- All Linux binaries (and other files for which this is important) are under subdirectory whose name matches the target triplet.
- UBT is modified so that architecture names aren't necessarily appended to binaries.

Also removed implicit dependency on libz in the toolchain and made it depend properly on our zlib module.

#codereview Josh.Adams, Daniel.Lamb, Michael.Trepka

[CL 2089848 by Dmitry Rekman in Main branch]
2014-05-30 13:28:40 -04:00
Dmitry Rekman
4411762b66 UBT: support different architectures (target triplets) in Linux toolchain.
[CL 2089710 by Dmitry Rekman in Main branch]
2014-05-30 10:58:16 -04:00