diff --git a/scripts/make_common.sh b/scripts/make_common.sh index fddbaf0d..63dd629d 100755 --- a/scripts/make_common.sh +++ b/scripts/make_common.sh @@ -36,8 +36,33 @@ if [ "${PROJECT_IS_MINGW}" != "1" ] && [ "${PROJECT_REQUIRE_ALPINE}" == "ON" ]; rsync -av --progress /usr/share/icu/74.1/ "${PROJECT_DIST_DIR}/icu/" fi +if [ "${PROJECT_BUILD_SHARED_LIBS}" == "ON" ] && [ "${PROJECT_IS_MINGW}" != "1" ]; then + rsync -av --progress ${PROJECT_EXTERNAL_BUILD_ROOT}/ "${PROJECT_DIST_DIR}/" + pushd "${PROJECT_DIST_DIR}" + rm lib64 + ln -sf lib lib64 + popd +fi + for APP in ${PROJECT_APP_LIST[@]}; do - rsync -av --progress "${PROJECT_BUILD_DIR}/build/${APP}${APP_BINARY_EXT}" "${PROJECT_DIST_DIR}/" + if [ "${PROJECT_BUILD_SHARED_LIBS}" == "ON" ]; then + if [ "${PROJECT_IS_MINGW}" != "1" ]; then + rm "${PROJECT_DIST_DIR}/${APP}${APP_BINARY_EXT}" + rsync -av --progress "${PROJECT_BUILD_DIR}/build/${APP}${APP_BINARY_EXT}" "${PROJECT_DIST_DIR}/bin/" + cat <>"${PROJECT_DIST_DIR}/${APP}${APP_BINARY_EXT}" +#!/bin/sh +CURRENT_DIR=\$(dirname "\$0") +CURRENT_DIR=\$(realpath \${CURRENT_DIR}) + +export LD_LIBRARY_PATH="\${CURRENT_DIR}/lib:\${CURRENT_DIR}/lib64:\${LD_LIBRARY_PATH}" + +\${CURRENT_DIR}/bin/${APP}${APP_BINARY_EXT} \$* +EOF + chmod +x "${PROJECT_DIST_DIR}/${APP}${APP_BINARY_EXT}" + fi + else + rsync -av --progress "${PROJECT_BUILD_DIR}/build/${APP}${APP_BINARY_EXT}" "${PROJECT_DIST_DIR}/" + fi done if [ "${PROJECT_IS_MINGW}" == "1" ]; then