From 667590d85569de3d6c1c9626b0341b9c69b607bd Mon Sep 17 00:00:00 2001 From: Viktor Szakats Date: Sat, 22 Aug 2009 09:12:38 +0000 Subject: [PATCH] 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. --- harbour/ChangeLog | 22 ++++++++++++++++++- harbour/bin/hb-mkdyn.sh | 4 ++-- harbour/config/darwin/gcc.mk | 2 +- harbour/config/global.mk | 41 +++++++++++++++++++++++------------- harbour/config/instsh.mk | 2 +- 5 files changed, 51 insertions(+), 20 deletions(-) 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