Commit Graph

26 Commits

Author SHA1 Message Date
Ankit Khare
060ff917ef fix incorrect html5 sdk discovery in tool chain.cs
[CL 2353750 by Ankit Khare in Main branch]
2014-11-07 18:06:06 -05:00
Ankit Khare
55d2e28ba4 Allow html sdk path to be set using ini file.
- takes preference over EMSCRIPTEN env variable
   - editor can now detect sdk on yosemite.
   - refactor and simplyfy emscripten sdk access in .cs files.

#corereview james.moran

[CL 2345958 by Ankit Khare in Main branch]
2014-10-31 04:31:19 -04:00
James Moran
0391f97b3e HTML5 crash handling & stack walking
#codereview Jaroslaw.Surowiec

[CL 2331318 by James Moran in Main branch]
2014-10-16 04:51:33 -04:00
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