From 858b7491e6775c2294f469bbd4f67e0285b7d148 Mon Sep 17 00:00:00 2001 From: Viktor Szakats Date: Wed, 15 Jul 2009 08:48:17 +0000 Subject: [PATCH] 2009-07-15 10:31 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) * config/win/bcc.cf ! Restored branch to use link script to avoid cmdline length limits present on some NT systems. Also fixed to work on paths with spaces. * config/bin.cf * Minor cleanup to prev. * config/bin.cf * config/lib.cf + Preparation for moving the generated binaries in: bin// --- harbour/ChangeLog | 16 +++++++++++++++- harbour/config/bin.cf | 11 +++++++++-- harbour/config/lib.cf | 2 ++ harbour/config/win/bcc.cf | 16 ++++++++++++++-- 4 files changed, 40 insertions(+), 5 deletions(-) diff --git a/harbour/ChangeLog b/harbour/ChangeLog index b9c521dfe0..628905e119 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -17,6 +17,20 @@ past entries belonging to author(s): Viktor Szakats. */ +2009-07-15 10:31 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) + * config/win/bcc.cf + ! Restored branch to use link script to avoid cmdline length + limits present on some NT systems. + Also fixed to work on paths with spaces. + + * config/bin.cf + * Minor cleanup to prev. + + * config/bin.cf + * config/lib.cf + + Preparation for moving the generated binaries in: + bin// + 2009-07-14 22:40 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com) * contrib/hbxbp/xbp.ch + contrib/hbxbp/xbpbrowse.prg @@ -34,7 +48,7 @@ * contrib/hbxbp/xbprtf.prg + Implemented :print( oXbpPrinter, lOnlySelection ) in XbpRTF() class. TODO: is not functional yet. - + Implemented :selFont GETSET METHOD - Harbour Extension - this accepts + + Implemented :selFont GETSET METHOD - Harbour Extension - this accepts XbpFont() object as new font. * contrib/hbxbp/tests/demoxbp.prg diff --git a/harbour/config/bin.cf b/harbour/config/bin.cf index 5fdc839693..1a72681c35 100644 --- a/harbour/config/bin.cf +++ b/harbour/config/bin.cf @@ -5,6 +5,11 @@ ifneq ($(HB_ARCHITECTURE),) ifneq ($(HB_COMPILER),) +#no slash at the end +EXE_ARCH_DIR := $(TOP)$(ROOT)bin/$(HB_ARCHITECTURE) +#no slash at the end +EXE_DIR := $(EXE_ARCH_DIR)/$(HB_COMPILER) + include $(TOP)$(ROOT)config/global.cf include $(TOP)$(ROOT)config/c.cf include $(TOP)$(ROOT)config/prg.cf @@ -25,8 +30,9 @@ EXE_NAME = $(PRG_MAIN:.prg=$(EXE_EXT)) endif endif -EXE_FILE = $(OBJ_DIR)/$(EXE_NAME) -LIB_DIR = $(TOP)$(ROOT)lib/$(OBJ_DIR) +EXE_FILE := $(OBJ_DIR)/$(EXE_NAME) + +LIB_DIR := $(TOP)$(ROOT)lib/$(ARCH_COMP) ALL_OBJS = $(ALL_C_OBJS) $(ALL_PRG_OBJS) @@ -35,6 +41,7 @@ first:: dirbase descend descend:: dirbase +@$(MK) -C $(OBJ_DIR) -f $(GRANDP)Makefile TOP=$(GRANDP) $(EXE_NAME) $(HB_USER_MAKEFLAGS) +vpath $(EXE_NAME) $(EXE_DIR) $(EXE_NAME) : $(ALL_OBJS) $(LD_RULE) diff --git a/harbour/config/lib.cf b/harbour/config/lib.cf index bc5c02cc53..1f5069fede 100644 --- a/harbour/config/lib.cf +++ b/harbour/config/lib.cf @@ -18,6 +18,8 @@ LIB_NAME := $(LIB_PREF)$(LIBNAME)$(LIB_EXT) LIB_FILE := $(LIB_DIR)/$(LIB_NAME) +EXE_DIR := $(TOP)$(ROOT)bin/$(ARCH_COMP) + ALL_OBJS = $(ALL_C_OBJS) $(ALL_PRG_OBJS) first:: dirbase descend diff --git a/harbour/config/win/bcc.cf b/harbour/config/win/bcc.cf index 80609abb91..a4885ec76e 100644 --- a/harbour/config/win/bcc.cf +++ b/harbour/config/win/bcc.cf @@ -63,7 +63,19 @@ LDFLAGS = $(LINKPATHS) AR = tlib.exe ARFLAGS = /P64 $(HB_USER_AFLAGS) -AROBJS = $(foreach file, $(^F), -+$(file)) -AR_RULE = $(AR) $(ARFLAGS) "$(subst /,\,$(LIB_DIR)/$@)" $(AROBJS) +# NOTE: The empty line below HAVE TO exist! +define lib_object +@echo -+$(subst /,\,$(file)) ^& >> __lib__.tmp + +endef + +define create_library +@if exist __lib__.tmp del __lib__.tmp +$(foreach file, $(^F), $(lib_object)) +@echo -+>> __lib__.tmp +$(AR) $(ARFLAGS) "$(subst /,\,$(LIB_DIR)/$@)" @__lib__.tmp +endef + +AR_RULE = $(create_library) include $(TOP)$(ROOT)config/rules.cf