2009-08-25 17:32 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)

* config/global.mk
    + Added dos/djgpp autodetection for *nix platforms.

  * contrib/hbfbird/Makefile
    + Extended autodetection and feedback. Experimenting.

  * config/globsh.mk
    + Added web links to DJGPP FAQ instead of binary FAQ package.

  * contrib/hbqt/Makefile
  * contrib/hbfbird/Makefile
  * contrib/gtqtc/Makefile
  * source/Makefile
  * config/global.mk
    * HB_OS_UNIX GNU Make var renamed to HB_PLATFORM_UNIX.
      Content is now non-empty or empty (was yes or no).

  * config/sunos/sunpro.mk
    + Changes made to config/linux/sunpro.mk applied here also.
This commit is contained in:
Viktor Szakats
2009-08-25 15:34:21 +00:00
parent b6b631464c
commit fe19e51d63
8 changed files with 101 additions and 34 deletions

View File

@@ -17,6 +17,27 @@
past entries belonging to author(s): Viktor Szakats.
*/
2009-08-25 17:32 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/global.mk
+ Added dos/djgpp autodetection for *nix platforms.
* contrib/hbfbird/Makefile
+ Extended autodetection and feedback. Experimenting.
* config/globsh.mk
+ Added web links to DJGPP FAQ instead of binary FAQ package.
* contrib/hbqt/Makefile
* contrib/hbfbird/Makefile
* contrib/gtqtc/Makefile
* source/Makefile
* config/global.mk
* HB_OS_UNIX GNU Make var renamed to HB_PLATFORM_UNIX.
Content is now non-empty or empty (was yes or no).
* config/sunos/sunpro.mk
+ Changes made to config/linux/sunpro.mk applied here also.
2009-08-25 16:49 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/config/linux/sunpro.mk
! fixed dynamic library creation - @<filename> is not supported by

View File

