From 526e5e382861dde20f7b579fc978be95d57ab41c Mon Sep 17 00:00:00 2001 From: Viktor Szakats Date: Thu, 17 Jun 2010 15:10:16 +0000 Subject: [PATCH] 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. --- harbour/ChangeLog | 11 +++++++++++ harbour/config/wce/mingwarm.mk | 14 +++++++++++++- harbour/config/win/cygwin.mk | 14 +++++++++++++- harbour/config/win/mingw.mk | 14 +++++++++++++- 4 files changed, 50 insertions(+), 3 deletions(-) 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)