Code Monkey home page Code Monkey logo

Comments (14)

asklar avatar asklar commented on August 14, 2024

CC @alloy @tudorms @Khalef1

from hermes-windows.

jonwis avatar jonwis commented on August 14, 2024

Is there a concise list of missing or nonfunctional APIs? @philnach has tooling to help analyze API requirements.

from hermes-windows.

Khalef1 avatar Khalef1 commented on August 14, 2024

@tudorms : Do you have a list to share with @jonwis ? Or is this still under investigation?

from hermes-windows.

tudorms avatar tudorms commented on August 14, 2024

I don't have an exhaustive list yet, but it's most of the functionality from Folly's portability layer that is not available on UWP: VirtualLock, VirtualAlloc, other Virtual*, CreateFileMapping, MapViewOfFileEx, etc.

from hermes-windows.

asklar avatar asklar commented on August 14, 2024

@jonwis I had also filed a bug on Folly for this but obviously Hermes on Windows is the only customer that cares about Folly working on UWP :) facebook/folly#1452

from hermes-windows.

jonwis avatar jonwis commented on August 14, 2024

If you can get me the list, please do - all of those you list are allowed in UWP. @mikebattista can help match up requirements against the WACK and/or SDK.

from hermes-windows.

tudorms avatar tudorms commented on August 14, 2024

The build fails with missing symbols for VirtualLock, etc. so if they are allowed perhaps we need to change something in how we build RNW; could it be that we need to link against the desktop vcruntime instead of vcruntime_app even in UWP builds?

Also, is that true for all SKUs like Xbox? I vaguely remember them having more stringent requirements.

from hermes-windows.

jonwis avatar jonwis commented on August 14, 2024

Can you point me at a solution or way to reproduce the build to collect the errors? Sorry, I'm an RNW/RN/Folly neophyte. Yes, those APIs - at least the ones you list - are supported on all Windows kernels including xbox, uwp, desktop, etc. Usually missing imports at link means you need to switch from using WindowsApp.lib to using ... something else.

Ideally you should be able to build the Folly DLL (or whatever) once and use it for packaged, unpackaged, UWP, and Win32 apps. It's not a standard Visual Studio config, though.

from hermes-windows.

tudorms avatar tudorms commented on August 14, 2024

We don't have a stand-alone solution for folly, it looks like so far we just cherry-picked bits of folly code in the RNW build (just enough to build what is needed for RN itself). In this branch for example I'm trying to bring in more folly dependencies (needed by Hermes debugger): https://github.com/tudorms/react-native-windows/commits/HermesDebug (but note that there are breaks there other than link failures, which come from our faked glog for example).

If you're interested in the overall problem of getting Folly to build in UWP, it might be interesting to try it in something like vcpkg (there is a folly portfile in vcpkg which doesn't build in uwp).

from hermes-windows.

tudorms avatar tudorms commented on August 14, 2024

We'll start looking at Folly / direct debugging later this month.

from hermes-windows.

Khalef1 avatar Khalef1 commented on August 14, 2024

@mganandraj - can you take a look at this one?

from hermes-windows.

asklar avatar asklar commented on August 14, 2024

I think this issue is not needed anymore, right? @tudorms @mganandraj @Khalef1 ?

from hermes-windows.

tudorms avatar tudorms commented on August 14, 2024

@mganandraj implemented a temporary solution where we compile RN code inside Hermes, but I think we need something more permanent (perhaps a replacement for folly::future and moving the inspector code out of RN entirely).

from hermes-windows.

mganandraj avatar mganandraj commented on August 14, 2024

Or work with folly team to make it UWP friendly.. they have codepaths which uses c++ coroutines instead of libevent backed fibers..

from hermes-windows.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.