remove old heload

This commit is contained in:
2025-05-06 21:03:01 +03:00
parent 5d362d4237
commit 55e89cd54f
6 changed files with 9 additions and 80 deletions

View File

@@ -6,12 +6,11 @@ set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
set(CMAKE_CXX_STANDARD 17)
add_subdirectory(3rd/SDL EXCLUDE_FROM_ALL)
add_subdirectory(heload)
add_subdirectory(hiisi)
target_link_options(SDL3-shared PRIVATE -Wl,-z,nodelete)
# target_link_options(SDL3-shared PRIVATE -Wl,-z,nodelete)
add_executable(hiisi-run
hiisi/main.cpp)
target_link_libraries(hiisi-run heload)
target_link_libraries(hiisi-run hiload)

View File

@@ -1,34 +0,0 @@
cmake_minimum_required(VERSION 3.21)
project(Heload)
# I just like to have this with my tooling
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
set(CMAKE_C_STANDARD 99)
add_library(heload SHARED
src/heload.c
)
# Specify the public headers location
target_include_directories(heload PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include> # During build
$<INSTALL_INTERFACE:include> # When installed
)
install(TARGETS heload
EXPORT heloadTargets
ARCHIVE DESTINATION lib
LIBRARY DESTINATION lib
RUNTIME DESTINATION bin
)
# Install header files
install(DIRECTORY include/ DESTINATION include)
# Export the library for find_package()
install(EXPORT heloadTargets
FILE heloadConfig.cmake
DESTINATION lib/cmake/heload
)
export(TARGETS heload FILE heloadConfig.cmake)

View File

@@ -1,7 +0,0 @@
#ifndef HELOAD_H_
#define HELOAD_H_
void print_module_info(const char *module_name);
#endif // HELOAD_H_

View File

@@ -1,15 +0,0 @@
#include "heload/heload.h"
#include <stdio.h>
#include <stdlib.h>
#include <dlfcn.h>
#include <link.h>
void print_module_info(const char *module_name) {
void *module = dlopen(module_name, RTLD_NOW);
struct Lmid_t *lmid;
dlinfo(module, RTLD_DI_LMID, lmid);
}

View File

@@ -1,19 +1,16 @@
#include "hiisi.h"
#include "heload/heload.h"
#include <assert.h>
#include <stdio.h>
#include <stdlib.h>
#include <atomic>
#include <dlfcn.h>
#include <link.h>
#include <signal.h>
#include <atomic>
#include <stdio.h>
#include <stdlib.h>
std::atomic<bool> reload_requested(false);
void reload_signal_handler(int) {
reload_requested = true;
}
void reload_signal_handler(int) { reload_requested = true; }
Engine load_hiisi() {
const char *name = "build/hiisi/libhiisi-engine.so";
@@ -47,7 +44,7 @@ Engine load_hiisi() {
/* Allocate the buffer for use with RTLD_DI_SERINFO. */
sip = (Dl_serinfo*)malloc(serinfo.dls_size);
sip = (Dl_serinfo *)malloc(serinfo.dls_size);
if (sip == NULL) {
perror("malloc");
exit(EXIT_FAILURE);
@@ -69,8 +66,8 @@ Engine load_hiisi() {
}
for (size_t j = 0; j < serinfo.dls_cnt; j++)
printf("dls_serpath[%zu].dls_name = %s\n",
j, sip->dls_serpath[j].dls_name);
printf("dls_serpath[%zu].dls_name = %s\n", j,
sip->dls_serpath[j].dls_name);
Engine engine;
engine.module = mod;

View File

@@ -1,11 +0,0 @@
#!/usr/bin/env bash
echo "Watching changes in hiisi..."
inotifywait --monitor -e modify build/hiisi/ |
while read -r _ action file; do
sleep 0.1
echo "$(date +%H:%M:%S): Hiisi changed!"
echo "$action on $file"
HIISI_PID=$(pgrep -x hiisi-run)
kill -USR1 "${HIISI_PID}" && echo "Signal sent!" || echo "Signal send failed!"
done