2025-07-07 16:17 UTC+0200 Aleksander Czajczynski (hb fki.pl)
* config/win/clang.mk
+ add resource compiler detection chain to first stage,
now harbour.exe binary should also have manifest resource
compiled in when clang is used. Previously second stage rc
calling was implemented only in hbmk2.
* utils/hbmk2/hbmk2.prg
! fixed disappearing llvm-ar with fallback to ar, spotted
in windows-ci/MSYS2
This commit is contained in:
@@ -7,6 +7,17 @@
|
||||
Entries may not always be in chronological/commit order.
|
||||
See license at the end of file. */
|
||||
|
||||
2025-07-07 16:17 UTC+0200 Aleksander Czajczynski (hb fki.pl)
|
||||
* config/win/clang.mk
|
||||
+ add resource compiler detection chain to first stage,
|
||||
now harbour.exe binary should also have manifest resource
|
||||
compiled in when clang is used. Previously second stage rc
|
||||
calling was implemented only in hbmk2.
|
||||
|
||||
* utils/hbmk2/hbmk2.prg
|
||||
! fixed disappearing llvm-ar with fallback to ar, spotted
|
||||
in windows-ci/MSYS2
|
||||
|
||||
2025-07-07 13:42 UTC+0200 Aleksander Czajczynski (hb fki.pl)
|
||||
* .github/workflows/windows-ci.yml
|
||||
* libgd, qt5-base not available in MSYS x86
|
||||
|
||||
@@ -50,11 +50,40 @@ LDLIBS := $(foreach lib,$(HB_USER_LIBS) $(LIBS) $(SYSLIBS),-l$(lib))
|
||||
|
||||
LDFLAGS += $(LIBPATHS)
|
||||
|
||||
AR := $(HB_CCPREFIX)llvm-ar
|
||||
HB_AR_PATH := $(call find_in_path,$(HB_CCPREFIX)llvm-ar)
|
||||
ifneq ($(HB_AR_PATH),)
|
||||
AR := $(HB_CCPREFIX)llvm-ar
|
||||
else
|
||||
AR := $(HB_CCPREFIX)ar
|
||||
endif
|
||||
|
||||
AR_RULE = ( $(AR) $(ARFLAGS) $(HB_AFLAGS) $(HB_USER_AFLAGS) rcs $(LIB_DIR)/$@ $(^F) $(ARSTRIP) ) || ( $(RM) $(subst /,$(DIRSEP),$(LIB_DIR)/$@) && $(FALSE) )
|
||||
|
||||
# TODO: add resource compiler detect chain in this stage: GNU windres, llvm-windres, llvm-rc
|
||||
# order of resource compiler detect chain in this stage (hbmk2 uses similar):
|
||||
# GNU windres, llvm-windres, llvm-rc
|
||||
# non-GNU shown resource file encoding issues
|
||||
|
||||
RC_OUT := -o$(subst x,x, )
|
||||
RCFLAGS += -I. -I$(HB_HOST_INC) -O coff
|
||||
RES_EXT := .reso
|
||||
|
||||
HB_RC_PATH := $(call find_in_path,$(HB_CCPREFIX)windres)
|
||||
ifneq ($(HB_RC_PATH),)
|
||||
RC := $(HB_CCPREFIX)windres
|
||||
else
|
||||
HB_RC_PATH := $(call find_in_path,$(HB_CCPREFIX)llvm-windres)
|
||||
ifneq ($(HB_RC_PATH),)
|
||||
RC := $(HB_CCPREFIX)llvm-windres
|
||||
else
|
||||
HB_RC_PATH := $(call find_in_path,$(HB_CCPREFIX)llvm-rc)
|
||||
ifneq ($(HB_RC_PATH),)
|
||||
RC := $(HB_CCPREFIX)llvm-rc
|
||||
RCFLAGS := /I. /I$(HB_HOST_INC) /C 1252
|
||||
RC_OUT := /FO$(subst x,x, )
|
||||
RES_EXT := .res
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
DY := $(CC)
|
||||
DFLAGS += -shared $(LIBPATHS)
|
||||
|
||||
@@ -4481,7 +4481,8 @@ STATIC FUNCTION __hbmk( aArgs, nArgTarget, nLevel, /* @ */ lPause, /* @ */ lExit
|
||||
cLibLibExt := ".a"
|
||||
ENDIF
|
||||
cImpLibExt := cLibLibExt
|
||||
IF hbmk[ _HBMK_cCOMP ] == "clang"
|
||||
IF hbmk[ _HBMK_cCOMP ] == "clang" .AND. !( FindInPath( hbmk[ _HBMK_cCCPREFIX ] + "llvm-ar" + hbmk[ _HBMK_cCCEXT ] ) == NIL )
|
||||
/* new clang toolchains not always distribute llvm-ar (or it is renamed) */
|
||||
cBin_Lib := hbmk[ _HBMK_cCCPREFIX ] + "llvm-ar" + hbmk[ _HBMK_cCCEXT ]
|
||||
ELSEIF hbmk[ _HBMK_cCOMP ] == "tcc"
|
||||
cBin_Lib := "tiny_libmaker.exe"
|
||||
|
||||
Reference in New Issue
Block a user