Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Initial arm64 #2507

Closed
wants to merge 6 commits into from
Closed

Conversation

manbearian
Copy link

@manbearian manbearian commented Feb 3, 2020

Initial ARM64 Work

Right now this is more of a proof-of-concept then anything else for #2346.

With these changes, after manually running the vcpkg_install script to install ARM64 packages, building the git.sln for ARM64 "just works", though much work remains before it is fully functional. The good news is that when i copied the built binaries onto my ARM64 device i can see some basic functionality working (i.e. the logo and help message). I then dropped the binary into a folder layout matching an installed version and things got a bit better: git checkout works (as long as no new files are needed), git init works, git --help and git --version work, and a few other things as well. Most things (e.g. checkout a file) do not work yet.

Summary of Changes

  • project/sln changes (through perl script)
    • upgrade project to more recent VS (required to get ARM64 compilers, i picked latest, v142).
    • add ARM64 build configurations to projects/solution
    • added an item to the vcxprojs for VCPKGArch to be set correctly for ARM64
  • source changes
    • update compat/bswap.h
  • vcpkg changes
    • update compat/vcbuild/vcpg_install.bat to install both x64 and ARM64 packages

@manbearian manbearian marked this pull request as ready for review February 3, 2020 18:23
Copy link
Member

@dscho dscho left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great work!

I left a couple suggestions. In addition, I think that at least some of the later commits should be squashed into earlier commits, e.g. the one that fixes the escaping of the dollar sign could be squashed into the one that introduces said dollar sign.

What do you think?

goto :EOF

:curl_features
set features=[core,openssl]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would it work if we used [core,openssl,schannel] here?

@@ -139,7 +148,7 @@ sub createProject {
</PropertyGroup>
<PropertyGroup>
<ConfigurationType>$config_type</ConfigurationType>
<PlatformToolset>v140</PlatformToolset>
<PlatformToolset>v142</PlatformToolset>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could we keep v140 here to keep things working with VS 2015? Upon loading the solution in Visual Studio, the user is asked whether they want to retarget anyway, and even MSBuild can override this via /p:PlatformToolset=v142.

@git-for-windows-ci git-for-windows-ci changed the base branch from master to main June 17, 2020 18:10
@dennisameling
Copy link

@manbearian Do you need help with this? I'm also happy to take your PR as a base and build further on that (while keeping in your original commits, of course). Curious to see what's needed to get a minimal build that can be used e.g. by dugite-native.

@manbearian
Copy link
Author

@dennisameling , thanks for offering to take a look. Please see if you can salvage my work on this. My priorities got spun around this year and its unlikely i will get an opportunity to pick this up again. I'm happy to help with any specific questions you might have on the work i did.

@dscho
Copy link
Member

dscho commented Dec 4, 2020

Shall we close this PR in favor of #2915?

@dscho dscho closed this Dec 8, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants