diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 312b31be5c..f4caa0ed89 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -1,3 +1,19 @@ +Wed Jul 14 18:20:24 1999 Gonzalo A. Diethelm + + * config/global.cf: + * config/rules.cf: + * config/dos/djgpp.cf: + * config/linux/gcc.cf: + * config/win32/gcc.cf: + * config/win32/msvc.cf: + Now it is not necessary to "install" harbour anywhere. + If you do NOT define HB_BIN_DIR, HB_INC_DIR and HB_LIB_DIR, it + uses all the files (binaries, headers, libraries, etc.) right off + the working repository. + + * include/Makefile: + Updated list of files. + 19990714-12:01 Alexander Kresin * source\hbpp\hbpp.c * source\hbpp\hbppint.c diff --git a/harbour/config/dos/djgpp.cf b/harbour/config/dos/djgpp.cf index b83340ec55..3fea42f1b1 100644 --- a/harbour/config/dos/djgpp.cf +++ b/harbour/config/dos/djgpp.cf @@ -17,11 +17,14 @@ CFLAGS = -Wall LD = gcc LD_OUT = -o -ifdef HB_LIB_DIR -LDFLAGS = -L$(HB_LIB_DIR) +ifeq ($(HB_LIB_DIR),) +LINKPATHS = $(foreach lib, $(LIBS), -L$(TOP)$(ROOT)source/$(lib)/$(ARCH)) +else +LINKPATHS = -L$(HB_LIB_DIR) endif -LINKLIBS := $(foreach lib, $(LIBS), -l$(lib)) +LINKLIBS = $(foreach lib, $(LIBS), -l$(lib)) # LINKLIBS += -lm +LDFLAGS = $(LINKPATHS) # Note: The empty line directly before 'endef' HAVE TO exist! # It causes that every echo command will be separated by LF diff --git a/harbour/config/global.cf b/harbour/config/global.cf index dbaa8b52fc..e19ce24ad9 100644 --- a/harbour/config/global.cf +++ b/harbour/config/global.cf @@ -6,3 +6,28 @@ GRANDP = ../../ ARCH := $(HB_ARCHITECTURE)/$(HB_COMPILER) include $(TOP)$(ROOT)config/$(ARCH).cf + +# +# How to run Harbour. +# + +ifeq ($(HB_BIN_DIR),) +HB_BIN_DIR := $(TOP)$(ROOT)source/compiler/$(ARCH) +endif + +ifeq ($(HB_INC_DIR),) +HB_INC_DIR := $(TOP)$(ROOT)include +endif + +ifeq ($(HB_LIB_DIR),) +HB_LIB_DIR := +endif + +HB := $(notdir $(HB_BIN_DIR)) +ifneq ($(HB),) +# there is no slash at the end +HB := $(HB_BIN_DIR)/ +endif +HB := $(HB)harbour$(EXE_EXT) + +HB_FLAGS = -n -q -I$(TOP) -I$(HB_INC_DIR) diff --git a/harbour/config/linux/gcc.cf b/harbour/config/linux/gcc.cf index 5c65a3efcc..6957fe27ba 100644 --- a/harbour/config/linux/gcc.cf +++ b/harbour/config/linux/gcc.cf @@ -17,11 +17,14 @@ CFLAGS = -Wall -g LD = gcc LD_OUT = -o -ifdef HB_LIB_DIR -LDFLAGS = -L$(HB_LIB_DIR) +ifeq ($(HB_LIB_DIR),) +LINKPATHS = $(foreach lib, $(LIBS), -L$(TOP)$(ROOT)source/$(lib)/$(ARCH)) +else +LINKPATHS = -L$(HB_LIB_DIR) endif LINKLIBS = $(foreach lib, $(LIBS), -l$(lib)) -LINKLIBS += -L/usr/lib -lm +# LINKLIBS += -lm +LDFLAGS = $(LINKPATHS) AR = ar ARFLAGS = diff --git a/harbour/config/rules.cf b/harbour/config/rules.cf index 8e80af9342..bc84191e44 100644 --- a/harbour/config/rules.cf +++ b/harbour/config/rules.cf @@ -10,15 +10,33 @@ YACC_FLAGS = -d LEX = flex LEX_FLAGS = -i -8 +# # How to run Harbour. -HB := $(notdir $(HB_BIN_DIR)) -ifeq ($(HB),) -# there is a slash at the end -HB := $(HB_BIN_DIR)harbour$(EXE_EXT) +# + +# First, check whether an executable exists in the working repository. +HB := $(wildcard $(TOP)$(ROOT)source/compiler/$(ARCH)/harbour$(EXE_EXT)) + +ifneq ($(HB),) + +# OK, we work off the working repository. +HBINC := $(TOP)$(ROOT)source/include + else -HB := $(HB_BIN_DIR)/harbour$(EXE_EXT) + +# Use an executable installed in the BIN directory. + +HB := $(notdir $(HB_BIN_DIR)) +ifneq ($(HB),) +# there is no slash at the end +HB := $(HB_BIN_DIR)/ endif -HB_FLAGS = -n -q -I$(TOP) -I$(HB_INC_DIR) +HB := $(HB)harbour$(EXE_EXT) +HBINC := $(HB_INC_DIR) + +endif + +HB_FLAGS = -n -q -I$(TOP) -I$(HBINC) # The rule to link an executable. ifeq ($(LD_RULE),) diff --git a/harbour/config/win32/gcc.cf b/harbour/config/win32/gcc.cf index 48fbd03a88..0bc5a58495 100644 --- a/harbour/config/win32/gcc.cf +++ b/harbour/config/win32/gcc.cf @@ -17,11 +17,14 @@ CFLAGS = -Wall -g LD = gcc LD_OUT = -o -ifdef HB_LIB_DIR -LDFLAGS = -L$(HB_LIB_DIR) +ifeq ($(HB_LIB_DIR),) +LINKPATHS = $(foreach lib, $(LIBS), -L$(TOP)$(ROOT)source/$(lib)/$(ARCH)) +else +LINKPATHS = -L$(HB_LIB_DIR) endif LINKLIBS = $(foreach lib, $(LIBS), -l$(lib)) # LINKLIBS += -lm +LDFLAGS = $(LINKPATHS) AR = ar ARFLAGS = diff --git a/harbour/config/win32/msvc.cf b/harbour/config/win32/msvc.cf index 89ad9563a5..3e188f07de 100644 --- a/harbour/config/win32/msvc.cf +++ b/harbour/config/win32/msvc.cf @@ -15,10 +15,14 @@ CFLAGS = -W0 -Zi # -W4 for max warnings LD = cl.exe LD_OUT = -Fe -ifdef HB_LIB_DIR -LDFLAGS += -link -LIBPATH:$(HB_LIB_DIR) +ifeq ($(HB_LIB_DIR),) +LINKPATHS = -link $(foreach lib, $(LIBS), -LIBPATH:$(TOP)$(ROOT)source/$(lib)/$(ARCH)) +else +LINKPATHS = -link -LIBPATH:$(HB_LIB_DIR) endif LINKLIBS = $(foreach lib, $(LIBS), $(lib)$(LIB_EXT)) +# LINKLIBS += -lm +LDFLAGS = $(LINKPATHS) AR = lib.exe ARFLAGS = diff --git a/harbour/include/Makefile b/harbour/include/Makefile index 21ce893be8..fb50db8f76 100644 --- a/harbour/include/Makefile +++ b/harbour/include/Makefile @@ -22,6 +22,7 @@ C_HEADERS=\ init.h \ itemapi.h \ pcode.h \ + run_exp.h \ set.h \ super.h \ version.h \