--- rspamd-4.2.2.orig/contrib/snowball/CMakeLists.txt 2026-10-18 07:52:00.736739986 +0200 +++ rspamd-4.2.2/contrib/snowball/CMakeLists.txt 2026-10-18 07:52:00.747286157 +0200 @@ -28,6 +28,15 @@ ADD_DEFINITIONS("-DDISABLE_CSHARP") ADD_DEFINITIONS("-DDISABLE_PASCAL") ADD_DEFINITIONS("-DDISABLE_RUST") +# a build host snowball can be passed when cross compiling +IF(SNOWBALL_EXECUTABLE) + SET(SNOWBALL_COMMAND ${SNOWBALL_EXECUTABLE}) + SET(SNOWBALL_DEPENDS ${SNOWBALL_EXECUTABLE}) +ELSE() + SET(SNOWBALL_COMMAND ${CMAKE_CURRENT_BINARY_DIR}/snowball) + SET(SNOWBALL_DEPENDS snowball) +ENDIF() + MACRO(gen_stem IN ENCODING) FOREACH(_it ${IN}) SET(_base "${CMAKE_CURRENT_BINARY_DIR}/libstemmer/stem_${ENCODING}_${_it}") @@ -37,15 +46,15 @@ MACRO(gen_stem IN ENCODING) SET(_input "${CMAKE_CURRENT_SOURCE_DIR}/algorithms/${_it}.sbl") IF(${_in_enc} STREQUAL "Unicode" AND NOT EXISTS ${_input}) ADD_CUSTOM_COMMAND(OUTPUT ${_source} - COMMAND env "ASAN_OPTIONS=detect_leaks=0" ${CMAKE_CURRENT_BINARY_DIR}/snowball "${CMAKE_CURRENT_SOURCE_DIR}/algorithms/${_it}/stem_ISO_8859_1.sbl" -o ${_base} -eprefix ${_it}_${ENCODING}_ -r ../runtime -u - DEPENDS snowball) + COMMAND env "ASAN_OPTIONS=detect_leaks=0" ${SNOWBALL_COMMAND} "${CMAKE_CURRENT_SOURCE_DIR}/algorithms/${_it}/stem_ISO_8859_1.sbl" -o ${_base} -eprefix ${_it}_${ENCODING}_ -r ../runtime -u + DEPENDS ${SNOWBALL_DEPENDS}) LIST(APPEND STEMMER_SOURCES ${_source}) ELSE() IF(EXISTS "${_input}") ADD_CUSTOM_COMMAND(OUTPUT ${_source} - COMMAND env "ASAN_OPTIONS=detect_leaks=0" ${CMAKE_CURRENT_BINARY_DIR}/snowball ${_input} -o ${_base} -eprefix ${_it}_${ENCODING}_ -r ../runtime -u - DEPENDS snowball) + COMMAND env "ASAN_OPTIONS=detect_leaks=0" ${SNOWBALL_COMMAND} ${_input} -o ${_base} -eprefix ${_it}_${ENCODING}_ -r ../runtime -u + DEPENDS ${SNOWBALL_DEPENDS}) LIST(APPEND STEMMER_SOURCES ${_source}) ENDIF() ENDIF() @@ -54,7 +63,9 @@ ENDMACRO() INCLUDE_DIRECTORIES("include") -ADD_EXECUTABLE(snowball ${COMPILER_SOURCES}) +IF(NOT SNOWBALL_EXECUTABLE) + ADD_EXECUTABLE(snowball ${COMPILER_SOURCES}) +ENDIF() ADD_CUSTOM_COMMAND(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/libstemmer/modules.h COMMAND ${PERL_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/libstemmer/mkmodules.pl ${CMAKE_CURRENT_BINARY_DIR}/libstemmer/modules.h libstemmer ${CMAKE_CURRENT_SOURCE_DIR}/libstemmer/modules.txt ${CMAKE_CURRENT_BINARY_DIR}/libstemmer/mkinc.mak)