diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 189143ac07..b1d9a710c4 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -16,6 +16,17 @@ The license applies to all entries newer than 2009-04-28. */ +2010-06-17 17:09 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) + * config/wce/mingwarm.mk + * config/win/mingw.mk + * config/win/cygwin.mk + + Added support for host systems with shorter cmdline limits + (in lib creation command). F.e. on WinW2K or WinNT. + + * config/win/cygwin.mk + ! Fixed delete command on 'ar' failure to work on native + Windows shell. + 2010-06-17 15:37 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) * tests/wvtext.prg * Updates. Formatting. Show msgbox when MT is not present. diff --git a/harbour/config/wce/mingwarm.mk b/harbour/config/wce/mingwarm.mk index 6e0ce1ac78..d6ac6d7668 100644 --- a/harbour/config/wce/mingwarm.mk +++ b/harbour/config/wce/mingwarm.mk @@ -57,7 +57,19 @@ LDLIBS := $(foreach lib,$(HB_USER_LIBS) $(LIBS) $(SYSLIBS),-l$(lib)) LDFLAGS += $(LIBPATHS) AR := $(HB_CCPATH)$(HB_CCPREFIX)ar -AR_RULE = ( $(AR) $(ARFLAGS) $(HB_AFLAGS) $(HB_USER_AFLAGS) rcs $(LIB_DIR)/$@ $(^F) $(ARSTRIP) ) || $(RM) $(subst /,$(DIRSEP),$(LIB_DIR)/$@) + +# NOTE: The empty line directly before 'endef' HAVE TO exist! +define lib_object + @$(ECHO) $(ECHOQUOTE)$(subst \,/,$(file))$(ECHOQUOTE) >> __lib__.tmp + +endef +define create_library + $(if $(wildcard __lib__.tmp),@$(RM) __lib__.tmp,) + $(foreach file,$^,$(lib_object)) + ( $(AR) $(ARFLAGS) $(HB_AFLAGS) $(HB_USER_AFLAGS) rcs $(LIB_DIR)/$@ @__lib__.tmp $(ARSTRIP) ) || $(RM) $(subst /,$(DIRSEP),$(LIB_DIR)/$@) +endef + +AR_RULE = $(create_library) DY := $(CC) DFLAGS += -shared $(LIBPATHS) diff --git a/harbour/config/win/cygwin.mk b/harbour/config/win/cygwin.mk index 060556fa17..f5c7c177f8 100644 --- a/harbour/config/win/cygwin.mk +++ b/harbour/config/win/cygwin.mk @@ -54,7 +54,19 @@ LDLIBS := $(foreach lib,$(HB_USER_LIBS) $(LIBS) $(SYSLIBS),-l$(lib)) LDFLAGS += $(LIBPATHS) AR := $(HB_CCPATH)$(HB_CCPREFIX)ar -AR_RULE = ( $(AR) $(ARFLAGS) $(HB_AFLAGS) $(HB_USER_AFLAGS) rcs $(LIB_DIR)/$@ $(^F) $(ARSTRIP) ) || $(RM) $(LIB_DIR)/$@ + +# NOTE: The empty line directly before 'endef' HAVE TO exist! +define lib_object + @$(ECHO) $(ECHOQUOTE)$(subst \,/,$(file))$(ECHOQUOTE) >> __lib__.tmp + +endef +define create_library + $(if $(wildcard __lib__.tmp),@$(RM) __lib__.tmp,) + $(foreach file,$^,$(lib_object)) + ( $(AR) $(ARFLAGS) $(HB_AFLAGS) $(HB_USER_AFLAGS) rcs $(LIB_DIR)/$@ @__lib__.tmp $(ARSTRIP) ) || $(RM) $(subst /,$(DIRSEP),$(LIB_DIR)/$@) +endef + +AR_RULE = $(create_library) DY := $(CC) DFLAGS += -shared $(LIBPATHS) diff --git a/harbour/config/win/mingw.mk b/harbour/config/win/mingw.mk index d208b72a90..8d6aa13d5b 100644 --- a/harbour/config/win/mingw.mk +++ b/harbour/config/win/mingw.mk @@ -98,7 +98,19 @@ endif LDFLAGS += $(LIBPATHS) AR := $(HB_CCPATH)$(HB_CCPREFIX)ar -AR_RULE = ( $(AR) $(ARFLAGS) $(HB_AFLAGS) $(HB_USER_AFLAGS) rcs $(LIB_DIR)/$@ $(^F) $(ARSTRIP) ) || $(RM) $(subst /,$(DIRSEP),$(LIB_DIR)/$@) + +# NOTE: The empty line directly before 'endef' HAVE TO exist! +define lib_object + @$(ECHO) $(ECHOQUOTE)$(subst \,/,$(file))$(ECHOQUOTE) >> __lib__.tmp + +endef +define create_library + $(if $(wildcard __lib__.tmp),@$(RM) __lib__.tmp,) + $(foreach file,$^,$(lib_object)) + ( $(AR) $(ARFLAGS) $(HB_AFLAGS) $(HB_USER_AFLAGS) rcs $(LIB_DIR)/$@ @__lib__.tmp $(ARSTRIP) ) || $(RM) $(subst /,$(DIRSEP),$(LIB_DIR)/$@) +endef + +AR_RULE = $(create_library) DY := $(CC) DFLAGS += -shared $(LIBPATHS)