diff --git a/modules/javafx.web/src/main/native/Source/JavaScriptCore/CMakeLists.txt b/modules/javafx.web/src/main/native/Source/JavaScriptCore/CMakeLists.txt index 3145fe77ca..be5992a355 100644 --- a/modules/javafx.web/src/main/native/Source/JavaScriptCore/CMakeLists.txt +++ b/modules/javafx.web/src/main/native/Source/JavaScriptCore/CMakeLists.txt @@ -181,6 +181,28 @@ file(GLOB JavaScriptCore_SCRIPTS_SOURCES ${JavaScriptCore_SCRIPTS_SOURCES_PATHS} foreach (_file ${JavaScriptCore_SCRIPTS_SOURCES}) get_filename_component(_script "${_file}" NAME) + # introduce one second delay to prevent any lock + execute_process(COMMAND ${CMAKE_COMMAND} -E sleep 1) + set(copy_success FALSE) + set(copy_attempts 0) + while(NOT copy_success AND copy_attempts LESS 4) + execute_process( + COMMAND ${CMAKE_COMMAND} -E copy_if_different ${_file} ${JavaScriptCore_SCRIPTS_DIR}/${_script} + RESULT_VARIABLE copy_result + OUTPUT_VARIABLE copy_output + ) + if(copy_result) + message(WARNING "Failed to copy ${_file} to ${JavaScriptCore_SCRIPTS_DIR}/${_script}: ${copy_output}") + # retry the copy after a delay of one second + execute_process(COMMAND ${CMAKE_COMMAND} -E sleep 1) + else() + set(copy_success TRUE) + endif() + math(EXPR copy_attempts "${copy_attempts}+1") + endwhile() + if(NOT copy_success) + message(FATAL_ERROR "Failed to copy ${_file} after multiple attempts") + endif() add_custom_command( OUTPUT ${JavaScriptCore_SCRIPTS_DIR}/${_script} MAIN_DEPENDENCY ${_file} diff --git a/modules/javafx.web/src/main/native/Source/JavaScriptCore/Scripts/generate-derived-sources.sh b/modules/javafx.web/src/main/native/Source/JavaScriptCore/Scripts/generate-derived-sources.sh index 40acae449b..1f4a9e7776 100644 --- a/modules/javafx.web/src/main/native/Source/JavaScriptCore/Scripts/generate-derived-sources.sh +++ b/modules/javafx.web/src/main/native/Source/JavaScriptCore/Scripts/generate-derived-sources.sh @@ -15,4 +15,5 @@ if [ ! "$CC" ]; then export CC="`xcrun -find clang`" fi -make --no-builtin-rules -f "JavaScriptCore/DerivedSources.make" -j `/usr/sbin/sysctl -n hw.ncpu` SDKROOT="${SDKROOT}" "${ARGS[@]}" +#make --no-builtin-rules -f "JavaScriptCore/DerivedSources.make" -j `/usr/sbin/sysctl -n hw.ncpu` SDKROOT="${SDKROOT}" "${ARGS[@]}" +make --no-builtin-rules -f "JavaScriptCore/DerivedSources.make" -j 8 SDKROOT="${SDKROOT}" diff --git a/modules/javafx.web/src/main/native/Tools/Scripts/webkitdirs.pm b/modules/javafx.web/src/main/native/Tools/Scripts/webkitdirs.pm index c74a6ab516..39cbd42272 100644 --- a/modules/javafx.web/src/main/native/Tools/Scripts/webkitdirs.pm +++ b/modules/javafx.web/src/main/native/Tools/Scripts/webkitdirs.pm @@ -650,7 +650,8 @@ sub determineNumberOfCPUs # Assumes cygwin $numberOfCPUs = `ls /proc/registry/HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor | wc -w`; } elsif (isDarwin() || isBSD()) { - chomp($numberOfCPUs = `sysctl -n hw.ncpu`); + #chomp($numberOfCPUs = `sysctl -n hw.ncpu`); + $numberOfCPUs = 8; } else { $numberOfCPUs = 1; }