Now x86_64 bash can be installed as box64-bash and will be automaticly used if present

This commit is contained in:
ptitSeb 2024-10-18 14:53:13 +02:00
parent 97491658c6
commit cdf81eb1d7
4 changed files with 16 additions and 5 deletions

View File

@ -1127,11 +1127,15 @@ endif()
if(NOT _x86 AND NOT _x86_64)
if(NOT TERMUX)
install(TARGETS ${BOX64}
RUNTIME DESTINATION bin)
install(TARGETS ${BOX64} RUNTIME DESTINATION bin)
if(NOT NO_LIB_INSTALL)
install(PROGRAMS ${CMAKE_SOURCE_DIR}/tests/box64-bash DESTINATION bin)
endif()
else()
install(TARGETS ${BOX64}
RUNTIME DESTINATION ${TERMUX_PATH}/usr/bin)
install(TARGETS ${BOX64} RUNTIME DESTINATION ${TERMUX_PATH}/usr/bin)
if(NOT NO_LIB_INSTALL)
install(PROGRAMS ${CMAKE_SOURCE_DIR}/tests/box64-bash DESTINATION ${TERMUX_PATH}/usr/bin)
endif()
endif()
if(NOT NO_CONF_INSTALL)
configure_file(system/box64.conf.cmake system/box64.conf)

View File

@ -2102,7 +2102,7 @@ int initialize(int argc, const char **argv, char** env, x64emu_t** emulator, elf
box64_zoom = 1;
}
// special case for bash (add BOX86_NOBANNER=1 if not there)
if(!strcmp(prgname, "bash")) {
if(!strcmp(prgname, "bash") || !strcmp(prgname, "box64-bash")) {
printf_log(LOG_INFO, "bash detected, disabling banner\n");
if (!box64_nobanner) {
setenv("BOX86_NOBANNER", "1", 0);
@ -2113,6 +2113,8 @@ int initialize(int argc, const char **argv, char** env, x64emu_t** emulator, elf
setenv("BOX64_BASH", prog, 1);
}
}
if(!bashpath)
bashpath = ResolveFile("box64-bash", &my_context->box64_path);
if(bashpath)
my_context->bashpath = box_strdup(bashpath);

View File

@ -56,6 +56,11 @@ BOX64_PREFER_EMULATED=1
BOX64_LOG=0
BOX64_DYNAREC_ALIGNED_ATOMICS=1
[box64-bash]
# LOG tend to mess up script execution in bash
BOX64_LOG=0
BOX64_DYNAREC_ALIGNED_ATOMICS=1
[beyond-all-reason]
BOX64_MALLOC_HACK=2