
Hi Simon,
On Sun, Apr 30, 2023 at 9:30 AM Simon Glass sjg@chromium.org wrote:
Handle the different shared-object extension with MSYS2 by creating a new SOEXT variable.
Signed-off-by: Simon Glass sjg@chromium.org
Changes in v2:
- Use LIBEXT instead of SOEXT
Makefile | 11 +++++++++++ scripts/dtc/pylibfdt/Makefile | 16 +++++++++------- 2 files changed, 20 insertions(+), 7 deletions(-)
diff --git a/Makefile b/Makefile index 166acba27032..2453a80eca62 100644 --- a/Makefile +++ b/Makefile @@ -39,6 +39,17 @@ else ifeq ("riscv64", $(MK_ARCH)) endif undefine MK_ARCH
+# Building on Windows with MSYS2 +export MSYS_VERSION = $(if $(findstring Msys, $(shell uname -o)),$(word 1, $(subst ., ,$(shell uname -r))),0)
It looks like the exact version of MSYS2 is not useful to U-Boot build? What we only need is to detect whether we are building for MSYS2.
So parsing `shell uname -o` should be enough. Then the variable name can be named as MSYS?
+# $(info The version of MSYS you are running is $(MSYS_VERSION) (0 meaning not MSYS at all))
Commented out?
+# Sets the extension to use for shared-object files +ifeq ($(MSYS_VERSION),0) +export LIBEXT := so +else +export LIBEXT := dll +endif
# Avoid funny character set dependencies unexport LC_ALL LC_COLLATE=C diff --git a/scripts/dtc/pylibfdt/Makefile b/scripts/dtc/pylibfdt/Makefile index e442d5c24201..314ef91e527b 100644 --- a/scripts/dtc/pylibfdt/Makefile +++ b/scripts/dtc/pylibfdt/Makefile @@ -7,6 +7,8 @@ LIBFDT_srcdir = $(abspath $(srctree)/$(src)/../libfdt)
include $(LIBFDT_srcdir)/Makefile.libfdt
+LIBFILE := _libfdt.$(LIBEXT)
# Unfortunately setup.py (or actually the Python distutil implementation) puts # files into the same directory as the .i file. We cannot touch the source # directory, so we "ship" .i file into the objtree. @@ -29,16 +31,16 @@ quiet_cmd_pymod = PYMOD $@ rebuild: $(src)/setup.py $(PYLIBFDT_srcs) @# Remove the library since otherwise Python doesn't seem to regenerate @# the libfdt.py file if it is missing.
@rm -f $(obj)/_libfdt*.so
@rm -f $(obj)/_libfdt*.$(LIBEXT) $(call if_changed,pymod)
@# Rename the file to _libfdt.so so this Makefile doesn't run every time
@if [ ! -e $(obj)/_libfdt.so ]; then \
mv $(obj)/_libfdt*.so $(obj)/_libfdt.so; \
@# Rename the file to $(LIBFILE) so this Makefile doesn't run every time
@if [ ! -e $(obj)/$(LIBFILE) ]; then \
mv $(obj)/_libfdt*.$(LIBEXT) $(obj)/$(LIBFILE); \ fi
-$(obj)/_libfdt.so $(obj)/libfdt.py &: rebuild +$(obj)/$(LIBFILE) $(obj)/libfdt.py &: rebuild @:
-always += _libfdt.so libfdt.py +always += $(LIBFILE) libfdt.py
-clean-files += libfdt.i _libfdt.so libfdt.py libfdt_wrap.c
+clean-files += libfdt.i $(LIBFILE) libfdt.py libfdt_wrap.c
Regards, Bin