فهرست منبع

ulp: fix ULP assembler version detection for localized systems

Roland Dobai 5 سال پیش
والد
کامیت
9f7be2b7f4
2فایلهای تغییر یافته به همراه6 افزوده شده و 3 حذف شده
  1. 2 2
      components/ulp/cmake/CMakeLists.txt
  2. 4 1
      components/ulp/component_ulp_common.mk

+ 2 - 2
components/ulp/cmake/CMakeLists.txt

@@ -11,7 +11,7 @@ execute_process(
     OUTPUT_VARIABLE as_output
     ERROR_QUIET)
 
-string(REGEX MATCH "GNU assembler \\(GNU Binutils\\) (${version_pattern})" as_version ${as_output})
+string(REGEX MATCH "\\(GNU Binutils\\) (${version_pattern})" as_version ${as_output})
 set(as_version ${CMAKE_MATCH_1})
 
 message(STATUS "Building ULP app ${ULP_APP_NAME}")
@@ -100,4 +100,4 @@ add_custom_target(build
                         ${CMAKE_CURRENT_BINARY_DIR}/${ULP_APP_NAME}.h
                 WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
 
-target_link_libraries(${ULP_APP_NAME} -T${CMAKE_CURRENT_BINARY_DIR}/${ULP_LD_SCRIPT} -Map=${CMAKE_CURRENT_BINARY_DIR}/${ULP_APP_NAME}.map)
+target_link_libraries(${ULP_APP_NAME} -T${CMAKE_CURRENT_BINARY_DIR}/${ULP_LD_SCRIPT} -Map=${CMAKE_CURRENT_BINARY_DIR}/${ULP_APP_NAME}.map)

+ 4 - 1
components/ulp/component_ulp_common.mk

@@ -26,7 +26,10 @@ ULP_PREPROCESSOR_ARGS := \
 
 # Check the assembler version
 include $(IDF_PATH)/components/ulp/toolchain_ulp_version.mk
-ULP_AS_VER := $(shell $(ULP_AS) --version | sed -E -n 's|GNU assembler \(GNU Binutils\) ([a-z0-9\.-]+)|\1|gp')
+# $(ULP_AS) --version output might be localized, for example the first line could be
+# "Ensamblador (GNU Binutils) 2.28.51-esp-20191205 de GNU" instead of
+# "GNU assembler (GNU Binutils) 2.28.51-esp-20191205".
+ULP_AS_VER := $(shell $(ULP_AS) --version | sed -E -n 's/.+ \(GNU Binutils\) ([a-z0-9\.-]+)( .*)?/\1/gp')
 
 $(info Building ULP app $(ULP_APP_NAME))
 $(info ULP assembler version: $(ULP_AS_VER))