2009-07-14 00:28 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* INSTALL
+ Added Linux build on NT host example.
* utils/hbmk2/hbmk2.prg
+ Added support for most watcom cross-compile situations.
(os2/linux/dos on win, os2/linux/win on dos, dos/win/linux on os2,
dos/win/os2 on linux - I didn't test them all obviously)
! Some fixes regarding Linux targets on non-Linux hosts cross
build situations. This is brand new situation.
! Synced watcom/os2 flags with build ones to avoid hbmk2 build errors
on os2.
! Fixed linux/watcom object extension, which appears to be .obj
when using non-Linux hosts.
* make_gnu.bat
* Linux cross-build support.
! Fixed to find make_gnu.sh when doing partial builds using
bash on Windows.
* config/win/global.cf
* config/win/install.cf
* config/linux/dir.cf
* config/linux/global.cf
* config/linux/install.cf
* config/os2/global.cf
* config/os2/install.cf
* config/wce/global.cf
* config/wce/install.cf
+ install bash section synced across linux/windosos2 platforms.
+ empty target handling synced across linux/windosos2 platforms.
+ Added support to linux build files for cross builds on
Windows and OS/2 hosts.
; TODO: Whole install/global/dir.cf logic is just crying to be moved
to central location and be branched by host platform/shell
rather than target platform.
; Please check me on the linux changes, could be that I messed it up.
* source/rtl/Makefile
+ Enabled to try building all GTs on every platform.
Local autodetection should take care of the decision to finally
build it or not.
* source/rtl/gtxwc/Makefile
* source/rtl/gtcrs/Makefile
* source/rtl/gttrm/Makefile
* source/rtl/gtsln/Makefile
+ Added self-detection for external headers just like it's done
in contribs. This is required to support Linux cross-builds on
Windows. (djgpp + curses ends with build errors)
+ Added GPM autodetection.
+ Enabled gttrm for cygwin. (only in local make file)
; TOFIX: Remove such detection logic from make_gnu.sh (it's
now redundant and doesn't work for djgpp/cygwin)
* source/rtl/gtwin/gtwin.c
* source/rtl/hbgtcore.c
* contrib/xhb/txml.prg
* Minor formatting.
This commit is contained in:
@@ -17,6 +17,66 @@
|
||||
past entries belonging to author(s): Viktor Szakats.
|
||||
*/
|
||||
|
||||
2009-07-14 00:28 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
|
||||
* INSTALL
|
||||
+ Added Linux build on NT host example.
|
||||
|
||||
* utils/hbmk2/hbmk2.prg
|
||||
+ Added support for most watcom cross-compile situations.
|
||||
(os2/linux/dos on win, os2/linux/win on dos, dos/win/linux on os2,
|
||||
dos/win/os2 on linux - I didn't test them all obviously)
|
||||
! Some fixes regarding Linux targets on non-Linux hosts cross
|
||||
build situations. This is brand new situation.
|
||||
! Synced watcom/os2 flags with build ones to avoid hbmk2 build errors
|
||||
on os2.
|
||||
! Fixed linux/watcom object extension, which appears to be .obj
|
||||
when using non-Linux hosts.
|
||||
|
||||
* make_gnu.bat
|
||||
* Linux cross-build support.
|
||||
! Fixed to find make_gnu.sh when doing partial builds using
|
||||
bash on Windows.
|
||||
|
||||
* config/win/global.cf
|
||||
* config/win/install.cf
|
||||
* config/linux/dir.cf
|
||||
* config/linux/global.cf
|
||||
* config/linux/install.cf
|
||||
* config/os2/global.cf
|
||||
* config/os2/install.cf
|
||||
* config/wce/global.cf
|
||||
* config/wce/install.cf
|
||||
+ install bash section synced across linux/windosos2 platforms.
|
||||
+ empty target handling synced across linux/windosos2 platforms.
|
||||
+ Added support to linux build files for cross builds on
|
||||
Windows and OS/2 hosts.
|
||||
; TODO: Whole install/global/dir.cf logic is just crying to be moved
|
||||
to central location and be branched by host platform/shell
|
||||
rather than target platform.
|
||||
; Please check me on the linux changes, could be that I messed it up.
|
||||
|
||||
* source/rtl/Makefile
|
||||
+ Enabled to try building all GTs on every platform.
|
||||
Local autodetection should take care of the decision to finally
|
||||
build it or not.
|
||||
|
||||
* source/rtl/gtxwc/Makefile
|
||||
* source/rtl/gtcrs/Makefile
|
||||
* source/rtl/gttrm/Makefile
|
||||
* source/rtl/gtsln/Makefile
|
||||
+ Added self-detection for external headers just like it's done
|
||||
in contribs. This is required to support Linux cross-builds on
|
||||
Windows. (djgpp + curses ends with build errors)
|
||||
+ Added GPM autodetection.
|
||||
+ Enabled gttrm for cygwin. (only in local make file)
|
||||
; TOFIX: Remove such detection logic from make_gnu.sh (it's
|
||||
now redundant and doesn't work for djgpp/cygwin)
|
||||
|
||||
* source/rtl/gtwin/gtwin.c
|
||||
* source/rtl/hbgtcore.c
|
||||
* contrib/xhb/txml.prg
|
||||
* Minor formatting.
|
||||
|
||||
2009-07-13 11:30 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
|
||||
* contrib/gtqtc/gtqtc.cpp
|
||||
! BYTE => int.
|
||||
|
||||
@@ -630,6 +630,26 @@ EXAMPLES
|
||||
./make_gnu.sh "$@"
|
||||
---
|
||||
|
||||
Linux
|
||||
-----
|
||||
|
||||
--- Open Watcom C++ on Windows NT host (requires native Windows Harbour binaries)
|
||||
SET WATCOM=C:\watcom
|
||||
SET PATH=%WATCOM%\BINNT;%WATCOM%\BINW;%PATH%
|
||||
SET EDPATH=%WATCOM%\EDDAT
|
||||
SET INCLUDE=%WATCOM%\LH
|
||||
rem
|
||||
rem ; Native Windows Harbour binaries need to be installed on this path
|
||||
set HB_BIN_COMPILE=C:\hb-watcom\bin
|
||||
set HB_PPGEN_PATH=%HB_BIN_COMPILE%
|
||||
rem
|
||||
set HB_ARCHITECTURE=linux
|
||||
set HB_COMPILER=watcom
|
||||
set HB_USER_PRGFLAGS=%HB_USER_PRGFLAGS% -D__PLATFORM__LINUX -D__PLATFORM__UNIX -undef:__PLATFORM__WINDOWS
|
||||
set HB_INSTALL_PREFIX=C:\hb-%HB_COMPILER%
|
||||
call make_gnu.bat %1 %2 > log-%HB_COMPILER%.txt 2>&1
|
||||
---
|
||||
|
||||
|
||||
HOW TO GET THE HARBOUR SOURCES
|
||||
==============================
|
||||
|
||||
@@ -4,6 +4,20 @@
|
||||
|
||||
ifeq ($(PM),) # Only traverse directories if not compiling a specific module
|
||||
|
||||
ifeq ($(DIRS),) # Empty directory list
|
||||
|
||||
DIR_RULE = @echo Done
|
||||
|
||||
else
|
||||
|
||||
ifeq ($(SHLVL),) # non-bash
|
||||
|
||||
DIR_MAKE = $(subst /,\,$(MK))
|
||||
DIR_LIST = $(subst /,\,$(DIRS))
|
||||
DIR_RULE = $(COMSPEC) /C for %d in ($(DIR_LIST)) do $(DIR_MAKE) -C %d $@
|
||||
|
||||
else # bash
|
||||
|
||||
DIR_RULE =\
|
||||
@for d in $(DIRS); do \
|
||||
if [ -d $$d ]; then \
|
||||
@@ -11,4 +25,8 @@ DIR_RULE =\
|
||||
fi \
|
||||
done
|
||||
|
||||
endif # ! non-bash
|
||||
|
||||
endif # ! Empty directory list
|
||||
|
||||
endif # ! compiling a specific program module
|
||||
|
||||
@@ -27,6 +27,72 @@ endif
|
||||
# verify if GT drivers exist
|
||||
HB_GT_LIBS := $(foreach gt, $(HB_GT_LIST), $(if $(wildcard $(TOP)$(ROOT)source/rtl/$(gt)),$(gt),))
|
||||
|
||||
ifeq ($(SHLVL),) # non-bash
|
||||
|
||||
ARCH_DIR = $(HB_ARCH)
|
||||
DOS_ARCH_DIR = $(subst /,\,$(HB_ARCH))
|
||||
DOS_LIB_DIR = $(subst /,\,$(LIB_DIR))
|
||||
DOS_LIB_PATH = $(subst /,\,$(LIB_PATH))
|
||||
DOS_LIB_ARCH = $(subst /,\,$(LIB_ARCH))
|
||||
DIRSEP = $(subst /,\,\)
|
||||
|
||||
MK = $(subst /,\,$(subst \~,~,$(MAKE)))
|
||||
|
||||
ifeq ($(OS2_SHELL),) # non-OS/2
|
||||
ifneq ($(ComSpec),)
|
||||
COMSPEC := $(ComSpec)
|
||||
else
|
||||
ifeq ($(COMSPEC),)
|
||||
COMSPEC := cmd.exe
|
||||
endif
|
||||
endif
|
||||
|
||||
RM = del /q /f
|
||||
RD = rmdir /q /s
|
||||
MD = mkdir
|
||||
CP = $(COMSPEC) /c copy
|
||||
MV = move
|
||||
|
||||
dirbase::
|
||||
-@$(COMSPEC) /c if not exist $(DOS_ARCH_DIR)\. $(MD) $(DOS_ARCH_DIR)
|
||||
$(if $(DOS_LIB_DIR),-@$(COMSPEC) /c if not exist $(DOS_LIB_DIR)\. $(MD) $(DOS_LIB_DIR),)
|
||||
|
||||
clean::
|
||||
-@$(COMSPEC) /c if exist $(DOS_ARCH_DIR) $(RD) $(DOS_ARCH_DIR)
|
||||
$(if $(DOS_LIB_ARCH),-@$(COMSPEC) /c if exist $(DOS_LIB_ARCH) $(RM) $(DOS_LIB_ARCH),)
|
||||
|
||||
else # OS/2
|
||||
RM = del /n
|
||||
RD = rmdir
|
||||
MD = md
|
||||
CP = copy
|
||||
MV = move
|
||||
|
||||
ifeq ($(LIB_PATH),)
|
||||
|
||||
dirbase::
|
||||
-for %d in ($(HB_ARCHITECTURE) $(DOS_ARCH_DIR)) do if not exist %d $(MD) %d
|
||||
|
||||
clean::
|
||||
-if exist $(DOS_ARCH_DIR)\*.* $(RM) $(DOS_ARCH_DIR)\*.*
|
||||
-for %d in ($(DOS_ARCH_DIR) $(HB_ARCHITECTURE)) do if exist %d $(RD) %d
|
||||
|
||||
else
|
||||
|
||||
dirbase::
|
||||
-for %d in ($(HB_ARCHITECTURE) $(DOS_ARCH_DIR) $(DOS_LIB_PATH) $(DOS_LIB_DIR)) do if not exist %d $(MD) %d
|
||||
|
||||
clean::
|
||||
-if exist $(DOS_ARCH_DIR)\*.* $(RM) $(DOS_ARCH_DIR)\*.*
|
||||
-for %d in ($(DOS_ARCH_DIR) $(HB_ARCHITECTURE)) do if exist %d $(RD) %d
|
||||
-if exist $(DOS_LIB_ARCH) $(RM) $(DOS_LIB_ARCH)
|
||||
|
||||
endif
|
||||
|
||||
endif
|
||||
|
||||
else # bash
|
||||
|
||||
ARCH_DIR = $(HB_ARCH)
|
||||
MK = $(MAKE)
|
||||
RM = rm -f
|
||||
@@ -43,3 +109,5 @@ dirbase::
|
||||
|
||||
clean::
|
||||
-$(RD) $(ARCH_DIR) $(LIB_ARCH)
|
||||
|
||||
endif
|
||||
|
||||
@@ -2,6 +2,38 @@
|
||||
# $Id$
|
||||
#
|
||||
|
||||
ifeq ($(INSTALL_OBJS),) # Empty install list
|
||||
|
||||
INSTALL_RULE = @echo Done
|
||||
|
||||
else
|
||||
|
||||
ifeq ($(SHLVL),) # non-bash
|
||||
|
||||
ifeq ($(OS2_SHELL),) # non-OS/2
|
||||
|
||||
INSTALL_LIST = $(subst /,\,$(INSTALL_OBJS))
|
||||
|
||||
INSTALL_RULE = \
|
||||
-$(COMSPEC) /c for %%f in ($(INSTALL_LIST)) do copy "%%f" "$(subst /,\,$(INSTALL_DIR))"
|
||||
|
||||
else # OS/2
|
||||
|
||||
# We have to use script to overcome the max command size limit
|
||||
# NOTE: The empty line directly before 'endef' HAVE TO exist!
|
||||
# It causes that every commands will be separated by LF
|
||||
define inst_file
|
||||
$(COMSPEC) /C $(CP) $(file) $(subst /,\,$(INSTALL_DIR))
|
||||
|
||||
endef
|
||||
|
||||
INSTALL_LIST = $(subst /,\,$(INSTALL_OBJS))
|
||||
INSTALL_RULE = $(foreach file, $(INSTALL_LIST), $(inst_file))
|
||||
|
||||
endif
|
||||
|
||||
else # bash
|
||||
|
||||
INSTALL_RULE =\
|
||||
@if [ -z $(INSTALL_DIR) ] || [ ! -d $(INSTALL_DIR) ]; \
|
||||
then \
|
||||
@@ -20,3 +52,7 @@ INSTALL_RULE =\
|
||||
fi \
|
||||
done \
|
||||
fi
|
||||
|
||||
endif
|
||||
|
||||
endif # Empty install list
|
||||
|
||||
@@ -24,7 +24,7 @@ DOS_LIB_PATH = $(subst /,\,$(LIB_PATH))
|
||||
DOS_LIB_ARCH = $(subst /,\,$(LIB_ARCH))
|
||||
DIRSEP = $(subst /,\,\)
|
||||
|
||||
MK = $(subst /,\,$(subst \~,~,$(MAKE)))
|
||||
MK := $(subst /,\,$(subst \~,~,$(MAKE)))
|
||||
|
||||
ifeq ($(OS2_SHELL),) # non-OS/2
|
||||
ifneq ($(ComSpec),)
|
||||
@@ -34,6 +34,7 @@ ifeq ($(OS2_SHELL),) # non-OS/2
|
||||
COMSPEC := cmd.exe
|
||||
endif
|
||||
endif
|
||||
|
||||
RM = del /q /f
|
||||
RD = rmdir /q /s
|
||||
MD = mkdir
|
||||
@@ -82,7 +83,6 @@ else # bash
|
||||
|
||||
ARCH_DIR = $(HB_ARCH)
|
||||
MK = $(MAKE)
|
||||
|
||||
RM = rm -f
|
||||
RD = rm -f -r
|
||||
CP = cp -f
|
||||
|
||||
@@ -35,9 +35,10 @@ endif
|
||||
else # bash
|
||||
|
||||
INSTALL_RULE =\
|
||||
@if [ ! -d $(INSTALL_DIR) ]; \
|
||||
@if [ -z $(INSTALL_DIR) ] || [ ! -d $(INSTALL_DIR) ]; \
|
||||
then \
|
||||
echo "! Can't install, path not found: $(INSTALL_DIR)" 1>&2; \
|
||||
echo "! Can't install, path not found: '$(INSTALL_DIR)'" 1>&2; \
|
||||
false; \
|
||||
else \
|
||||
for i in $(INSTALL_OBJS); \
|
||||
do \
|
||||
|
||||
@@ -65,7 +65,6 @@ else # bash
|
||||
|
||||
ARCH_DIR = $(HB_ARCH)
|
||||
MK = $(MAKE)
|
||||
|
||||
RM = rm -f
|
||||
RD = rm -f -r
|
||||
CP = cp -f
|
||||
|
||||
@@ -18,9 +18,10 @@ INSTALL_RULE = \
|
||||
else # bash
|
||||
|
||||
INSTALL_RULE =\
|
||||
@if [ ! -d $(INSTALL_DIR) ]; \
|
||||
@if [ -z $(INSTALL_DIR) ] || [ ! -d $(INSTALL_DIR) ]; \
|
||||
then \
|
||||
echo "! Can't install, path not found: $(INSTALL_DIR)" 1>&2; \
|
||||
echo "! Can't install, path not found: '$(INSTALL_DIR)'" 1>&2; \
|
||||
false; \
|
||||
else \
|
||||
for i in $(INSTALL_OBJS); \
|
||||
do \
|
||||
|
||||
@@ -61,7 +61,6 @@ else # bash
|
||||
|
||||
ARCH_DIR = $(HB_ARCH)
|
||||
MK = $(MAKE)
|
||||
|
||||
RM = rm -f
|
||||
RD = rm -f -r
|
||||
CP = cp -f
|
||||
|
||||
@@ -18,9 +18,10 @@ INSTALL_RULE = \
|
||||
else # bash
|
||||
|
||||
INSTALL_RULE =\
|
||||
@if [ ! -d $(INSTALL_DIR) ]; \
|
||||
@if [ -z $(INSTALL_DIR) ] || [ ! -d $(INSTALL_DIR) ]; \
|
||||
then \
|
||||
echo "! Can't install, path not found: $(INSTALL_DIR)" 1>&2; \
|
||||
echo "! Can't install, path not found: '$(INSTALL_DIR)'" 1>&2; \
|
||||
false; \
|
||||
else \
|
||||
for i in $(INSTALL_OBJS); \
|
||||
do \
|
||||
|
||||
@@ -362,14 +362,16 @@ METHOD New( xElem, nStyle ) CLASS TXmlDocument
|
||||
::oRoot := TXmlNode():New( HBXML_TYPE_DOCUMENT )
|
||||
ELSE
|
||||
SWITCH ValType( xElem )
|
||||
CASE "O"
|
||||
::oRoot := xElem
|
||||
EXIT
|
||||
CASE "O"
|
||||
::oRoot := xElem
|
||||
EXIT
|
||||
|
||||
CASE "N"
|
||||
CASE "C"
|
||||
::oRoot := TXmlNode():New( HBXML_TYPE_DOCUMENT )
|
||||
::Read( xElem, nStyle )
|
||||
EXIT
|
||||
|
||||
CASE "N"
|
||||
CASE "C"
|
||||
::oRoot := TXmlNode():New( HBXML_TYPE_DOCUMENT )
|
||||
::Read( xElem, nStyle )
|
||||
ENDSWITCH
|
||||
ENDIF
|
||||
|
||||
|
||||
@@ -161,6 +161,7 @@ if "%HB_COMPILER%" == "" set HB_COMPILER=djgpp
|
||||
set _HB_PATH=
|
||||
|
||||
if "%HB_ARCHITECTURE%" == "os2" goto SKIP_WINDLL
|
||||
if "%HB_ARCHITECTURE%" == "linux" goto SKIP_WINDLL
|
||||
|
||||
rem ---------------------------------------------------------------
|
||||
rem Start the GNU Make system
|
||||
@@ -215,7 +216,7 @@ if "%HB_COMPILER%" == "" set HB_COMPILER=djgpp
|
||||
:DO_GCC_CYG
|
||||
|
||||
set HB_DYNLIB=no
|
||||
sh make_gnu.sh clean install %HB_USER_MAKEFLAGS%
|
||||
sh %~dp0make_gnu.sh clean install %HB_USER_MAKEFLAGS%
|
||||
if errorlevel 1 echo Harbour GNU Make returned: %ERRORLEVEL%
|
||||
goto MAKE_DONE
|
||||
|
||||
@@ -229,7 +230,7 @@ if "%HB_COMPILER%" == "" set HB_COMPILER=djgpp
|
||||
|
||||
:SKIP_WINDLL_CYG
|
||||
|
||||
sh make_gnu.sh %HB_USER_MAKEFLAGS% %1 %2 %3 %4 %5 %6 %7 %8 %9 %_HB_BUILD_LOG%
|
||||
sh %~dp0make_gnu.sh %HB_USER_MAKEFLAGS% %1 %2 %3 %4 %5 %6 %7 %8 %9 %_HB_BUILD_LOG%
|
||||
if errorlevel 1 echo Harbour GNU Make returned: %ERRORLEVEL%
|
||||
goto MAKE_DONE
|
||||
|
||||
|
||||
@@ -255,8 +255,19 @@ PRG_SOURCES=\
|
||||
|
||||
LIBNAME=hbrtl
|
||||
|
||||
# The list of all valid GT drivers is defined in config/<arch>/global.cf.
|
||||
DIRS=$(HB_GT_LIBS)
|
||||
DIRS=\
|
||||
gtcgi \
|
||||
gtcrs \
|
||||
gtdos \
|
||||
gtgui \
|
||||
gtos2 \
|
||||
gtpca \
|
||||
gtsln \
|
||||
gtstd \
|
||||
gttrm \
|
||||
gtwin \
|
||||
gtwvt \
|
||||
gtxwc \
|
||||
|
||||
include $(TOP)$(ROOT)config/lib.cf
|
||||
include $(TOP)$(ROOT)config/dir.cf
|
||||
|
||||
@@ -4,32 +4,49 @@
|
||||
|
||||
ROOT = ../../../
|
||||
|
||||
LIBNAME=gtcrs
|
||||
|
||||
C_SOURCES=\
|
||||
gtcrs.c \
|
||||
|
||||
LIBNAME=gtcrs
|
||||
ifeq ($(HB_INC_CURSES),)
|
||||
ifeq ($(HB_XBUILD),)
|
||||
ifeq ($(HB_NCURSES_194),yes)
|
||||
HB_INC_CURSES = /usr/include/ncur194
|
||||
else
|
||||
HB_INC_CURSES = /usr/include/ncurses /sw/include /sw/include/ncurses
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(HB_WITHOUT_GTCRS),yes)
|
||||
#HB_INC_CURSES =
|
||||
endif
|
||||
|
||||
HB_INC_CURSES_OK += $(foreach d, $(HB_INC_CURSES), $(if $(wildcard $(d)/curses.h),$(d),))
|
||||
|
||||
ifneq ($(strip $(HB_INC_CURSES_OK)),)
|
||||
|
||||
HB_INC_GPM = /usr/include /usr/local/include
|
||||
HB_INC_GPM_OK += $(foreach d, $(HB_INC_GPM), $(if $(wildcard $(d)/gpm.h),$(d),))
|
||||
|
||||
ifeq ($(HB_GT_CRS_BCEHACK),yes)
|
||||
HB_USER_CFLAGS += -DHB_GT_CRS_BCEHACK
|
||||
endif
|
||||
ifneq ($(strip $(HB_INC_GPM_OK)),)
|
||||
HB_USER_CFLAGS += -DHAVE_GPM_H
|
||||
ifeq ($(HB_GPM_NOICE_DISABLE),yes)
|
||||
HB_USER_CFLAGS += -DHB_GPM_NOICE_DISABLE
|
||||
endif
|
||||
endif
|
||||
ifeq ($(HB_NCURSES_194),yes)
|
||||
HB_USER_CFLAGS += -DHB_NCURSES_194
|
||||
endif
|
||||
|
||||
HB_USER_CFLAGS += $(foreach d, $(HB_INC_CURSES_OK), -I$(d))
|
||||
|
||||
include $(TOP)$(ROOT)config/lib.cf
|
||||
|
||||
# a workaround of a problem with different include directories
|
||||
# for slang curses files between different unix distributions
|
||||
ifeq ($(HB_NCURSES_FINK),yes)
|
||||
CFLAGS += -I/sw/include -I/sw/include/ncurses
|
||||
else
|
||||
ifeq ($(HB_NCURSES_194),yes)
|
||||
CFLAGS += -I/usr/include/ncur194
|
||||
CFLAGS += -DHB_NCURSES_194
|
||||
else
|
||||
CFLAGS += -I/usr/include/ncurses
|
||||
ifeq ($(HB_GT_CRS_BCEHACK),yes)
|
||||
CFLAGS += -DHB_GT_CRS_BCEHACK
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(HB_GPM_MOUSE),yes)
|
||||
CFLAGS += -DHAVE_GPM_H
|
||||
ifeq ($(HB_GPM_NOICE_DISABLE),yes)
|
||||
CFLAGS += -DHB_GPM_NOICE_DISABLE
|
||||
endif
|
||||
include $(TOP)$(ROOT)config/none.cf
|
||||
endif
|
||||
|
||||
@@ -4,34 +4,50 @@
|
||||
|
||||
ROOT = ../../../
|
||||
|
||||
LIBNAME=gtsln
|
||||
|
||||
C_SOURCES=\
|
||||
gtsln.c \
|
||||
kbsln.c \
|
||||
mousesln.c \
|
||||
|
||||
LIBNAME=gtsln
|
||||
ifeq ($(HB_INC_SLANG),)
|
||||
ifeq ($(HB_XBUILD),)
|
||||
ifeq ($(HB_LOCAL_SLN),yes)
|
||||
HB_INC_SLANG = /usr/local/include /usr/local/include/slang
|
||||
LDFLAGS := -L/usr/local/lib $(LDFLAGS)
|
||||
else
|
||||
HB_INC_SLANG = /usr/include/slang /usr/local/include /usr/local/include/slang /sw/include /opt/local/include
|
||||
LDFLAGS := -L/usr/lib/slang -L/usr/local/lib -L/usr/local/lib/slang $(LDFLAGS)
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(HB_WITHOUT_GTSLN),yes)
|
||||
HB_INC_SLANG =
|
||||
endif
|
||||
ifeq ($(HB_COMMERCE),yes)
|
||||
HB_INC_SLANG =
|
||||
endif
|
||||
|
||||
HB_INC_SLANG_OK += $(foreach d, $(HB_INC_SLANG), $(if $(wildcard $(d)/slang.h),$(d),))
|
||||
|
||||
ifneq ($(strip $(HB_INC_SLANG_OK)),)
|
||||
|
||||
HB_INC_GPM = /usr/include /usr/local/include
|
||||
HB_INC_GPM_OK += $(foreach d, $(HB_INC_GPM), $(if $(wildcard $(d)/gpm.h),$(d),))
|
||||
|
||||
ifneq ($(strip $(HB_INC_GPM_OK)),)
|
||||
HB_USER_CFLAGS += -DHAVE_GPM_H
|
||||
ifeq ($(HB_GPM_NOICE_DISABLE),yes)
|
||||
HB_USER_CFLAGS += -DHB_GPM_NOICE_DISABLE
|
||||
endif
|
||||
endif
|
||||
|
||||
HB_USER_CFLAGS += $(foreach d, $(HB_INC_SLANG_OK), -I$(d))
|
||||
|
||||
include $(TOP)$(ROOT)config/lib.cf
|
||||
|
||||
# a workaround of a problem with different include directories
|
||||
# for slang header files between different unix distributions
|
||||
ifeq ($(HB_LOCAL_SLN),yes)
|
||||
|
||||
CFLAGS := -I/usr/local/include -I/usr/local/include/slang $(CFLAGS)
|
||||
LDFLAGS := -L/usr/local/lib $(LDFLAGS)
|
||||
|
||||
else
|
||||
|
||||
CFLAGS := -I/usr/include/slang -I/usr/local/include \
|
||||
-I/usr/local/include/slang -I/sw/include -I/opt/local/include $(CFLAGS)
|
||||
LDFLAGS := -L/usr/lib/slang -L/usr/local/lib -L/usr/local/lib/slang $(LDFLAGS)
|
||||
|
||||
endif
|
||||
|
||||
|
||||
ifeq ($(HB_GPM_MOUSE),yes)
|
||||
CFLAGS += -DHAVE_GPM_H
|
||||
ifeq ($(HB_GPM_NOICE_DISABLE),yes)
|
||||
CFLAGS += -DHB_GPM_NOICE_DISABLE
|
||||
endif
|
||||
include $(TOP)$(ROOT)config/none.cf
|
||||
endif
|
||||
|
||||
@@ -4,16 +4,42 @@
|
||||
|
||||
ROOT = ../../../
|
||||
|
||||
LIBNAME=gttrm
|
||||
|
||||
C_SOURCES=\
|
||||
gttrm.c \
|
||||
|
||||
LIBNAME=gttrm
|
||||
HB_WITH_GTTRM=yes
|
||||
ifeq ($(HB_ARCHITECTURE),win)
|
||||
HB_WITH_GTTRM=no
|
||||
endif
|
||||
ifeq ($(HB_ARCHITECTURE),wce)
|
||||
HB_WITH_GTTRM=no
|
||||
endif
|
||||
ifeq ($(HB_ARCHITECTURE),dos)
|
||||
HB_WITH_GTTRM=no
|
||||
endif
|
||||
ifeq ($(HB_ARCHITECTURE),os2)
|
||||
HB_WITH_GTTRM=no
|
||||
endif
|
||||
ifeq ($(HB_COMPILER),cygwin)
|
||||
HB_WITH_GTTRM=yes
|
||||
endif
|
||||
|
||||
include $(TOP)$(ROOT)config/lib.cf
|
||||
ifeq ($(HB_WITH_GTTRM),yes)
|
||||
|
||||
ifeq ($(HB_GPM_MOUSE),yes)
|
||||
HB_INC_GPM = /usr/include /usr/local/include
|
||||
HB_INC_GPM_OK += $(foreach d, $(HB_INC_GPM), $(if $(wildcard $(d)/gpm.h),$(d),))
|
||||
|
||||
ifneq ($(strip $(HB_INC_GPM_OK)),)
|
||||
CFLAGS += -DHAVE_GPM_H
|
||||
ifeq ($(HB_GPM_NOICE_DISABLE),yes)
|
||||
CFLAGS += -DHB_GPM_NOICE_DISABLE
|
||||
endif
|
||||
endif
|
||||
|
||||
include $(TOP)$(ROOT)config/lib.cf
|
||||
|
||||
else
|
||||
include $(TOP)$(ROOT)config/none.cf
|
||||
endif
|
||||
|
||||
@@ -583,8 +583,8 @@ static void hb_gt_win_xGetScreenContents( PHB_GT pGT, SMALL_RECT * psrWin )
|
||||
i = iRow * _GetScreenWidth() + psrWin->Left;
|
||||
for( iCol = psrWin->Left; iCol <= psrWin->Right; ++iCol )
|
||||
{
|
||||
HB_GTSELF_PUTSCRCHAR( pGT, iRow, iCol, ( BYTE ) s_pCharInfoScreen[i].Attributes, 0,
|
||||
s_charTransRev[ ( BYTE ) s_pCharInfoScreen[i].Char.AsciiChar ] );
|
||||
HB_GTSELF_PUTSCRCHAR( pGT, iRow, iCol, ( BYTE ) s_pCharInfoScreen[ i ].Attributes, 0,
|
||||
s_charTransRev[ ( BYTE ) s_pCharInfoScreen[ i ].Char.AsciiChar ] );
|
||||
++i;
|
||||
}
|
||||
}
|
||||
@@ -617,8 +617,8 @@ static void hb_gt_win_xInitScreenParam( PHB_GT pGT )
|
||||
|
||||
s_iCurRow = s_csbi.dwCursorPosition.Y;
|
||||
s_iCurCol = s_csbi.dwCursorPosition.X;
|
||||
s_iUpdtTop = s_csbi.dwSize.Y;
|
||||
s_iUpdtLeft = s_csbi.dwSize.X;
|
||||
s_iUpdtTop = _GetScreenHeight();
|
||||
s_iUpdtLeft = _GetScreenWidth();
|
||||
s_iUpdtBottom = s_iUpdtRight = 0;
|
||||
|
||||
/*
|
||||
@@ -630,8 +630,8 @@ static void hb_gt_win_xInitScreenParam( PHB_GT pGT )
|
||||
#if 0
|
||||
srWin.Top = 0;
|
||||
srWin.Left = 0;
|
||||
srWin.Bottom = s_csbi.dwSize.Y - 1;
|
||||
srWin.Right = s_csbi.dwSize.X - 1;
|
||||
srWin.Bottom = _GetScreenHeight() - 1;
|
||||
srWin.Right = _GetScreenWidth() - 1;
|
||||
#else
|
||||
srWin.Top = s_csbi.srWindow.Top;
|
||||
srWin.Left = s_csbi.srWindow.Left;
|
||||
@@ -1228,7 +1228,7 @@ static int hb_gt_win_ReadKey( PHB_GT pGT, int iEventMask )
|
||||
/* Save the keyboard state and ASCII,scan, key code */
|
||||
WORD wKey = s_irInBuf[ s_cNumIndex ].Event.KeyEvent.wVirtualScanCode;
|
||||
WORD wChar = s_irInBuf[ s_cNumIndex ].Event.KeyEvent.wVirtualKeyCode;
|
||||
DWORD dwState= s_irInBuf[ s_cNumIndex ].Event.KeyEvent.dwControlKeyState;
|
||||
DWORD dwState = s_irInBuf[ s_cNumIndex ].Event.KeyEvent.dwControlKeyState;
|
||||
|
||||
ch = s_irInBuf[ s_cNumIndex ].Event.KeyEvent.uChar.AsciiChar;
|
||||
|
||||
@@ -1296,7 +1296,7 @@ static int hb_gt_win_ReadKey( PHB_GT pGT, int iEventMask )
|
||||
extKey = EXKEY_DOWN;
|
||||
else if( wChar == 45 ) /* VK_INSERT */
|
||||
extKey = EXKEY_INS;
|
||||
else if( wChar == 46 && (!(ch==46)) ) /* VK_DELETE */
|
||||
else if( wChar == 46 && ch != 46 ) /* VK_DELETE */
|
||||
{
|
||||
/* International keyboard under Win98 - when VirtualKey and Ascii
|
||||
char are both 46, then it's keypad del key, but numlock is on,
|
||||
@@ -1316,7 +1316,7 @@ static int hb_gt_win_ReadKey( PHB_GT pGT, int iEventMask )
|
||||
else if( wChar == 109 ) /* VK_SUBTRACT */
|
||||
extKey = EXKEY_KPMINUS;
|
||||
else if( wChar == 111 || /* VK_DIVIDE */
|
||||
( wChar == 191 && ( dwState & ENHANCED_KEY )))
|
||||
( wChar == 191 && ( dwState & ENHANCED_KEY ) ) )
|
||||
{
|
||||
/* This should be for other than Win98 */
|
||||
extKey = EXKEY_KPDIVIDE;
|
||||
|
||||
@@ -4,9 +4,29 @@
|
||||
|
||||
ROOT = ../../../
|
||||
|
||||
LIBNAME=gtxwc
|
||||
|
||||
C_SOURCES=\
|
||||
gtxwc.c \
|
||||
|
||||
LIBNAME=gtxwc
|
||||
ifeq ($(HB_INC_X11),)
|
||||
ifeq ($(HB_XBUILD),)
|
||||
HB_INC_X11 = /usr/include
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(HB_WITHOUT_GTXWC),yes)
|
||||
HB_INC_X11 =
|
||||
endif
|
||||
|
||||
HB_INC_X11_OK += $(foreach d, $(HB_INC_X11), $(if $(wildcard $(d)/X11/Xlib.h),$(d),))
|
||||
|
||||
ifneq ($(strip $(HB_INC_X11_OK)),)
|
||||
|
||||
HB_USER_CFLAGS += $(foreach d, $(HB_INC_X11_OK), -I$(d))
|
||||
|
||||
include $(TOP)$(ROOT)config/lib.cf
|
||||
|
||||
else
|
||||
include $(TOP)$(ROOT)config/none.cf
|
||||
endif
|
||||
|
||||
@@ -1506,7 +1506,7 @@ static BOOL hb_gt_def_Info( PHB_GT pGT, int iType, PHB_GT_INFO pInfo )
|
||||
HB_GTSELF_FLUSH( pGT );
|
||||
/* no break; */
|
||||
}
|
||||
case HB_GTI_GETWIN: /* save screen buffer, cursor shape and possition */
|
||||
case HB_GTI_GETWIN: /* save screen buffer, cursor shape and position */
|
||||
{
|
||||
int iRow, iCol;
|
||||
ULONG ulSize;
|
||||
|
||||
@@ -428,42 +428,55 @@ STATIC PROCEDURE hbmk_COMP_Setup( cARCH, cCOMP, cBasePath )
|
||||
cBasePath := PathNormalize( cBasePath )
|
||||
|
||||
DO CASE
|
||||
CASE cARCH == "win" .AND. cCOMP == "watcom"
|
||||
|
||||
hb_SetEnv( "WATCOM", cBasePath )
|
||||
hb_SetEnv( "PATH", cBasePath + hb_osPathSeparator() + "BINNT;" + cBasePath + hb_osPathSeparator() + "BINW;" + hb_GetEnv( "PATH" ) )
|
||||
hb_SetEnv( "EDPATH", cBasePath + hb_osPathSeparator() + "EDDAT" )
|
||||
hb_SetEnv( "INCLUDE", cBasePath + hb_osPathSeparator() + "H;" + cBasePath + hb_osPathSeparator() + "H" + hb_osPathSeparator() + "NT" )
|
||||
|
||||
CASE cARCH == "win" .AND. cCOMP == "pocc"
|
||||
|
||||
hb_SetEnv( "PATH", cBasePath + hb_osPathSeparator() + "Bin;" + hb_GetEnv( "PATH" ) )
|
||||
hb_SetEnv( "INCLUDE", cBasePath + hb_osPathSeparator() + "Include;" + cBasePath + hb_osPathSeparator() + "Include" + hb_osPathSeparator() + "Win" )
|
||||
hb_SetEnv( "LIB", cBasePath + hb_osPathSeparator() + "Lib;" + cBasePath + hb_osPathSeparator() + "Lib" + hb_osPathSeparator() + "Win" )
|
||||
|
||||
CASE cARCH == "win" .AND. cCOMP == "pocc64"
|
||||
|
||||
hb_SetEnv( "PATH", cBasePath + hb_osPathSeparator() + "Bin;" + hb_GetEnv( "PATH" ) )
|
||||
hb_SetEnv( "INCLUDE", cBasePath + hb_osPathSeparator() + "Include;" + cBasePath + hb_osPathSeparator() + "Include" + hb_osPathSeparator() + "Win" )
|
||||
hb_SetEnv( "LIB", cBasePath + hb_osPathSeparator() + "Lib;" + cBasePath + hb_osPathSeparator() + "Lib" + hb_osPathSeparator() + "Win64" )
|
||||
|
||||
CASE cARCH == "wce" .AND. cCOMP == "poccarm"
|
||||
|
||||
hb_SetEnv( "PATH", cBasePath + hb_osPathSeparator() + "Bin;" + hb_GetEnv( "PATH" ) )
|
||||
hb_SetEnv( "INCLUDE", cBasePath + hb_osPathSeparator() + "Include" + hb_osPathSeparator() + "WinCE;" + cBasePath + hb_osPathSeparator() + "Include" )
|
||||
hb_SetEnv( "LIB", cBasePath + hb_osPathSeparator() + "Lib;" + cBasePath + hb_osPathSeparator() + "Lib" + hb_osPathSeparator() + "WinCE" )
|
||||
|
||||
CASE cARCH == "dos" .AND. cCOMP == "djgpp"
|
||||
|
||||
hb_SetEnv( "DJGPP", cBasePath + hb_osPathSeparator() + "djgpp.env" )
|
||||
hb_SetEnv( "PATH", cBasePath + hb_osPathSeparator() + "bin;" + hb_GetEnv( "PATH" ) )
|
||||
hb_SetEnv( "PATH", cBasePath + hb_osPathSeparator() + "bin" + hb_osPathListSeparator() + hb_GetEnv( "PATH" ) )
|
||||
|
||||
CASE cARCH == "dos" .AND. cCOMP == "watcom"
|
||||
CASE cARCH == "win" .AND. cCOMP == "pocc"
|
||||
|
||||
hb_SetEnv( "PATH", cBasePath + hb_osPathSeparator() + "Bin" + hb_osPathListSeparator() + hb_GetEnv( "PATH" ) )
|
||||
hb_SetEnv( "INCLUDE", cBasePath + hb_osPathSeparator() + "Include" + hb_osPathListSeparator() + cBasePath + hb_osPathSeparator() + "Include" + hb_osPathSeparator() + "Win" )
|
||||
hb_SetEnv( "LIB", cBasePath + hb_osPathSeparator() + "Lib" + hb_osPathListSeparator() + cBasePath + hb_osPathSeparator() + "Lib" + hb_osPathSeparator() + "Win" )
|
||||
|
||||
CASE cARCH == "win" .AND. cCOMP == "pocc64"
|
||||
|
||||
hb_SetEnv( "PATH", cBasePath + hb_osPathSeparator() + "Bin" + hb_osPathListSeparator() + hb_GetEnv( "PATH" ) )
|
||||
hb_SetEnv( "INCLUDE", cBasePath + hb_osPathSeparator() + "Include" + hb_osPathListSeparator() + cBasePath + hb_osPathSeparator() + "Include" + hb_osPathSeparator() + "Win" )
|
||||
hb_SetEnv( "LIB", cBasePath + hb_osPathSeparator() + "Lib" + hb_osPathListSeparator() + cBasePath + hb_osPathSeparator() + "Lib" + hb_osPathSeparator() + "Win64" )
|
||||
|
||||
CASE cARCH == "wce" .AND. cCOMP == "poccarm"
|
||||
|
||||
hb_SetEnv( "PATH", cBasePath + hb_osPathSeparator() + "Bin" + hb_osPathListSeparator() + hb_GetEnv( "PATH" ) )
|
||||
hb_SetEnv( "INCLUDE", cBasePath + hb_osPathSeparator() + "Include" + hb_osPathSeparator() + "WinCE" + hb_osPathListSeparator() + cBasePath + hb_osPathSeparator() + "Include" )
|
||||
hb_SetEnv( "LIB", cBasePath + hb_osPathSeparator() + "Lib" + hb_osPathListSeparator() + cBasePath + hb_osPathSeparator() + "Lib" + hb_osPathSeparator() + "WinCE" )
|
||||
|
||||
CASE cCOMP == "watcom"
|
||||
|
||||
hb_SetEnv( "WATCOM", cBasePath )
|
||||
hb_SetEnv( "PATH", cBasePath + hb_osPathSeparator() + "BINW;" + hb_GetEnv( "PATH" ) )
|
||||
hb_SetEnv( "EDPATH", cBasePath + hb_osPathSeparator() + "EDDAT" )
|
||||
hb_SetEnv( "INCLUDE", cBasePath + hb_osPathSeparator() + "H" )
|
||||
hb_SetEnv( "EDPATH", cBasePath + hb_osPathSeparator() + "eddat" )
|
||||
|
||||
#if defined( __PLATFORM__WINDOWS )
|
||||
hb_SetEnv( "PATH", cBasePath + hb_osPathSeparator() + "binnt" + hb_osPathListSeparator() + cBasePath + hb_osPathSeparator() + "binw" + hb_osPathListSeparator() + hb_GetEnv( "PATH" ) )
|
||||
#elif defined( __PLATFORM__OS2 )
|
||||
hb_SetEnv( "PATH", cBasePath + hb_osPathSeparator() + "binp" + hb_osPathListSeparator() + cBasePath + hb_osPathSeparator() + "binw" + hb_osPathListSeparator() + hb_GetEnv( "PATH" ) )
|
||||
#elif defined( __PLATFORM__DOS )
|
||||
hb_SetEnv( "PATH", cBasePath + hb_osPathSeparator() + "binw" + hb_osPathListSeparator() + hb_GetEnv( "PATH" ) )
|
||||
#elif defined( __PLATFORM__LINUX )
|
||||
hb_SetEnv( "PATH", cBasePath + hb_osPathSeparator() + "binl" + hb_osPathListSeparator() + hb_GetEnv( "PATH" ) )
|
||||
#endif
|
||||
|
||||
DO CASE
|
||||
CASE cARCH == "win"
|
||||
hb_SetEnv( "INCLUDE", cBasePath + hb_osPathSeparator() + "h" + hb_osPathListSeparator() + cBasePath + hb_osPathSeparator() + "h" + hb_osPathSeparator() + "nt" )
|
||||
CASE cARCH == "os2"
|
||||
hb_SetEnv( "INCLUDE", cBasePath + hb_osPathSeparator() + "h" + hb_osPathListSeparator() + cBasePath + hb_osPathSeparator() + "h" + hb_osPathSeparator() + "os2" )
|
||||
hb_SetEnv( "BEGINLIBPATH", cBasePath + hb_osPathSeparator() + "binp" + hb_osPathSeparator() + "dll" )
|
||||
CASE cARCH == "dos"
|
||||
hb_SetEnv( "INCLUDE", cBasePath + hb_osPathSeparator() + "h" )
|
||||
CASE cARCH == "linux"
|
||||
hb_SetEnv( "INCLUDE", cBasePath + hb_osPathSeparator() + "lh" )
|
||||
ENDCASE
|
||||
|
||||
ENDCASE
|
||||
|
||||
@@ -588,7 +601,7 @@ FUNCTION hbmk( aArgs, /* @ */ lPause, /* @ */ lUTF8 )
|
||||
LOCAL lSysLoc
|
||||
LOCAL cPrefix
|
||||
LOCAL cPostfix
|
||||
LOCAL cCCEXT_mingw
|
||||
LOCAL cCCEXT
|
||||
|
||||
LOCAL lSkipBuild := .F.
|
||||
LOCAL lStopAfterInit := .F.
|
||||
@@ -925,9 +938,9 @@ FUNCTION hbmk( aArgs, /* @ */ lPause, /* @ */ lUTF8 )
|
||||
hbmk[ _HBMK_cCCPOSTFIX ] := GetEnv( "HB_CCPOSTFIX" )
|
||||
|
||||
#if defined( __PLATFORM__UNIX )
|
||||
cCCEXT_mingw := ""
|
||||
cCCEXT := ""
|
||||
#else
|
||||
cCCEXT_mingw := ".exe"
|
||||
cCCEXT := ".exe"
|
||||
#endif
|
||||
|
||||
/* Setup architecture dependent data */
|
||||
@@ -1043,13 +1056,13 @@ FUNCTION hbmk( aArgs, /* @ */ lPause, /* @ */ lUTF8 )
|
||||
l_cHB_INSTALL_PREFIX := PathSepToSelf( GetEnv( "HB_INSTALL_PREFIX" ) )
|
||||
IF Empty( l_cHB_INSTALL_PREFIX )
|
||||
DO CASE
|
||||
CASE hb_FileExists( DirAddPathSep( hb_DirBase() ) + cBin_CompPRG + cBinExt )
|
||||
CASE hb_FileExists( DirAddPathSep( hb_DirBase() ) + cBin_CompPRG + cCCEXT )
|
||||
l_cHB_INSTALL_PREFIX := DirAddPathSep( hb_DirBase() ) + ".."
|
||||
CASE hb_FileExists( DirAddPathSep( hb_DirBase() ) + "bin" + hb_osPathSeparator() + cBin_CompPRG + cBinExt )
|
||||
CASE hb_FileExists( DirAddPathSep( hb_DirBase() ) + "bin" + hb_osPathSeparator() + cBin_CompPRG + cCCEXT )
|
||||
l_cHB_INSTALL_PREFIX := DirAddPathSep( hb_DirBase() )
|
||||
CASE hb_FileExists( DirAddPathSep( hb_DirBase() ) + ".." + hb_osPathSeparator() + ".." + hb_osPathSeparator() + "bin" + hb_osPathSeparator() + cBin_CompPRG + cBinExt )
|
||||
CASE hb_FileExists( DirAddPathSep( hb_DirBase() ) + ".." + hb_osPathSeparator() + ".." + hb_osPathSeparator() + "bin" + hb_osPathSeparator() + cBin_CompPRG + cCCEXT )
|
||||
l_cHB_INSTALL_PREFIX := DirAddPathSep( hb_DirBase() ) + ".." + hb_osPathSeparator() + ".."
|
||||
CASE hb_FileExists( DirAddPathSep( hb_DirBase() ) + ".." + hb_osPathSeparator() + ".." + hb_osPathSeparator() + ".." + hb_osPathSeparator() + "bin" + hb_osPathSeparator() + cBin_CompPRG + cBinExt )
|
||||
CASE hb_FileExists( DirAddPathSep( hb_DirBase() ) + ".." + hb_osPathSeparator() + ".." + hb_osPathSeparator() + ".." + hb_osPathSeparator() + "bin" + hb_osPathSeparator() + cBin_CompPRG + cCCEXT )
|
||||
l_cHB_INSTALL_PREFIX := DirAddPathSep( hb_DirBase() ) + ".." + hb_osPathSeparator() + ".." + hb_osPathSeparator() + ".."
|
||||
OTHERWISE
|
||||
hbmk_OutErr( hbmk, I_( "Error: HB_INSTALL_PREFIX not set, failed to autodetect." ) )
|
||||
@@ -1081,25 +1094,37 @@ FUNCTION hbmk( aArgs, /* @ */ lPause, /* @ */ lUTF8 )
|
||||
|
||||
aCOMPDET_EMBED := {}
|
||||
|
||||
IF hbmk[ _HBMK_cARCH ] $ "win|wce|dos"
|
||||
IF hbmk[ _HBMK_cARCH ] $ "win|wce|dos|os2|linux"
|
||||
|
||||
#if defined( __PLATFORM__WINDOWS )
|
||||
|
||||
AAdd( aCOMPDET_EMBED, { {| cPrefix | tmp1 := PathNormalize( DirAddPathSep( l_cHB_INSTALL_PREFIX ) + _COMPEMBED_BASE_ + "mingw" + hb_osPathSeparator() + "bin" ), iif( hb_FileExists( tmp1 + hb_osPathSeparator() + cPrefix + "gcc" + cCCEXT_mingw ), tmp1, NIL ) }, "win", "mingw" , "" , NIL } )
|
||||
AAdd( aCOMPDET_EMBED, { {| cPrefix | tmp1 := PathNormalize( DirAddPathSep( l_cHB_INSTALL_PREFIX ) + _COMPEMBED_BASE_ + "mingw64" + hb_osPathSeparator() + "bin" ), iif( hb_FileExists( tmp1 + hb_osPathSeparator() + cPrefix + "gcc" + cCCEXT_mingw ), tmp1, NIL ) }, "win", "mingw64" , "x86_64-w64-mingw32-" , NIL } )
|
||||
AAdd( aCOMPDET_EMBED, { {| cPrefix | tmp1 := PathNormalize( DirAddPathSep( l_cHB_INSTALL_PREFIX ) + _COMPEMBED_BASE_ + "mingwarm" + hb_osPathSeparator() + "bin" ), iif( hb_FileExists( tmp1 + hb_osPathSeparator() + cPrefix + "gcc" + cCCEXT_mingw ), tmp1, NIL ) }, "wce", "mingwarm", "arm-mingw32ce-" , NIL } )
|
||||
AAdd( aCOMPDET_EMBED, { {| cPrefix | tmp1 := PathNormalize( DirAddPathSep( l_cHB_INSTALL_PREFIX ) + _COMPEMBED_BASE_ + "mingwarm" + hb_osPathSeparator() + "bin" ), iif( hb_FileExists( tmp1 + hb_osPathSeparator() + cPrefix + "gcc" + cCCEXT_mingw ), tmp1, NIL ) }, "wce", "mingwarm", "arm-wince-mingw32ce-", NIL } )
|
||||
AAdd( aCOMPDET_EMBED, { {| cPrefix | tmp1 := PathNormalize( DirAddPathSep( l_cHB_INSTALL_PREFIX ) + _COMPEMBED_BASE_ + "djgpp" + hb_osPathSeparator() + "bin" ), iif( hb_FileExists( tmp1 + hb_osPathSeparator() + cPrefix + "gcc.exe" ), tmp1, NIL ) }, "dos", "djgpp" , "" , {| cARCH, cCOMP, cPathBin | hbmk_COMP_Setup( cARCH, cCOMP, cPathBin + hb_osPathSeparator() + ".." ) } } )
|
||||
AAdd( aCOMPDET_EMBED, { {| cPrefix | tmp1 := PathNormalize( DirAddPathSep( l_cHB_INSTALL_PREFIX ) + _COMPEMBED_BASE_ + "watcom" + hb_osPathSeparator() + "binnt" ), iif( hb_FileExists( tmp1 + hb_osPathSeparator() + cPrefix + "wpp386.exe" ), tmp1, NIL ) }, "win", "watcom" , "" , {| cARCH, cCOMP, cPathBin | hbmk_COMP_Setup( cARCH, cCOMP, cPathBin + hb_osPathSeparator() + ".." ) } } )
|
||||
AAdd( aCOMPDET_EMBED, { {| cPrefix | tmp1 := PathNormalize( DirAddPathSep( l_cHB_INSTALL_PREFIX ) + _COMPEMBED_BASE_ + "watcom" + hb_osPathSeparator() + "binw" ), iif( hb_FileExists( tmp1 + hb_osPathSeparator() + cPrefix + "wpp386.exe" ), tmp1, NIL ) }, "dos", "watcom" , "" , {| cARCH, cCOMP, cPathBin | hbmk_COMP_Setup( cARCH, cCOMP, cPathBin + hb_osPathSeparator() + ".." ) } } )
|
||||
AAdd( aCOMPDET_EMBED, { {| cPrefix | tmp1 := PathNormalize( DirAddPathSep( l_cHB_INSTALL_PREFIX ) + _COMPEMBED_BASE_ + "pocc" + hb_osPathSeparator() + "Bin" ), iif( hb_FileExists( tmp1 + hb_osPathSeparator() + cPrefix + "pocc.exe" ), tmp1, NIL ) }, "win", "pocc" , "" , {| cARCH, cCOMP, cPathBin | hbmk_COMP_Setup( cARCH, cCOMP, cPathBin + hb_osPathSeparator() + ".." ) } } )
|
||||
AAdd( aCOMPDET_EMBED, { {| cPrefix | tmp1 := PathNormalize( DirAddPathSep( l_cHB_INSTALL_PREFIX ) + _COMPEMBED_BASE_ + "pocc" + hb_osPathSeparator() + "Bin" ), iif( hb_FileExists( tmp1 + hb_osPathSeparator() + cPrefix + "pocc.exe" ), tmp1, NIL ) }, "win", "pocc64" , "" , {| cARCH, cCOMP, cPathBin | hbmk_COMP_Setup( cARCH, cCOMP, cPathBin + hb_osPathSeparator() + ".." ) } } )
|
||||
AAdd( aCOMPDET_EMBED, { {| cPrefix | tmp1 := PathNormalize( DirAddPathSep( l_cHB_INSTALL_PREFIX ) + _COMPEMBED_BASE_ + "pocc" + hb_osPathSeparator() + "Bin" ), iif( hb_FileExists( tmp1 + hb_osPathSeparator() + cPrefix + "pocc.exe" ), tmp1, NIL ) }, "wce", "poccarm" , "" , {| cARCH, cCOMP, cPathBin | hbmk_COMP_Setup( cARCH, cCOMP, cPathBin + hb_osPathSeparator() + ".." ) } } )
|
||||
AAdd( aCOMPDET_EMBED, { {| cPrefix | tmp1 := PathNormalize( DirAddPathSep( l_cHB_INSTALL_PREFIX ) + _COMPEMBED_BASE_ + "mingw" + hb_osPathSeparator() + "bin" ), iif( hb_FileExists( tmp1 + hb_osPathSeparator() + cPrefix + "gcc" + cCCEXT ), tmp1, NIL ) }, "win" , "mingw" , "" , NIL } )
|
||||
AAdd( aCOMPDET_EMBED, { {| cPrefix | tmp1 := PathNormalize( DirAddPathSep( l_cHB_INSTALL_PREFIX ) + _COMPEMBED_BASE_ + "mingw64" + hb_osPathSeparator() + "bin" ), iif( hb_FileExists( tmp1 + hb_osPathSeparator() + cPrefix + "gcc" + cCCEXT ), tmp1, NIL ) }, "win" , "mingw64" , "x86_64-w64-mingw32-" , NIL } )
|
||||
AAdd( aCOMPDET_EMBED, { {| cPrefix | tmp1 := PathNormalize( DirAddPathSep( l_cHB_INSTALL_PREFIX ) + _COMPEMBED_BASE_ + "mingwarm" + hb_osPathSeparator() + "bin" ), iif( hb_FileExists( tmp1 + hb_osPathSeparator() + cPrefix + "gcc" + cCCEXT ), tmp1, NIL ) }, "wce" , "mingwarm", "arm-mingw32ce-" , NIL } )
|
||||
AAdd( aCOMPDET_EMBED, { {| cPrefix | tmp1 := PathNormalize( DirAddPathSep( l_cHB_INSTALL_PREFIX ) + _COMPEMBED_BASE_ + "mingwarm" + hb_osPathSeparator() + "bin" ), iif( hb_FileExists( tmp1 + hb_osPathSeparator() + cPrefix + "gcc" + cCCEXT ), tmp1, NIL ) }, "wce" , "mingwarm", "arm-wince-mingw32ce-", NIL } )
|
||||
AAdd( aCOMPDET_EMBED, { {| cPrefix | tmp1 := PathNormalize( DirAddPathSep( l_cHB_INSTALL_PREFIX ) + _COMPEMBED_BASE_ + "djgpp" + hb_osPathSeparator() + "bin" ), iif( hb_FileExists( tmp1 + hb_osPathSeparator() + cPrefix + "gcc.exe" ), tmp1, NIL ) }, "dos" , "djgpp" , "" , {| cARCH, cCOMP, cPathBin | hbmk_COMP_Setup( cARCH, cCOMP, cPathBin + hb_osPathSeparator() + ".." ) } } )
|
||||
AAdd( aCOMPDET_EMBED, { {| cPrefix | tmp1 := PathNormalize( DirAddPathSep( l_cHB_INSTALL_PREFIX ) + _COMPEMBED_BASE_ + "watcom" + hb_osPathSeparator() + "binnt" ), iif( hb_FileExists( tmp1 + hb_osPathSeparator() + cPrefix + "wpp386.exe" ), tmp1, NIL ) }, "win" , "watcom" , "" , {| cARCH, cCOMP, cPathBin | hbmk_COMP_Setup( cARCH, cCOMP, cPathBin + hb_osPathSeparator() + ".." ) } } )
|
||||
AAdd( aCOMPDET_EMBED, { {| cPrefix | tmp1 := PathNormalize( DirAddPathSep( l_cHB_INSTALL_PREFIX ) + _COMPEMBED_BASE_ + "watcom" + hb_osPathSeparator() + "binnt" ), iif( hb_FileExists( tmp1 + hb_osPathSeparator() + cPrefix + "wpp386.exe" ), tmp1, NIL ) }, "dos" , "watcom" , "" , {| cARCH, cCOMP, cPathBin | hbmk_COMP_Setup( cARCH, cCOMP, cPathBin + hb_osPathSeparator() + ".." ) } } )
|
||||
AAdd( aCOMPDET_EMBED, { {| cPrefix | tmp1 := PathNormalize( DirAddPathSep( l_cHB_INSTALL_PREFIX ) + _COMPEMBED_BASE_ + "watcom" + hb_osPathSeparator() + "binnt" ), iif( hb_FileExists( tmp1 + hb_osPathSeparator() + cPrefix + "wpp386.exe" ), tmp1, NIL ) }, "os2" , "watcom" , "" , {| cARCH, cCOMP, cPathBin | hbmk_COMP_Setup( cARCH, cCOMP, cPathBin + hb_osPathSeparator() + ".." ) } } )
|
||||
AAdd( aCOMPDET_EMBED, { {| cPrefix | tmp1 := PathNormalize( DirAddPathSep( l_cHB_INSTALL_PREFIX ) + _COMPEMBED_BASE_ + "watcom" + hb_osPathSeparator() + "binnt" ), iif( hb_FileExists( tmp1 + hb_osPathSeparator() + cPrefix + "wpp386.exe" ), tmp1, NIL ) }, "linux", "watcom" , "" , {| cARCH, cCOMP, cPathBin | hbmk_COMP_Setup( cARCH, cCOMP, cPathBin + hb_osPathSeparator() + ".." ) } } )
|
||||
AAdd( aCOMPDET_EMBED, { {| cPrefix | tmp1 := PathNormalize( DirAddPathSep( l_cHB_INSTALL_PREFIX ) + _COMPEMBED_BASE_ + "pocc" + hb_osPathSeparator() + "Bin" ), iif( hb_FileExists( tmp1 + hb_osPathSeparator() + cPrefix + "pocc.exe" ), tmp1, NIL ) }, "win" , "pocc" , "" , {| cARCH, cCOMP, cPathBin | hbmk_COMP_Setup( cARCH, cCOMP, cPathBin + hb_osPathSeparator() + ".." ) } } )
|
||||
AAdd( aCOMPDET_EMBED, { {| cPrefix | tmp1 := PathNormalize( DirAddPathSep( l_cHB_INSTALL_PREFIX ) + _COMPEMBED_BASE_ + "pocc" + hb_osPathSeparator() + "Bin" ), iif( hb_FileExists( tmp1 + hb_osPathSeparator() + cPrefix + "pocc.exe" ), tmp1, NIL ) }, "win" , "pocc64" , "" , {| cARCH, cCOMP, cPathBin | hbmk_COMP_Setup( cARCH, cCOMP, cPathBin + hb_osPathSeparator() + ".." ) } } )
|
||||
AAdd( aCOMPDET_EMBED, { {| cPrefix | tmp1 := PathNormalize( DirAddPathSep( l_cHB_INSTALL_PREFIX ) + _COMPEMBED_BASE_ + "pocc" + hb_osPathSeparator() + "Bin" ), iif( hb_FileExists( tmp1 + hb_osPathSeparator() + cPrefix + "pocc.exe" ), tmp1, NIL ) }, "wce" , "poccarm" , "" , {| cARCH, cCOMP, cPathBin | hbmk_COMP_Setup( cARCH, cCOMP, cPathBin + hb_osPathSeparator() + ".." ) } } )
|
||||
|
||||
#elif defined( __PLATFORM__DOS )
|
||||
|
||||
AAdd( aCOMPDET_EMBED, { {| cPrefix | tmp1 := PathNormalize( DirAddPathSep( l_cHB_INSTALL_PREFIX ) + _COMPEMBED_BASE_ + "djgpp" + hb_osPathSeparator() + "bin" ), iif( hb_FileExists( tmp1 + hb_osPathSeparator() + cPrefix + "gcc.exe" ), tmp1, NIL ) }, "dos", "djgpp" , "" , {| cARCH, cCOMP, cPathBin | hbmk_COMP_Setup( cARCH, cCOMP, cPathBin + hb_osPathSeparator() + ".." ) } } )
|
||||
AAdd( aCOMPDET_EMBED, { {| cPrefix | tmp1 := PathNormalize( DirAddPathSep( l_cHB_INSTALL_PREFIX ) + _COMPEMBED_BASE_ + "watcom" + hb_osPathSeparator() + "binw" ), iif( hb_FileExists( tmp1 + hb_osPathSeparator() + cPrefix + "wpp386.exe" ), tmp1, NIL ) }, "dos", "watcom" , "" , {| cARCH, cCOMP, cPathBin | hbmk_COMP_Setup( cARCH, cCOMP, cPathBin + hb_osPathSeparator() + ".." ) } } )
|
||||
AAdd( aCOMPDET_EMBED, { {| cPrefix | tmp1 := PathNormalize( DirAddPathSep( l_cHB_INSTALL_PREFIX ) + _COMPEMBED_BASE_ + "djgpp" + hb_osPathSeparator() + "bin" ), iif( hb_FileExists( tmp1 + hb_osPathSeparator() + cPrefix + "gcc.exe" ), tmp1, NIL ) }, "dos" , "djgpp" , "" , {| cARCH, cCOMP, cPathBin | hbmk_COMP_Setup( cARCH, cCOMP, cPathBin + hb_osPathSeparator() + ".." ) } } )
|
||||
AAdd( aCOMPDET_EMBED, { {| cPrefix | tmp1 := PathNormalize( DirAddPathSep( l_cHB_INSTALL_PREFIX ) + _COMPEMBED_BASE_ + "watcom" + hb_osPathSeparator() + "binw" ), iif( hb_FileExists( tmp1 + hb_osPathSeparator() + cPrefix + "wpp386.exe" ), tmp1, NIL ) }, "dos" , "watcom" , "" , {| cARCH, cCOMP, cPathBin | hbmk_COMP_Setup( cARCH, cCOMP, cPathBin + hb_osPathSeparator() + ".." ) } } )
|
||||
AAdd( aCOMPDET_EMBED, { {| cPrefix | tmp1 := PathNormalize( DirAddPathSep( l_cHB_INSTALL_PREFIX ) + _COMPEMBED_BASE_ + "watcom" + hb_osPathSeparator() + "binw" ), iif( hb_FileExists( tmp1 + hb_osPathSeparator() + cPrefix + "wpp386.exe" ), tmp1, NIL ) }, "win" , "watcom" , "" , {| cARCH, cCOMP, cPathBin | hbmk_COMP_Setup( cARCH, cCOMP, cPathBin + hb_osPathSeparator() + ".." ) } } )
|
||||
AAdd( aCOMPDET_EMBED, { {| cPrefix | tmp1 := PathNormalize( DirAddPathSep( l_cHB_INSTALL_PREFIX ) + _COMPEMBED_BASE_ + "watcom" + hb_osPathSeparator() + "binw" ), iif( hb_FileExists( tmp1 + hb_osPathSeparator() + cPrefix + "wpp386.exe" ), tmp1, NIL ) }, "os2" , "watcom" , "" , {| cARCH, cCOMP, cPathBin | hbmk_COMP_Setup( cARCH, cCOMP, cPathBin + hb_osPathSeparator() + ".." ) } } )
|
||||
AAdd( aCOMPDET_EMBED, { {| cPrefix | tmp1 := PathNormalize( DirAddPathSep( l_cHB_INSTALL_PREFIX ) + _COMPEMBED_BASE_ + "watcom" + hb_osPathSeparator() + "binw" ), iif( hb_FileExists( tmp1 + hb_osPathSeparator() + cPrefix + "wpp386.exe" ), tmp1, NIL ) }, "linux", "watcom" , "" , {| cARCH, cCOMP, cPathBin | hbmk_COMP_Setup( cARCH, cCOMP, cPathBin + hb_osPathSeparator() + ".." ) } } )
|
||||
|
||||
#elif defined( __PLATFORM__OS2 )
|
||||
|
||||
AAdd( aCOMPDET_EMBED, { {| cPrefix | tmp1 := PathNormalize( DirAddPathSep( l_cHB_INSTALL_PREFIX ) + _COMPEMBED_BASE_ + "watcom" + hb_osPathSeparator() + "binp" ), iif( hb_FileExists( tmp1 + hb_osPathSeparator() + cPrefix + "wpp386.exe" ), tmp1, NIL ) }, "dos" , "watcom" , "" , {| cARCH, cCOMP, cPathBin | hbmk_COMP_Setup( cARCH, cCOMP, cPathBin + hb_osPathSeparator() + ".." ) } } )
|
||||
AAdd( aCOMPDET_EMBED, { {| cPrefix | tmp1 := PathNormalize( DirAddPathSep( l_cHB_INSTALL_PREFIX ) + _COMPEMBED_BASE_ + "watcom" + hb_osPathSeparator() + "binp" ), iif( hb_FileExists( tmp1 + hb_osPathSeparator() + cPrefix + "wpp386.exe" ), tmp1, NIL ) }, "win" , "watcom" , "" , {| cARCH, cCOMP, cPathBin | hbmk_COMP_Setup( cARCH, cCOMP, cPathBin + hb_osPathSeparator() + ".." ) } } )
|
||||
AAdd( aCOMPDET_EMBED, { {| cPrefix | tmp1 := PathNormalize( DirAddPathSep( l_cHB_INSTALL_PREFIX ) + _COMPEMBED_BASE_ + "watcom" + hb_osPathSeparator() + "binp" ), iif( hb_FileExists( tmp1 + hb_osPathSeparator() + cPrefix + "wpp386.exe" ), tmp1, NIL ) }, "os2" , "watcom" , "" , {| cARCH, cCOMP, cPathBin | hbmk_COMP_Setup( cARCH, cCOMP, cPathBin + hb_osPathSeparator() + ".." ) } } )
|
||||
AAdd( aCOMPDET_EMBED, { {| cPrefix | tmp1 := PathNormalize( DirAddPathSep( l_cHB_INSTALL_PREFIX ) + _COMPEMBED_BASE_ + "watcom" + hb_osPathSeparator() + "binp" ), iif( hb_FileExists( tmp1 + hb_osPathSeparator() + cPrefix + "wpp386.exe" ), tmp1, NIL ) }, "linux", "watcom" , "" , {| cARCH, cCOMP, cPathBin | hbmk_COMP_Setup( cARCH, cCOMP, cPathBin + hb_osPathSeparator() + ".." ) } } )
|
||||
|
||||
#elif defined( __PLATFORM__UNIX )
|
||||
|
||||
@@ -1109,11 +1134,11 @@ FUNCTION hbmk( aArgs, /* @ */ lPause, /* @ */ lUTF8 )
|
||||
!( hbmk[ _HBMK_cARCH ] == "dos" )
|
||||
|
||||
DO CASE
|
||||
CASE hbmk[ _HBMK_cCOMP ] $ "mingw"
|
||||
AAdd( aCOMPDET_EMBED, { {| cPrefix | tmp1 := "/opt/xmingw/bin" , iif( hb_FileExists( tmp1 + hb_osPathSeparator() + cPrefix + "gcc" + cCCEXT_mingw ), tmp1, NIL ) }, "win", "mingw" , "i386-mingw-", NIL } )
|
||||
CASE hbmk[ _HBMK_cCOMP ] $ "mingwarm"
|
||||
AAdd( aCOMPDET_EMBED, { {| cPrefix | tmp1 := "/opt/mingw32ce/bin", iif( hb_FileExists( tmp1 + hb_osPathSeparator() + cPrefix + "gcc" + cCCEXT_mingw ), tmp1, NIL ) }, "wce", "mingwarm", "arm-mingw32ce-", NIL } )
|
||||
AAdd( aCOMPDET_EMBED, { {| cPrefix | tmp1 := "/opt/mingw32ce/bin", iif( hb_FileExists( tmp1 + hb_osPathSeparator() + cPrefix + "gcc" + cCCEXT_mingw ), tmp1, NIL ) }, "wce", "mingwarm", "arm-wince-mingw32ce-", NIL } )
|
||||
CASE hbmk[ _HBMK_cCOMP ] == "mingw"
|
||||
AAdd( aCOMPDET_EMBED, { {| cPrefix | tmp1 := "/opt/xmingw/bin" , iif( hb_FileExists( tmp1 + hb_osPathSeparator() + cPrefix + "gcc" + cCCEXT ), tmp1, NIL ) }, "win", "mingw" , "i386-mingw-", NIL } )
|
||||
CASE hbmk[ _HBMK_cCOMP ] == "mingwarm"
|
||||
AAdd( aCOMPDET_EMBED, { {| cPrefix | tmp1 := "/opt/mingw32ce/bin", iif( hb_FileExists( tmp1 + hb_osPathSeparator() + cPrefix + "gcc" + cCCEXT ), tmp1, NIL ) }, "wce", "mingwarm", "arm-mingw32ce-", NIL } )
|
||||
AAdd( aCOMPDET_EMBED, { {| cPrefix | tmp1 := "/opt/mingw32ce/bin", iif( hb_FileExists( tmp1 + hb_osPathSeparator() + cPrefix + "gcc" + cCCEXT ), tmp1, NIL ) }, "wce", "mingwarm", "arm-wince-mingw32ce-", NIL } )
|
||||
ENDCASE
|
||||
ENDIF
|
||||
|
||||
@@ -1131,7 +1156,9 @@ FUNCTION hbmk( aArgs, /* @ */ lPause, /* @ */ lUTF8 )
|
||||
IF Empty( hbmk[ _HBMK_cCOMP ] ) .OR. hbmk[ _HBMK_cCOMP ] == "bld"
|
||||
IF Len( aCOMPSUP ) == 1
|
||||
hbmk[ _HBMK_cCOMP ] := aCOMPSUP[ 1 ]
|
||||
ELSEIF hbmk[ _HBMK_cARCH ] == "linux" .OR. hbmk[ _HBMK_cCOMP ] == "bld"
|
||||
ELSEIF hbmk[ _HBMK_cARCH ] $ "bsd|hpux|sunos|linux" .OR. ;
|
||||
hbmk[ _HBMK_cARCH ] == "darwin" .OR. ;
|
||||
hbmk[ _HBMK_cCOMP ] == "bld"
|
||||
hbmk[ _HBMK_cCOMP ] := hb_Version( HB_VERSION_BUILD_COMP )
|
||||
IF AScan( aCOMPSUP, {|tmp| tmp == hbmk[ _HBMK_cCOMP ] } ) == 0
|
||||
hbmk[ _HBMK_cCOMP ] := NIL
|
||||
@@ -1149,21 +1176,21 @@ FUNCTION hbmk( aArgs, /* @ */ lPause, /* @ */ lUTF8 )
|
||||
ENDIF
|
||||
NEXT
|
||||
ENDIF
|
||||
IF Empty( hbmk[ _HBMK_cCOMP ] ) .AND. hbmk[ _HBMK_cARCH ] $ "win|wce|dos"
|
||||
/* Autodetect embedded MinGW installation */
|
||||
FOR tmp := 1 TO Len( aCOMPDET_EMBED )
|
||||
IF hbmk[ _HBMK_cARCH ] == aCOMPDET_EMBED[ tmp ][ _COMPDETE_cARCH ] .AND. ;
|
||||
! Empty( cPath_CompC := Eval( aCOMPDET_EMBED[ tmp ][ _COMPDETE_bBlock ], aCOMPDET_EMBED[ tmp ][ _COMPDETE_cCCPREFIX ] ) )
|
||||
hbmk[ _HBMK_cCOMP ] := aCOMPDET_EMBED[ tmp ][ _COMPDETE_cCOMP ]
|
||||
hbmk[ _HBMK_cCCPREFIX ] := aCOMPDET_EMBED[ tmp ][ _COMPDETE_cCCPREFIX ]
|
||||
hbmk[ _HBMK_cCCPATH ] := cPath_CompC
|
||||
IF ISBLOCK( aCOMPDET_EMBED[ tmp ][ _COMPDETE_bSetup ] )
|
||||
Eval( aCOMPDET_EMBED[ tmp ][ _COMPDETE_bSetup ], hbmk[ _HBMK_cARCH ], hbmk[ _HBMK_cCOMP ], cPath_CompC )
|
||||
ENDIF
|
||||
EXIT
|
||||
ENDIF
|
||||
IF Empty( hbmk[ _HBMK_cCOMP ] )
|
||||
/* Autodetect embedded installations */
|
||||
FOR tmp := 1 TO Len( aCOMPDET_EMBED )
|
||||
IF hbmk[ _HBMK_cARCH ] == aCOMPDET_EMBED[ tmp ][ _COMPDETE_cARCH ] .AND. ;
|
||||
! Empty( cPath_CompC := Eval( aCOMPDET_EMBED[ tmp ][ _COMPDETE_bBlock ], aCOMPDET_EMBED[ tmp ][ _COMPDETE_cCCPREFIX ] ) )
|
||||
hbmk[ _HBMK_cCOMP ] := aCOMPDET_EMBED[ tmp ][ _COMPDETE_cCOMP ]
|
||||
hbmk[ _HBMK_cCCPREFIX ] := aCOMPDET_EMBED[ tmp ][ _COMPDETE_cCCPREFIX ]
|
||||
hbmk[ _HBMK_cCCPATH ] := cPath_CompC
|
||||
IF ISBLOCK( aCOMPDET_EMBED[ tmp ][ _COMPDETE_bSetup ] )
|
||||
Eval( aCOMPDET_EMBED[ tmp ][ _COMPDETE_bSetup ], hbmk[ _HBMK_cARCH ], hbmk[ _HBMK_cCOMP ], cPath_CompC )
|
||||
ENDIF
|
||||
NEXT
|
||||
ENDIF
|
||||
EXIT
|
||||
ENDIF
|
||||
NEXT
|
||||
ENDIF
|
||||
IF ! Empty( hbmk[ _HBMK_cCOMP ] )
|
||||
IF hbmk[ _HBMK_lInfo ]
|
||||
@@ -1182,21 +1209,19 @@ FUNCTION hbmk( aArgs, /* @ */ lPause, /* @ */ lUTF8 )
|
||||
hbmk_OutErr( hbmk, hb_StrFormat( I_( "Error: Compiler value unknown: %1$s" ), hbmk[ _HBMK_cCOMP ] ) )
|
||||
RETURN 2
|
||||
ENDIF
|
||||
IF hbmk[ _HBMK_cARCH ] $ "win|wce|dos"
|
||||
/* Detect cross platform CCPREFIX and CCPATH if embedded MinGW installation is detected */
|
||||
FOR tmp := 1 TO Len( aCOMPDET_EMBED )
|
||||
IF aCOMPDET_EMBED[ tmp ][ _COMPDETE_cARCH ] == hbmk[ _HBMK_cARCH ] .AND. ;
|
||||
aCOMPDET_EMBED[ tmp ][ _COMPDETE_cCOMP ] == hbmk[ _HBMK_cCOMP ] .AND. ;
|
||||
! Empty( cPath_CompC := Eval( aCOMPDET_EMBED[ tmp ][ _COMPDETE_bBlock ], aCOMPDET_EMBED[ tmp ][ _COMPDETE_cCCPREFIX ] ) )
|
||||
hbmk[ _HBMK_cCCPATH ] := cPath_CompC
|
||||
hbmk[ _HBMK_cCCPREFIX ] := aCOMPDET_EMBED[ tmp ][ _COMPDETE_cCCPREFIX ]
|
||||
IF ISBLOCK( aCOMPDET_EMBED[ tmp ][ _COMPDETE_bSetup ] )
|
||||
Eval( aCOMPDET_EMBED[ tmp ][ _COMPDETE_bSetup ], hbmk[ _HBMK_cARCH ], hbmk[ _HBMK_cCOMP ], cPath_CompC )
|
||||
ENDIF
|
||||
EXIT
|
||||
/* Detect cross platform CCPREFIX and CCPATH if embedded installation is detected */
|
||||
FOR tmp := 1 TO Len( aCOMPDET_EMBED )
|
||||
IF aCOMPDET_EMBED[ tmp ][ _COMPDETE_cARCH ] == hbmk[ _HBMK_cARCH ] .AND. ;
|
||||
aCOMPDET_EMBED[ tmp ][ _COMPDETE_cCOMP ] == hbmk[ _HBMK_cCOMP ] .AND. ;
|
||||
! Empty( cPath_CompC := Eval( aCOMPDET_EMBED[ tmp ][ _COMPDETE_bBlock ], aCOMPDET_EMBED[ tmp ][ _COMPDETE_cCCPREFIX ] ) )
|
||||
hbmk[ _HBMK_cCCPATH ] := cPath_CompC
|
||||
hbmk[ _HBMK_cCCPREFIX ] := aCOMPDET_EMBED[ tmp ][ _COMPDETE_cCCPREFIX ]
|
||||
IF ISBLOCK( aCOMPDET_EMBED[ tmp ][ _COMPDETE_bSetup ] )
|
||||
Eval( aCOMPDET_EMBED[ tmp ][ _COMPDETE_bSetup ], hbmk[ _HBMK_cARCH ], hbmk[ _HBMK_cCOMP ], cPath_CompC )
|
||||
ENDIF
|
||||
NEXT
|
||||
ENDIF
|
||||
EXIT
|
||||
ENDIF
|
||||
NEXT
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
||||
@@ -2217,7 +2242,7 @@ FUNCTION hbmk( aArgs, /* @ */ lPause, /* @ */ lUTF8 )
|
||||
cLibPrefix := "-l"
|
||||
cLibExt := ""
|
||||
cObjExt := ".o"
|
||||
cBin_CompC := hbmk[ _HBMK_cCCPREFIX ] + iif( hbmk[ _HBMK_lCPP ] != NIL .AND. hbmk[ _HBMK_lCPP ], "g++", "gcc" ) + hbmk[ _HBMK_cCCPOSTFIX ] + cCCEXT_mingw
|
||||
cBin_CompC := hbmk[ _HBMK_cCCPREFIX ] + iif( hbmk[ _HBMK_lCPP ] != NIL .AND. hbmk[ _HBMK_lCPP ], "g++", "gcc" ) + hbmk[ _HBMK_cCCPOSTFIX ] + cCCEXT
|
||||
cOpt_CompC := "-c"
|
||||
IF hbmk[ _HBMK_lOPTIM ]
|
||||
cOpt_CompC += " -O3"
|
||||
@@ -2240,7 +2265,7 @@ FUNCTION hbmk( aArgs, /* @ */ lPause, /* @ */ lUTF8 )
|
||||
cLibPathPrefix := "-L"
|
||||
cLibPathSep := " "
|
||||
cLibLibExt := ".a"
|
||||
cBin_Lib := hbmk[ _HBMK_cCCPREFIX ] + "ar" + cCCEXT_mingw
|
||||
cBin_Lib := hbmk[ _HBMK_cCCPREFIX ] + "ar" + cCCEXT
|
||||
#if defined( __PLATFORM__WINDOWS )
|
||||
nCmd_Esc := _ESC_DBLQUOTE
|
||||
#endif
|
||||
@@ -2300,7 +2325,7 @@ FUNCTION hbmk( aArgs, /* @ */ lPause, /* @ */ lUTF8 )
|
||||
l_aLIBSHAREDPOST := { "hbmainstd", "hbmainwin" }
|
||||
|
||||
IF hbmk[ _HBMK_cCOMP ] $ "mingw|mingw64|mingwarm"
|
||||
cBin_Res := hbmk[ _HBMK_cCCPREFIX ] + "windres" + cCCEXT_mingw
|
||||
cBin_Res := hbmk[ _HBMK_cCCPREFIX ] + "windres" + cCCEXT
|
||||
cResExt := ".reso"
|
||||
cOpt_Res := "{FR} {IR} -O coff -o {OS}"
|
||||
IF ! Empty( hbmk[ _HBMK_cCCPATH ] )
|
||||
@@ -2417,9 +2442,9 @@ FUNCTION hbmk( aArgs, /* @ */ lPause, /* @ */ lUTF8 )
|
||||
cLibPathPrefix := "LIBPATH "
|
||||
cLibPathSep := " "
|
||||
IF hbmk[ _HBMK_lCPP ] != NIL .AND. hbmk[ _HBMK_lCPP ]
|
||||
cBin_CompC := "wpp386.exe"
|
||||
cBin_CompC := "wpp386" + cCCEXT
|
||||
ELSE
|
||||
cBin_CompC := "wcc386.exe"
|
||||
cBin_CompC := "wcc386" + cCCEXT
|
||||
ENDIF
|
||||
cOpt_CompC := ""
|
||||
IF hbmk[ _HBMK_lOPTIM ]
|
||||
@@ -2445,9 +2470,9 @@ FUNCTION hbmk( aArgs, /* @ */ lPause, /* @ */ lUTF8 )
|
||||
AAdd( hbmk[ _HBMK_aOPTC ], "-fo={OD}" )
|
||||
ENDIF
|
||||
ENDIF
|
||||
cBin_Link := "wlink.exe"
|
||||
cBin_Link := "wlink" + cCCEXT
|
||||
cOpt_Link := "SYS dos4g op stub=wstubq.exe {FL} NAME {OE} {LO} {DL} {LL} {LB}{SCRIPT}"
|
||||
cBin_Lib := "wlib.exe"
|
||||
cBin_Lib := "wlib" + cCCEXT
|
||||
cOpt_Lib := "{FA} {OL} {LO}{SCRIPT}"
|
||||
cLibLibExt := cLibExt
|
||||
cLibObjPrefix := "-+ "
|
||||
@@ -2469,9 +2494,9 @@ FUNCTION hbmk( aArgs, /* @ */ lPause, /* @ */ lUTF8 )
|
||||
cLibPathPrefix := "LIBPATH "
|
||||
cLibPathSep := " "
|
||||
IF hbmk[ _HBMK_lCPP ] != NIL .AND. hbmk[ _HBMK_lCPP ]
|
||||
cBin_CompC := "wpp386.exe"
|
||||
cBin_CompC := "wpp386" + cCCEXT
|
||||
ELSE
|
||||
cBin_CompC := "wcc386.exe"
|
||||
cBin_CompC := "wcc386" + cCCEXT
|
||||
ENDIF
|
||||
cOpt_CompC := ""
|
||||
IF hbmk[ _HBMK_lOPTIM ]
|
||||
@@ -2499,9 +2524,9 @@ FUNCTION hbmk( aArgs, /* @ */ lPause, /* @ */ lUTF8 )
|
||||
AAdd( hbmk[ _HBMK_aOPTC ], "-fo={OD}" )
|
||||
ENDIF
|
||||
ENDIF
|
||||
cBin_Link := "wlink.exe"
|
||||
cBin_Link := "wlink" + cCCEXT
|
||||
cOpt_Link := "{FL} NAME {OE} {LO} {DL} {LL} {LB} {LS}{SCRIPT}"
|
||||
cBin_Lib := "wlib.exe"
|
||||
cBin_Lib := "wlib" + cCCEXT
|
||||
cOpt_Lib := "{FA} {OL} {LO}{SCRIPT}"
|
||||
cLibLibExt := cLibExt
|
||||
cLibObjPrefix := "-+ "
|
||||
@@ -2534,7 +2559,7 @@ FUNCTION hbmk( aArgs, /* @ */ lPause, /* @ */ lUTF8 )
|
||||
AAdd( hbmk[ _HBMK_aOPTL ], "FILE " + FN_ExtSet( l_cHB_LIB_INSTALL + hb_osPathSeparator() + iif( hbmk[ _HBMK_lGUI ], "hbmainwin", "hbmainstd" ), cLibExt ) )
|
||||
ENDIF
|
||||
|
||||
cBin_Res := "wrc.exe"
|
||||
cBin_Res := "wrc" + cCCEXT
|
||||
cResExt := ".res"
|
||||
cOpt_Res := "-r {FR} -zm {IR} -fo={OS}"
|
||||
cResPrefix := "OP res="
|
||||
@@ -2547,13 +2572,13 @@ FUNCTION hbmk( aArgs, /* @ */ lPause, /* @ */ lUTF8 )
|
||||
cLibPathPrefix := "LIBPATH "
|
||||
cLibPathSep := " "
|
||||
IF hbmk[ _HBMK_lCPP ] != NIL .AND. hbmk[ _HBMK_lCPP ]
|
||||
cBin_CompC := "wpp386.exe"
|
||||
cBin_CompC := "wpp386" + cCCEXT
|
||||
ELSE
|
||||
cBin_CompC := "wcc386.exe"
|
||||
cBin_CompC := "wcc386" + cCCEXT
|
||||
ENDIF
|
||||
cOpt_CompC := ""
|
||||
IF hbmk[ _HBMK_lOPTIM ]
|
||||
cOpt_CompC += " -5s -fp5"
|
||||
cOpt_CompC += " -5r -fp5"
|
||||
cOpt_CompC += " -onaehtr -s -ei -zp4 -zt0"
|
||||
IF hbmk[ _HBMK_lCPP ] != NIL .AND. hbmk[ _HBMK_lCPP ]
|
||||
cOpt_CompC += " -oi+"
|
||||
@@ -2575,9 +2600,9 @@ FUNCTION hbmk( aArgs, /* @ */ lPause, /* @ */ lUTF8 )
|
||||
AAdd( hbmk[ _HBMK_aOPTC ], "-fo={OD}" )
|
||||
ENDIF
|
||||
ENDIF
|
||||
cBin_Link := "wlink.exe"
|
||||
cOpt_Link := "{FL} NAME {OE} {LO} {DL} {LL} {LB}{SCRIPT}"
|
||||
cBin_Lib := "wlib.exe"
|
||||
cBin_Link := "wlink" + cCCEXT
|
||||
cOpt_Link := "SYS OS2V2 {FL} NAME {OE} {LO} {DL} {LL} {LB}{SCRIPT}"
|
||||
cBin_Lib := "wlib" + cCCEXT
|
||||
cOpt_Lib := "{FA} {OL} {LO}{SCRIPT}"
|
||||
cLibLibExt := cLibExt
|
||||
cLibObjPrefix := "-+ "
|
||||
@@ -2592,7 +2617,7 @@ FUNCTION hbmk( aArgs, /* @ */ lPause, /* @ */ lUTF8 )
|
||||
AAdd( hbmk[ _HBMK_aOPTL ], "OP MAP" )
|
||||
ENDIF
|
||||
|
||||
cBin_Res := "wrc.exe"
|
||||
cBin_Res := "wrc" + cCCEXT
|
||||
cResExt := ".res"
|
||||
cOpt_Res := "-r {FR} -zm {IR} -fo={OS}"
|
||||
cResPrefix := "OP res="
|
||||
@@ -2601,13 +2626,18 @@ FUNCTION hbmk( aArgs, /* @ */ lPause, /* @ */ lUTF8 )
|
||||
cLibPrefix := "LIB "
|
||||
cLibExt := ".lib"
|
||||
cObjPrefix := "FILE "
|
||||
cObjExt := ".o"
|
||||
#if defined( __PLATFORM__UNIX )
|
||||
cObjExt := ".o"
|
||||
#else
|
||||
/* NOTE: This extension is used when building Linux targets on non-Linux hosts. [vszakats] */
|
||||
cObjExt := ".obj"
|
||||
#endif
|
||||
cLibPathPrefix := "LIBPATH "
|
||||
cLibPathSep := " "
|
||||
IF hbmk[ _HBMK_lCPP ] != NIL .AND. hbmk[ _HBMK_lCPP ]
|
||||
cBin_CompC := "wpp386"
|
||||
cBin_CompC := "wpp386" + cCCEXT
|
||||
ELSE
|
||||
cBin_CompC := "wcc386"
|
||||
cBin_CompC := "wcc386" + cCCEXT
|
||||
ENDIF
|
||||
cOpt_CompC := ""
|
||||
IF hbmk[ _HBMK_lOPTIM ]
|
||||
@@ -2633,9 +2663,9 @@ FUNCTION hbmk( aArgs, /* @ */ lPause, /* @ */ lUTF8 )
|
||||
AAdd( hbmk[ _HBMK_aOPTC ], "-fo={OD}" )
|
||||
ENDIF
|
||||
ENDIF
|
||||
cBin_Link := "wlink"
|
||||
cBin_Link := "wlink" + cCCEXT
|
||||
cOpt_Link := "SYS LINUX {FL} NAME {OE} {LO} {DL} {LL} {LB}{SCRIPT}"
|
||||
cBin_Lib := "wlib"
|
||||
cBin_Lib := "wlib" + cCCEXT
|
||||
cOpt_Lib := "{FA} {OL} {LO}{SCRIPT}"
|
||||
cLibLibExt := cLibExt
|
||||
cLibObjPrefix := "-+ "
|
||||
|
||||
Reference in New Issue
Block a user