@@ -676,6 +676,45 @@ ifeq ($(HB_COMPILER),)
else
$(error ! Harbour build couldn't find cegcc cross-compiler. Please install it to /opt/mingw32ce, or point HB_CCPATH/HB_CCPREFIX environment variables to it)
endif
else
ifeq ($(HB_PLATFORM),dos)
# Look for djgpp compiler on HB_CCPATH if it's set
ifneq ($(HB_CCPATH),)
ifneq ($(call find_in_path_par,i586-pc-msdosdjgpp,$(HB_CCPATH)),)
HB_COMPILER := djgpp
HB_CCPREFIX := i586-pc-msdosdjgpp-
HB_CCPATH := $(HB_CCPATH)/
else
HB_CCPATH :=
HB_CCPREFIX :=
endif
endif
# If HB_CCPATH not set, or couldn't be found on the provided PATH,
# try to detect them in default locations
ifeq ($(HB_CCPATH),)
HB_CCPATH := /usr/local/i586-pc-msdosdjgpp
ifneq ($(call find_in_path_par,i586-pc-msdosdjgpp,$(HB_CCPATH)),)
HB_COMPILER := djgpp
HB_CCPREFIX := i586-pc-msdosdjgpp-
else
HB_CCPATH :=
HB_CCPREFIX :=
endif
endif
ifneq ($(HB_CCPATH)$(HB_CCPREFIX),)
HB_COMP_PATH := $(dir $(HB_CCPATH))
HB_PLATFORM := dos
export HB_TOOLS_PREF := hbce
export HB_XBUILD := dos
ifneq ($(HB_HOST_BUILD),all)
HB_HOST_BUILD := lib
endif
else
$(error ! Harbour build couldn't find djgpp cross-compiler. Please install it to /usr/local/i586-pc-msdosdjgpp, or point HB_CCPATH/HB_CCPREFIX environment variables to it)
endif
endif
endif
endif
endif
@@ -872,9 +911,9 @@ export HB_COMPILER
export HB_SHELL
ifneq ($(filter $(HB_PLATFORM),win wce dos os2),)
HB_OS_UNIX := no
HB_PLATFORM_UNIX :=
else
HB_OS_UNIX := yes
HB_PLATFORM_UNIX := yes
endif
PLAT_COMP := $(HB_PLATFORM)/$(HB_COMPILER)$(subst \,/,$(HB_BUILD_NAME))
@@ -882,7 +921,7 @@ PLAT_COMP := $(HB_PLATFORM)/$(HB_COMPILER)$(subst \,/,$(HB_BUILD_NAME))
OBJ_DIR := obj/$(PLAT_COMP)
BIN_DIR := $(TOP)$(ROOT)bin/$(PLAT_COMP)
LIB_DIR := $(TOP)$(ROOT)lib/$(PLAT_COMP)
ifeq ($(HB_OS_UNIX),no)
ifeq ($(HB_PLATFORM_UNIX),)
DYN_DIR := $(BIN_DIR)
IMP_DIR := $(LIB_DIR)
else
@@ -1106,10 +1145,10 @@ ifneq ($(HB_DB_DRVEXT),)
HB_RDD_DIRS += $(HB_DB_DRVEXT)
endif
ifeq ($(HB_OS_UNIX),yes)
HB_DYN_VER := $(HB_VER_MAJOR).$(HB_VER_MINOR).$(HB_VER_RELEASE)
else
ifeq ($(HB_PLATFORM_UNIX),)
HB_DYN_VER := $(HB_VER_MAJOR)$(HB_VER_MINOR)
else
HB_DYN_VER := $(HB_VER_MAJOR).$(HB_VER_MINOR).$(HB_VER_RELEASE)
endif
ifneq ($(HB_PLATFORM),dos)
@@ -1152,7 +1191,7 @@ else
# Fill it automatically if not specified
ifeq ($(HB_INSTALL_PREFIX),)
ifeq ($(HB_OS_UNIX),no)
ifeq ($(HB_PLATFORM_UNIX),)
HB_INSTALL_PREFIX := $(realpath $(TOP)$(ROOT))
else
ifneq ($(PREFIX),)
@@ -1195,7 +1234,7 @@ endif
ifneq ($(HB_INSTALL_PREFIX),)
ifeq ($(HB_OS_UNIX),no)
ifeq ($(HB_PLATFORM_UNIX),)
LIBPOSTFIX := $(DIRSEP)$(subst /,$(DIRSEP),$(PLAT_COMP))
else
# Not perfect, please enhance it.
@@ -1221,7 +1260,7 @@ ifneq ($(HB_INSTALL_PREFIX),)
export HB_LIB_INSTALL := $(HB_INSTALL_PREFIX)$(DIRSEP)lib$(LIBPOSTFIX)
endif
ifeq ($(HB_DYN_INSTALL),)
ifeq ($(HB_OS_UNIX),no)
ifeq ($(HB_PLATFORM_UNIX),)
export HB_DYN_INSTALL := $(HB_BIN_INSTALL)
else
export HB_DYN_INSTALL := $(HB_LIB_INSTALL)
@@ -1236,7 +1275,7 @@ ifneq ($(HB_INSTALL_PREFIX),)
# Standard name: DOCDIR
ifeq ($(HB_DOC_INSTALL),)
# Don't set doc dir for *nix targets
ifeq ($(HB_OS_UNIX),no)
ifeq ($(HB_PLATFORM_UNIX),)
ifneq ($(HB_INSTALL_PREFIX),$(HB_INSTALL_PREFIX_TOP))
export HB_DOC_INSTALL := $(HB_INSTALL_PREFIX)$(DIRSEP)doc
endif

View File

@@ -163,8 +163,9 @@ ifeq ($(HB_SHELL),dos)
# NOTE: DOS command line length has a limit of 126 characters.
# When using DJGPP GNU Make to invoke other DJGPP tools this limit
# is about 13KB, as they do special trick to overcome it.
# See DJGPP (djgppfaq) FAQ 16.4 and 16.5:
# ftp://ftp.delorie.com/pub/djgpp/v2faq/frfaq.zip
# See these DJGPP FAQs:
# http://www.delorie.com/djgpp/v2faq/faq16_4.html
# http://www.delorie.com/djgpp/v2faq/faq16_5.html
# [vszakats]
MK := $(subst \,/,$(MAKE))

View File

@@ -114,15 +114,6 @@ endif
DY_OUT := -o$(subst x,x, )
DLIBS :=
# NOTE: The empty line directly before 'endef' HAVE TO exist!
define dyn_object
@$(ECHO) $(ECHOQUOTE)$(subst \,/,$(file))$(ECHOQUOTE) >> __dyn__.tmp
endef
define create_dynlib
$(if $(wildcard __dyn__.tmp),@$(RM) __dyn__.tmp,)
$(foreach file,$^,$(dyn_object))
$(DY) $(DFLAGS) $(HB_USER_DFLAGS) $(DY_OUT)$(DYN_DIR)/$@ @__dyn__.tmp
endef
DY_RULE = $(DY) $(DFLAGS) $(HB_USER_DFLAGS) $(DY_OUT)$(DYN_DIR)/$@ $^
include $(TOP)$(ROOT)config/rules.mk

View File

@@ -22,7 +22,7 @@ ifeq ($(PREREQ_MISS),)
ifeq ($(HB_INC_QT),)
ifeq ($(HB_XBUILD),)
ifeq ($(HB_OS_UNIX),yes)
ifneq ($(HB_PLATFORM_UNIX),)
HB_INC_QT := /usr/include/qt4 /usr/lib/qt4/include /usr/include /Developer/qt/include
endif
endif

View File

@@ -16,22 +16,37 @@ PRG_SOURCES := \
ifeq ($(filter $(HB_COMPILER),pocc64 poccarm),)
ifeq ($(HB_INC_FIREBIRD),)
ifeq ($(HB_XBUILD),)
HB_INC_FIREBIRD := /usr/include /opt/firebird/include
ifneq ($(HB_INC_FIREBIRD),no)
ifeq ($(HB_INC_FIREBIRD),)
ifeq ($(HB_XBUILD),)
ifneq ($(HB_PLATFORM_UNIX),)
HB_INC_FIREBIRD := /usr/include /opt/firebird/include
endif
endif
endif
endif
HB_INC_FIREBIRD_OK := $(foreach d, $(HB_INC_FIREBIRD), $(if $(wildcard $(d)/ibase.h),$(d),))
ifneq ($(HB_INC_FIREBIRD),)
HB_INC_FIREBIRD_OK := $(strip $(foreach d, $(HB_INC_FIREBIRD), $(if $(wildcard $(d)/ibase.h),$(d),)))
ifneq ($(strip $(HB_INC_FIREBIRD_OK)),)
ifneq ($(HB_INC_FIREBIRD_OK),)
HB_CFLAGS += $(foreach d,$(HB_INC_FIREBIRD_OK),-I$(d))
HB_CFLAGS += $(foreach d,$(HB_INC_FIREBIRD_OK),-I$(d))
include $(TOP)$(ROOT)config/lib.mk
include $(TOP)$(ROOT)config/lib.mk
else
HB_SKIP_REASON := component not found
include $(TOP)$(ROOT)config/none.mk
endif
else
HB_SKIP_REASON := component location not set
include $(TOP)$(ROOT)config/none.mk
endif
else
HB_SKIP_REASON := deselected
include $(TOP)$(ROOT)config/none.mk
endif
else
HB_SKIP_REASON := compiler not supported
include $(TOP)$(ROOT)config/none.mk
endif

View File

@@ -22,7 +22,7 @@ ifeq ($(PREREQ_MISS),)
ifeq ($(HB_INC_QT),)
ifeq ($(HB_XBUILD),)
ifeq ($(HB_OS_UNIX),yes)
ifneq ($(HB_PLATFORM_UNIX),)
HB_INC_QT := /usr/include/qt4 /usr/lib/qt4/include /usr/include /Developer/qt/include
endif
endif

View File

@@ -19,7 +19,7 @@ else
ifneq ($(HB_BUILD_DLL),no)
ifeq ($(HB_OS_UNIX),yes)
ifneq ($(HB_PLATFORM_UNIX),)
DYNNAME_POST := .$(HB_DYN_VER)
else
DYNNAME_POST := -$(HB_DYN_VER)
@@ -93,7 +93,7 @@ else
ifeq ($(HB_PLATFORM),win)
DYNDIRLIST_BASE += source/rtl/gtwvt source/rtl/gtgui source/rtl/gtwin
endif
ifeq ($(HB_OS_UNIX),yes)
ifneq ($(HB_PLATFORM_UNIX),)
DYNDIRLIST_BASE += source/rtl/gttrm
DYNDIRLIST_BASE += source/rtl/gtcrs
DYNDIRLIST_BASE += source/rtl/gtsln