export declare const PCH_CMAKE_CONTENTS = "cmake_minimum_required(VERSION 3.16)\n\nproject(appmodules)\n\ninclude(${REACT_ANDROID_DIR}/cmake-utils/ReactNative-application.cmake)\n\nset(PCH_HEADER \"${CMAKE_CURRENT_SOURCE_DIR}/pch.h\")\n\nfunction(add_pch_if_eligible target)\n if (NOT TARGET ${target})\n return()\n endif ()\n\n get_target_property(is_imported ${target} IMPORTED)\n if (is_imported)\n return()\n endif ()\n\n get_target_property(target_type ${target} TYPE)\n if (target_type STREQUAL \"INTERFACE_LIBRARY\")\n return()\n endif ()\n\n target_precompile_headers(${target} PRIVATE\n \"$<$:${PCH_HEADER}>\"\n )\nendfunction()\n\nif (DEFINED AUTOLINKED_LIBRARIES)\n foreach (lib IN LISTS AUTOLINKED_LIBRARIES)\n add_pch_if_eligible(${lib})\n endforeach ()\nendif ()\n"; export declare const PCH_ONLOAD_CONTENTS = "/*\n * Based on https://github.com/facebook/react-native/blob/main/packages/react-native/ReactAndroid/cmake-utils/default-app-setup/OnLoad.cpp\n */\n\n#include \n#include \n#include \n#include \n#include \n#include \n\n#ifdef REACT_NATIVE_APP_CODEGEN_HEADER\n#include REACT_NATIVE_APP_CODEGEN_HEADER\n#endif\n#ifdef REACT_NATIVE_APP_COMPONENT_DESCRIPTORS_HEADER\n#include REACT_NATIVE_APP_COMPONENT_DESCRIPTORS_HEADER\n#endif\n\nnamespace facebook::react {\n\nvoid registerComponents(\n std::shared_ptr registry) {\n#ifdef REACT_NATIVE_APP_COMPONENT_REGISTRATION\n REACT_NATIVE_APP_COMPONENT_REGISTRATION(registry);\n#endif\n\n autolinking_registerProviders(registry);\n}\n\nstd::shared_ptr cxxModuleProvider(\n const std::string& name,\n const std::shared_ptr& jsInvoker) {\n return autolinking_cxxModuleProvider(name, jsInvoker);\n\n return nullptr;\n}\n\nstd::shared_ptr javaModuleProvider(\n const std::string& name,\n const JavaTurboModule::InitParams& params) {\n#ifdef REACT_NATIVE_APP_MODULE_PROVIDER\n auto module = REACT_NATIVE_APP_MODULE_PROVIDER(name, params);\n if (module != nullptr) {\n return module;\n }\n#endif\n\n if (auto module = FBReactNativeSpec_ModuleProvider(name, params)) {\n return module;\n }\n\n if (auto module = autolinking_ModuleProvider(name, params)) {\n return module;\n }\n\n return nullptr;\n}\n\n} // namespace facebook::react\n\nJNIEXPORT jint JNICALL JNI_OnLoad(JavaVM* vm, void*) {\n return facebook::jni::initialize(vm, [] {\n facebook::react::DefaultTurboModuleManagerDelegate::cxxModuleProvider =\n &facebook::react::cxxModuleProvider;\n facebook::react::DefaultTurboModuleManagerDelegate::javaModuleProvider =\n &facebook::react::javaModuleProvider;\n facebook::react::DefaultComponentsRegistry::\n registerComponentDescriptorsFromEntryPoint =\n &facebook::react::registerComponents;\n });\n}\n"; export declare const PCH_HEADER_CONTENTS = "#pragma once\n\n// RN core headers used across autolinked codegen modules\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n"; export declare const STUB_PCH_GRADLE_TASK = "def cxxDir = project.file(\".cxx\")\ndef generateStubPCHTask = tasks.register(\"generateStubPCH\") {\n dependsOn(\"configureCMakeDebug\")\n\n doLast {\n if (!cxxDir.exists()) {\n return\n }\n\n cxxDir.eachFileRecurse { file ->\n if (file.name != \"compile_commands.json\") {\n return\n }\n\n new groovy.json.JsonSlurper().parseText(file.text).each { entry ->\n if (!entry.file.endsWith(\"cmake_pch.hxx.cxx\")) {\n return\n }\n\n def pchFile = new File(entry.file.substring(0, entry.file.length() - \".cxx\".length()) + \".pch\")\n\n if (!pchFile.exists() || pchFile.length() == 0) {\n pchFile.parentFile.mkdirs()\n\n def compiler = entry.command.split(\" \")[0]\n def target = (entry.command =~ /--target=\\S+/)[0]\n def sysroot = (entry.command =~ /--sysroot=\\S+/)[0]\n\n def stubHeader = new File(pchFile.parentFile, \"stub_pch.hxx\")\n stubHeader.text = \"\"\n\n def process = new ProcessBuilder(\n compiler,\n target,\n sysroot,\n \"-x\", \"c++-header\",\n \"-o\", pchFile.absolutePath,\n stubHeader.absolutePath\n )\n .directory(new File(entry.directory))\n .redirectErrorStream(true)\n .start()\n process.outputStream.close()\n if (process.waitFor() != 0) {\n throw new GradleException(\"Stub PCH generation failed: ${process.inputStream.text}\")\n }\n }\n\n pchFile.setLastModified(new File(entry.file).lastModified() - 1)\n }\n }\n }\n}\n\ntasks.register(\"prepareKotlinBuildScriptModel\") {\n dependsOn(generateStubPCHTask)\n}";