diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 37fd10662c..8f941fd170 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -17,6 +17,26 @@ past entries belonging to author(s): Viktor Szakats. */ +2009-08-22 11:08 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) + * config/global.mk + * config/darwin/gcc.mk + + Added version macros similar to include/hbver.h ones. + % Using above version macros accross the build system. + + Bumped minimum GNU Make version requirement to 3.81 (from 3.78). + If there is no negative feedback I'll clean some TOFIXes + which no longer apply, plus start cleanup on the make sources + to use more ideal 'else if' syntax. + + Added commented 'cp' tool check on os2. + + * config/global.mk + * config/instsh.mk + + Reenabled CMDPREF logic. + * Changed os2 shell rules to use '$(CMDPREF)' instead of + hardwired '$(COMSPEC) /C'. Please don't undo it. + + * bin/hb-mkdyn.sh + ! Updated a default Harbour version number. + 2009-08-22 10:45 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) * config/os2/gcc.mk + Added .dll creation for os2/gcc. @@ -167,7 +187,7 @@ 2009-08-21 21:32 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) * config/darwin/gcc.mk + Added experimental dynamic lib creation. - ; TODO: Parameterize internal versioning and name. + ; TODO: Parameterize internal versioning and name. [DONE] ; TODO: Add links (although this may better be done in postinst state most probably). Opinions? diff --git a/harbour/bin/hb-mkdyn.sh b/harbour/bin/hb-mkdyn.sh index 9b14c1580b..7d0210f1f2 100755 --- a/harbour/bin/hb-mkdyn.sh +++ b/harbour/bin/hb-mkdyn.sh @@ -64,8 +64,8 @@ MINOR="${REVIS%%.*}" REVIS="${REVIS#${MINOR}}" REVIS="${REVIS#.}" REVIS="${REVIS%%.*}" -[ -n "${MAJOR}" ] || MAJOR=1 -[ -n "${MINOR}" ] || MINOR=1 +[ -n "${MAJOR}" ] || MAJOR=2 +[ -n "${MINOR}" ] || MINOR=0 [ -n "${REVIS}" ] || REVIS=0 VERSION="${MAJOR}.${MINOR}.${REVIS}" diff --git a/harbour/config/darwin/gcc.mk b/harbour/config/darwin/gcc.mk index 04779d9197..c2564e7e22 100644 --- a/harbour/config/darwin/gcc.mk +++ b/harbour/config/darwin/gcc.mk @@ -102,7 +102,7 @@ endef define create_dynlib $(if $(wildcard __dyn__.tmp),@$(RM) __dyn__.tmp,) $(foreach file,$^,$(dyn_object)) - $(DY) $(DFLAGS) -install_name "harbour$(DYN_EXT)" -compatibility_version 2.0 -current_version 2.0.0 $(HB_USER_DFLAGS) $(DY_OUT)$(DYN_DIR)/$@ -filelist __dyn__.tmp + $(DY) $(DFLAGS) -install_name "harbour$(DYN_EXT)" -compatibility_version $(HB_VER_MAJOR).$(HB_VER_MINOR) -current_version $(HB_VER_MAJOR).$(HB_VER_MINOR).$(HB_VER_RELEASE) $(HB_USER_DFLAGS) $(DY_OUT)$(DYN_DIR)/$@ -filelist __dyn__.tmp endef DY_RULE = $(create_dynlib) diff --git a/harbour/config/global.mk b/harbour/config/global.mk index fd6f864614..6dc5811869 100644 --- a/harbour/config/global.mk +++ b/harbour/config/global.mk @@ -19,14 +19,19 @@ # http://www.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html # GNU Coding standards: # http://www.gnu.org/prep/standards/standards.html -# --------------------------------------------------------------- - # GNU Make NEWS: # http://cvs.savannah.gnu.org/viewvc/make/NEWS?root=make&view=markup -# +# --------------------------------------------------------------- + # TOFIX: $(realpath/abspath) need GNU Make 3.81 or upper # TOFIX: $(eval) needs GNU Make 3.80 or upper +HB_VER_MAJOR := 2 +HB_VER_MINOR := 0 +HB_VER_RELEASE := 0 +HB_VER_STATUS := beta2 +HB_VER_STATUS_SH := b2 + ifeq ($(GLOBAL_CF_),) GLOBAL_CF_ := yes @@ -37,7 +42,7 @@ GLOBAL_CF_ := yes # a performance boost on a slow system. .SUFFIXES: -need := 3.78 +need := 3.81 ok := $(filter $(need),$(firstword $(sort $(MAKE_VERSION) $(need)))) ifeq ($(ok),) @@ -356,13 +361,15 @@ else endif endif -# Not needed anymore, can be deleted if everything stays fine [20090812] [vszakats] -# CMDPREF := -# ifneq ($(HB_SHELL),sh) -# ifneq ($(COMSPEC),) -# CMDPREF := $(COMSPEC) /C -# endif -# endif +# NOTE: This can be need if we want to run some internal command which are +# missing from GNU Make's internal autodetection list. Like 'move' on +# non-*nix shells. [vszakats] +CMDPREF := +ifneq ($(HB_SHELL),sh) + ifneq ($(COMSPEC),) + CMDPREF := $(COMSPEC) /C + endif +endif # Directory separator default ifeq ($(DIRSEP),) @@ -431,6 +438,10 @@ endif # else # ifeq ($(call find_in_path,rm),) # $(error ! Harbour build on OS/2 requires GNU rm executable in PATH. See INSTALL for more) +# else +# ifeq ($(call find_in_path,cp),) +# $(error ! Harbour build on OS/2 requires GNU cp executable in PATH. See INSTALL for more) +# endif # endif # endif #endif @@ -949,18 +960,18 @@ ifneq ($(HB_DB_DRVEXT),) endif ifeq ($(HB_OS_UNIX),yes) - HB_DYN_VER := 2.0.0 + HB_DYN_VER := $(HB_VER_MAJOR).$(HB_VER_MINOR).$(HB_VER_RELEASE) else - HB_DYN_VER := 20 + HB_DYN_VER := $(HB_VER_MAJOR)$(HB_VER_MINOR) endif ifneq ($(HB_HOST_ARCH),dos) - HB_VERSION := 2.0.0beta2 + HB_VERSION := $(HB_VER_MAJOR).$(HB_VER_MINOR).$(HB_VER_RELEASE)$(HB_VER_STATUS) HB_PKGNAME := harbour-$(HB_VERSION)-$(HB_ARCHITECTURE)-$(HB_COMPILER) HB_PKGNAMI := $(HB_PKGNAME) else # Use short names in MS-DOS - HB_VERSION := 2b2 + HB_VERSION := $(HB_VER_MAJOR)$(HB_VER_STATUS_SH) HB_PKGNAME := hb$(HB_VERSION) # Ugly solution ifeq ($(HB_COMPILER),djgpp) diff --git a/harbour/config/instsh.mk b/harbour/config/instsh.mk index 1f0c5fffe6..4910187982 100644 --- a/harbour/config/instsh.mk +++ b/harbour/config/instsh.mk @@ -64,7 +64,7 @@ ifeq ($(HB_SHELL),os2) # It causes that every commands will be separated by LF define inst_file $(if $(wildcard $(INSTALL_DIR)),,-@$(MDP) $(INSTALL_DIR)) - -@$(COMSPEC) /C $(CP) $(file) $(INSTALL_DIR_OS) + -@$(CMDPREF)$(CP) $(file) $(INSTALL_DIR_OS) endef