Commit Graph

53 Commits

Author SHA1 Message Date
Chris Babcock
6cddef60b8 Move WriteJavaBuildSettingsFile and add it to timestamp check so changing settings will rebuild APK
#ue4
#android
#codereview Josh.Adams,Robert.Jones

[CL 2322814 by Chris Babcock in Main branch]
2014-10-08 11:59:33 -04:00
Josh Adams
884c913919 - Removing ES31 Target Platform from being compiled - it won't work without the code to support it properly, which isn't quite there yet [ttp 347603]
#codereview niklas.smedberg

[CL 2314333 by Josh Adams in Main branch]
2014-09-30 11:38:37 -04:00
Chris Babcock
a6055866db Add dependency on PAK file for OBBinAPK case of MakeAPK
#ue4
#android
#codereview Josh.Adams

[CL 2307797 by Chris Babcock in Main branch]
2014-09-23 19:56:16 -04:00
Josh Adams
602ee28bdb - Fixed a problem with fat binary linking after the GPU architecture fat binary changes
#codereview niklas.smedberg

[CL 2304676 by Josh Adams in Main branch]
2014-09-19 19:46:02 -04:00
Josh Adams
f095eefe07 - Added Engine.ini as dependencies to .apk genertion checking
[CL 2303417 by Josh Adams in Main branch]
2014-09-18 20:35:18 -04:00
Niklas Smedberg
bb8f417304 Support for OpenGL ES 3.1 + Android Extension Pack
[CL 2303212 by Niklas Smedberg in Main branch]
2014-09-18 17:49:40 -04:00
Josh Adams
c9f6ea5a1e - Big iteration speedup for Android - don't remake the .apk if not needed!
#codereview michael.noland,chris.babcock

[CL 2303202 by Josh Adams in Main branch]
2014-09-18 17:44:42 -04:00
Ryan Gerleve
be1e151d19 Convert to Google Play Games C++ SDK
Fix TTP 344211 - Leaderboard read now works for Google Play

#codereview josh.adams

[CL 2302926 by Ryan Gerleve in Main branch]
2014-09-18 16:41:28 -04:00
Kellan Carr
a3fe746bbb build script, disable android xge again
[CL 2294133 by Kellan Carr in Main branch]
2014-09-11 16:25:06 -04:00
Kellan Carr
4cbbc45d20 build script, reenable xge for linux, android, and ps4
[CL 2293858 by Kellan Carr in Main branch]
2014-09-11 12:09:06 -04:00
Ori Cohen
167a797ef8 Add runtime physx cooking
[CL 2291345 by Ori Cohen in Main branch]
2014-09-09 16:30:29 -04:00
Josh Adams
093967cff1 - Fixed Android PCHs with "fat" binaries
[CL 2282074 by Josh Adams in Main branch]
2014-09-02 17:48:19 -04:00
Josh Adams
ddea2d2fe0 - Changed UBT to allow for multiple OutputPaths in a given UE binary (this is needed by Android to output multiple .so files per UBT run, for armv7, x86, etc)
#codereview ben.marsh

[CL 2281777 by Josh Adams in Main branch]
2014-09-02 14:26:49 -04:00
Josh Adams
23d72bff05 - Fixed another Android manifest issue
#codereview sangwoo.lee

[CL 2274395 by Josh Adams in Main branch]
2014-08-27 14:12:35 -04:00
JJ Hoesing
7fd5fb104e Initial Sunstone ThirdParty setup.
[CL 2273875 by JJ Hoesing in Main branch]
2014-08-27 03:22:56 -04:00
Josh Adams
6af83ba498 - Fixed the Android manifest generation
[CL 2272811 by Josh Adams in Main branch]
2014-08-26 16:05:32 -04:00
Josh Adams
71e5bd4917 - Fixed apk naming issue
[CL 2272315 by Josh Adams in Main branch]
2014-08-26 14:02:30 -04:00
Josh Adams
d67a3a64a5 - Initial "Fat" binary support for Android - multiple architectures at once, by compiling multiple .so's in one go of UBT (will be controlled by Project Settings, intentionally hidden for now)
- Added option to allow for splitting up into multiple .apks, or a single "fat" .apk (also not exposed yet in the project settings)
- A fat binary is just named <Project>.apk, no longer <Project>-armv7.apk
- x86 almost works, except missing libCurl and ICU
- x64 and arm64 will come next now that this framework is in place
#codereview chris.babcock

[CL 2272105 by Josh Adams in Main branch]
2014-08-26 09:56:29 -04:00
Ben Marsh
bcd8c2c8a6 Remove code path from UBT which generates an XML build environment. APIDocTool now scrapes build environment from XGE export instead.
#codereview Mike.Fricker

[CL 2267338 by Ben Marsh in Main branch]
2014-08-22 09:03:54 -04:00
Chris Babcock
c410d88a7c Add libgnustl_shared.so to APK during packaging (not on all Android devices)
#Android
#codereview Josh.Adams,Daniel.Lamb

[CL 2255377 by Chris Babcock in Main branch]
2014-08-13 18:50:10 -04:00
Mike Fricker
0031e06f21 Experimental UnrealBuildTool makefile support
UnrealBuildTool 'Makefiles' allow for very fast iterative builds.
    - New BuildConfiguration.xml setting added: "bUseExperimentalFastBuildIteration"   (disabled by default)
    - Turning this on causes Unreal Build Tool to emit 'UBT Makefiles' for targets when they're built the first time.
    - Subsequent builds will load these Makefiles and begin outdatedness checking and build invocation very quickly.
    - The caveat is that if source files are added or removed to the project, UBT will need to gather information about those in order for your build to complete successfully.
    - Currently, you must run the project file generator after adding/removing source files to tell UBT to re-gather this information.
    - Events that can invalidate the 'UBT Makefile':
           - Adding/removing .cpp files
           - Adding/removing .h files with UObjects
           - Adding new UObject types to a file that didn't previously have any
           - Changing global build settings (most settings in this file qualify.)
           - Changed code that affects how Unreal Header Tool works
    - You can force regeneration of the 'UBT Makefile' by passing the '-Gather' argument, or simply regenerating project files
    - New command-line parameters added:
           - "-Gather": Tells UBT to always perform the gather step (slower but will catch project structural changes)
           - "-NoGather": Disables the gather step, unless UBT detects that it must be done.  This is the default when bUseExperimentalFastBuildIteration is enabled
           - "-GatherOnly": Runs the gather step and saves a UBTMakefile, but doesn't build anything
           - "-Assemble": Tells UBT to also assemble build products.  This always defaults to enabled
           - "-NoAssemble": Tells UBT to skip the assemble step, whether we gathered build products or not
           - "-AssembleOnly": Tells UBT to only assemble build products and not to gather, unless UBT determines it must

Other changes:
- UBT now keeps track of which targets it was building in an intermediate file, to help it invalidate cached includes in subsequent runs when the targets are different
- C++ includes are now stored in a class separate from the C++ compile enviroment (for easier serialization)
- The method that UBT uses to find the CoreUObject module timestamp was rewritten
- Various '@todo ubtmake' comments added to tag possible remaining Makefile tasks
- The 'FileItem' class had some member variable comments and code cleaned up, while making it serializable
- Cleaned up the comments and member variables in the "Action" class, while making it serializable
- Some UBT classes are now "serializable".  This is because we need to store the data in UBTMakefiles.
- Removed support for Actions to tinker with Stdout and Stderror (was not used for anything)
- Moved PrecompileHeaderEnvironment class to the UEBuildModule.cs source file
- Plugin intermediate include directories are now selected on demand rather than cached early
- Toolchain code for gathering prerequisite headers is now shared in a single function (AddPrerequisiteSourceFile)
- Removed Action.StatusDetailedDescription, was not used for anything
- Removed UEBuildConfiguration.bExcludePlugins, was not used for anything
- Removed ECompilationResult.FailedDueToHeaderChange, was not used for anything

[CL 2254472 by Mike Fricker in Main branch]
2014-08-13 08:17:43 -04:00
Saul Abreu
b2d1d99b66 Enabled ICU on Android. Added necessary building information for ICU module on Android. Corrected unspecified Android native string encoding. Added staging/deploying of ICU data on Android. UE4 on Android now uses the GNUSTL_Shared shared object as the C++ runtime.
[CL 2251976 by Saul Abreu in Main branch]
2014-08-11 17:27:11 -04:00
Ben Marsh
ee7082473f Revert change to the way that ndk_build is called.
[CL 2242314 by Ben Marsh in Main branch]
2014-08-04 08:53:45 -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
Ben Marsh
ed24db2ee1 Pipe the output from Android ndk-build and ant-build to the log, so it's possible to see error messages when they fail.
#codereview Chris.Babcock, Josh.Adams

[CL 2237619 by Ben Marsh in Main branch]
2014-07-30 18:05:40 -04:00