Move libreact_cxxreactpackage.so to INTERFACE library (#43930)

Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/43930

We don't need `libreact_cxxreactpackage.so` as there is nothing to load. I'm moving this to be an INTERFACE library as there is only a Header file now to load.
Move libreact_cxxreactpackage.so to INTERFACE library

Changelog:
[Internal] [Changed] - Move libreact_cxxreactpackage.so to INTERFACE library

Reviewed By: javache

Differential Revision: D55805573

fbshipit-source-id: 9ef99c430c19250439b8ace5d26b0984a8fb759e
This commit is contained in:
Nicola Corti
2024-04-05 12:19:22 -07:00
committed by Facebook GitHub Bot
parent d45b843398
commit 2f46e1ac72
5 changed files with 9 additions and 39 deletions
@@ -98,8 +98,6 @@ val preparePrefab by
"react/renderer/componentregistry/")),
PrefabPreprocessingEntry(
"react_newarchdefaults", Pair("src/main/jni/react/newarchdefaults", "")),
PrefabPreprocessingEntry(
"react_cxxreactpackage", Pair("src/main/jni/react/runtime/cxxreactpackage", "")),
PrefabPreprocessingEntry(
"react_render_animations",
Pair("../ReactCommon/react/renderer/animations/", "react/renderer/animations/")),
@@ -215,6 +213,8 @@ val preparePrefab by
Pair("../ReactCommon/react/debug/", "react/debug/"),
Pair("../ReactCommon/react/utils/", "react/utils/"),
Pair("src/main/jni/react/jni", "react/jni/"),
// From: react_cxxreactpackage
Pair("src/main/jni/react/runtime/cxxreactpackage", ""),
)),
PrefabPreprocessingEntry(
"react_utils",
@@ -560,7 +560,6 @@ android {
"react_utils",
"react_render_componentregistry",
"react_newarchdefaults",
"react_cxxreactpackage",
"react_render_animations",
"react_render_core",
"react_render_consistency",
@@ -682,9 +681,6 @@ android {
create("react_newarchdefaults") {
headers = File(prefabHeadersDir, "react_newarchdefaults").absolutePath
}
create("react_cxxreactpackage") {
headers = File(prefabHeadersDir, "react_cxxreactpackage").absolutePath
}
create("react_render_animations") {
headers = File(prefabHeadersDir, "react_render_animations").absolutePath
}
@@ -70,7 +70,6 @@ add_library(react_debug ALIAS ReactAndroid::react_debug)
add_library(react_utils ALIAS ReactAndroid::react_utils)
add_library(react_render_componentregistry ALIAS ReactAndroid::react_render_componentregistry)
add_library(react_newarchdefaults ALIAS ReactAndroid::react_newarchdefaults)
add_library(react_cxxreactpackage ALIAS ReactAndroid::react_cxxreactpackage)
add_library(react_render_core ALIAS ReactAndroid::react_render_core)
add_library(react_render_graphics ALIAS ReactAndroid::react_render_graphics)
add_library(rrc_view ALIAS ReactAndroid::rrc_view)
@@ -102,7 +101,6 @@ target_link_libraries(${CMAKE_PROJECT_NAME}
react_utils # prefab ready
react_nativemodule_core # prefab ready
react_newarchdefaults # prefab ready
react_cxxreactpackage # prefab ready
react_render_componentregistry # prefab ready
react_render_core # prefab ready
react_render_debug # prefab ready
@@ -11,21 +11,10 @@ package com.facebook.react.runtime.cxxreactpackage
import com.facebook.jni.HybridData
import com.facebook.proguard.annotations.DoNotStrip
import com.facebook.react.common.annotations.UnstableReactNativeAPI
import com.facebook.soloader.SoLoader
/** CxxReactPackage is used to register C++ Turbo Modules with React Native. */
@UnstableReactNativeAPI()
public abstract class CxxReactPackage {
@UnstableReactNativeAPI
public abstract class CxxReactPackage protected constructor(hybridData: HybridData?) {
@DoNotStrip @Suppress("NoHungarianNotation") private var mHybridData: HybridData?
protected constructor(hybridData: HybridData?) {
mHybridData = hybridData
}
private companion object {
init {
SoLoader.loadLibrary("react_cxxreactpackage")
}
}
@DoNotStrip @Suppress("NoHungarianNotation") private var mHybridData: HybridData? = hybridData
}
@@ -14,16 +14,17 @@ add_compile_options(
#########################
### cxxreactpackage ###
### cxxreactpackage ###
#########################
add_library(react_cxxreactpackage SHARED ReactCommon/OnLoad.cpp)
add_library(react_cxxreactpackage INTERFACE)
target_include_directories(react_cxxreactpackage
PUBLIC
INTERFACE
${CMAKE_CURRENT_SOURCE_DIR}
)
target_link_libraries(react_cxxreactpackage
INTERFACE
fb
fbjni)
@@ -1,14 +0,0 @@
/*
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
#include <fbjni/fbjni.h>
#include "CxxReactPackage.h"
JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM* vm, void*) {
return facebook::jni::initialize(vm, [] {});
}