Core icon indicating copy to clipboard operation
Core copied to clipboard

Switching over to HikariCore

Open woachk opened this issue 6 years ago • 6 comments

Before switching over to https://github.com/HikariRebooted/HikariCore and pushing it as a part of the HikariObfuscator organisation, this repository should perhaps be renamed.

woachk avatar Apr 10 '20 18:04 woachk

What do you mean though? Imma a bit confused. Current master of this repo already contains extra fixed unless you've manually ported them to Rebooted

Naville avatar Apr 11 '20 04:04 Naville

Since technically this is still de facto Core with latest bug fixes and patches, IMO we should probably still treat it as one. Your fork could be integrated as a new sub-repo and use git submodule to reference stuffs in the real Core

Naville avatar Apr 11 '20 04:04 Naville

For now the roadmap would be, IMHO:

  • Update Reboot/Core with submodules referencing master
  • Update master 's CMake with options deciding if we should use our shipped legacy LLVM passes or built-in ones.
  • Transfer Reboot to this organization.

These should do for LLVM9 while we are at it, the next step would be getting rid of the legacy pass, which involves fixing a bit known bugs here and there in the master

Naville avatar Apr 11 '20 04:04 Naville

Hello, I manually ported over the fixes yesterday.

Reboot/HikariCore is not exactly the same source tree either because of compatibility concerns with newer LLVM.

woachk avatar Apr 11 '20 10:04 woachk

@woachk Unless I'm misunderstanding here, probably 99% of the stuff in src/Passes is still the same as master. So what I mean here is change that directory to submodule and in Core's CMakeLists.txt, add something like:

option(BUILD_GENERIC_LOADER "Build Generic AppleClang Loader" OFF)
IF(BUILD_GENERIC_LOADER)
    add_compile_definitions(-DHIKARI_GENERIC_LOADER)
ENDIF()

and then update the master core into something like:

#ifdef HIKARI_GENERIC_LOADER
dosth()
#else
dosthelse()
#endif

This in theory allows us to spend the minimum effort on manually porting fixes while keep everything tidy, IMHO

Naville avatar Apr 14 '20 02:04 Naville

Although I'm open to suggestions with a more detailed guide on what needs to be done on my side

Naville avatar Apr 14 '20 03:04 Naville