Commit Graph

23 Commits

Author SHA1 Message Date
James Moran
25259249ba Changed Emscripten setting read function to handle comments.
Also added more logging, changed autoSDK setup.bat to output helpful varibles into emscripten file.

#codereview Ankit.Khare

[CL 2308569 by James Moran in Main branch]
2014-09-24 13:56:28 -04:00
James Moran
417625cdd2 Fix for HTML5 packaging picking up the wrong version of python leading to path failures
[CL 2305633 by James Moran in Main branch]
2014-09-22 11:23:43 -04:00
Cody Haskell
55eb941909 Hey, we've never met before, but I have been told I'm build watcher today, so I was watching the build and saw this.
This was causing a warning on CIS. The warning was...

HTML5/HTML5ToolChain.cs(313,11): warning CS0219: The variable `BaseSDKPath' is assigned but its value is never used

It is a one line fix, and even though I am 99.999% this won't cause any problems, I don't have a great way to compile this, so I'm code reviewing you. :-)

#codereview Ankit.Khare

[CL 2298187 by Cody Haskell in Main branch]
2014-09-15 11:01:03 -04:00
Ankit Khare
2adf98093f Get ready for sdk upgrade. Remove linked in demangling code - newer sdks have this built in.
#HTML5

[CL 2295151 by Ankit Khare in Main branch]
2014-09-12 11:36:37 -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
Ankit Khare
ba44f71314 #UE4 #HTML5
#TTP 342902 CRITICAL: Regression: HTML5: Code templates fails to launch
    #TTP 342884 CRITICAL: Regression: HTML5: UFE: Fails to cook then gets a mac crash

        -fix up html template ( argument ordering )
        -don't use pak when packaging for html5
        -properly quote pathname with spaces on mac.
        -fix linking of plugins on first run of ubt.
   #codereview peter.sauerbrei

[CL 2241888 by Ankit Khare in Main branch]
2014-08-04 08:08: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
Daniel Lamb
ec66bcf4e6 Fix for pythonpath missing python exe name. TTP 342757.
#codereview Peter.Sauerbrie

[CL 2237605 by Daniel Lamb in Main branch]
2014-07-30 17:55:43 -04:00
Daniel Lamb
55fe953aa7 Fixed problem with python path having spaces in it if installed to program files.
#codereview Peter.Sauerbrei

[CL 2237428 by Daniel Lamb in Main branch]
2014-07-30 15:46:41 -04:00
Ankit Khare
7dcc3e1c64 #UBT
#TTP 342328 (HTML5: Packaging Blueprint projects fails)

   -  A compiler generated file was missing from the manifest, fixed
   -  clean up -  instead of calling static functions, call virtual function on tool chain, move platform specific code to derived tool chains.

#codereview peter.sauerbrei

[CL 2236049 by Ankit Khare in Main branch]
2014-07-29 13:38:03 -04:00
Peter Sauerbrei
cdd86a9f9e enable AutoSDKs for HTML5
#ue4
#html5

[CL 2223864 by Peter Sauerbrei in Main branch]
2014-07-18 16:29:08 -04:00
Ankit Khare
efb6d2b183 #UE4 #HTML5
Work around multiple emscripten SDL bugs. fullscreen events are now properly queued on browser fullscreen.

#codereview peter.sauerbrei

[CL 2213816 by Ankit Khare in Main branch]
2014-07-14 10:54:28 -04:00
Ankit Khare
9290d6a39e #UE #HTML5
- remove deprecated jcache, and mostly useless -g from the link step.
          - add -g2 to preserve  function names/ not miniify in development builds.

[CL 2182304 by Ankit Khare in Main branch]
2014-07-09 18:55:25 -04:00
Peter Sauerbrei
bd54d39cf3 fixed issue with path from PYTHON environment variable not adding python.exe
TTP339237
#ue4
#html5

[CL 2116739 by Peter Sauerbrei in Main branch]
2014-06-25 11:09:00 -04:00
Peter Sauerbrei
c46a6ac379 Add support for compiling for size instead of speed to Android, IOS, and HTML5
Fix for Android using an old variable for architecture
#ue4

[CL 2100883 by Peter Sauerbrei in Main branch]
2014-06-10 17:14:29 -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
Peter Sauerbrei
a1f5a9f843 remove some of the Tappy Chicken changes
#ue4
#html5

[CL 2082283 by Peter Sauerbrei in Main branch]
2014-05-22 15:29:53 -04:00
Peter Sauerbrei
446972d460 [INTEGRATE] Chage 2082198
final changes to make Tappy Chicken for HTML5
#ue4
#html5
#tappy chicken

[CL 2082256 by Peter Sauerbrei in Main branch]
2014-05-22 15:14:51 -04:00
Ankit Khare
e8dc86da8b #UE4: HTML5 Allow building and cooking for HTML5 platform on Mac.
- Install Emscripten SDK > 1.16
  - Setup system wide enviorment variable EMSCRIPTEN. (  http://stackoverflow.com/questions/135688/setting-environment-variables-in-os-x )
  - Build HTML5 using Build.sh from command line.

@todo : Figure out whether to support cooking if SDK is not installed on host platform.

[CL 2057945 by Ankit Khare in Main branch]
2014-04-28 14:10:06 -04:00
Ankit Khare
19a878bd81 #UE4 Platforms
#HTML5

   Integerate GDC Changes into main. tested w/ QAGame, Soul and the moz custom built firefox.

   - resizable HTML5 canvas.
   - fix mouse coordinates for html5
   - depth fade using alpha ( @todo - use real webgl depth  textures )
   - fix landscape rendering. ( bgra is not supported on webgl )
   - expose a console command handler to javascript.  ( used while reszing )
   - update html5 .html5 game template.

#codereview peter.sauerbrei

[CL 2039842 by Ankit Khare in Main branch]
2014-04-23 17:30:27 -04:00
UnrealBot
db494a6e69 Engine source (Main branch up to CL 2037954) 2014-04-02 18:09:23 -04:00
Tim Sweeney
324683ce78 Engine source (Main branch up to CL 2026164) 2014-03-14 14:13:41 -04:00