2009-08-21 21:00 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* source/vm/maindllh.c
* source/vm/Makefile
+ Added support for os2 .dll. Please review.
* config/os2/watcom.mk
+ Added os2 .dll generation for watcom.
Now it generates OK.
* source/Makefile
* config/lib.mk
+ Added support for os2 and some level of *nix support.
* INSTALL
* Minor update to a few option description.
* utils/hbmk2/hbmk2.prg
+ Added preliminary/experimental/untested OS/2 -shared (.dll)
support for watcom targets.
This commit is contained in:
@@ -17,6 +17,26 @@
|
||||
past entries belonging to author(s): Viktor Szakats.
|
||||
*/
|
||||
|
||||
2009-08-21 21:00 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
|
||||
* source/vm/maindllh.c
|
||||
* source/vm/Makefile
|
||||
+ Added support for os2 .dll. Please review.
|
||||
|
||||
* config/os2/watcom.mk
|
||||
+ Added os2 .dll generation for watcom.
|
||||
Now it generates OK.
|
||||
|
||||
* source/Makefile
|
||||
* config/lib.mk
|
||||
+ Added support for os2 and some level of *nix support.
|
||||
|
||||
* INSTALL
|
||||
* Minor update to a few option description.
|
||||
|
||||
* utils/hbmk2/hbmk2.prg
|
||||
+ Added preliminary/experimental/untested OS/2 -shared (.dll)
|
||||
support for watcom targets.
|
||||
|
||||
2009-08-21 20:06 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
|
||||
* config/globsh.mk
|
||||
+ Extended NOTE about max cmdline lenght on nt shells.
|
||||
|
||||
@@ -325,9 +325,11 @@ OPTIONS AVAILABLE WHEN BUILDING HARBOUR
|
||||
- HB_BUILD_PKG=yes Create release package. Default: no
|
||||
Requires 'clean install' in root source dir.
|
||||
(currently on Windows/Windows CE/DOS)
|
||||
- HB_BUILD_DLL=no Create Harbour .dlls. Default: yes
|
||||
- HB_BUILD_DLL=no Create Harbour dynamic libraries. Default: yes
|
||||
- HB_BUILD_IMPLIB=yes Create import libraries for external .dll
|
||||
dependencies. Default: no
|
||||
dependencies (including contribs). Default: no
|
||||
(for Windows targets created on Windows NT
|
||||
shells only)
|
||||
- HB_BUILD_DEBUG=yes Create a debug build. Default: no
|
||||
- HB_BUILD_OPTIM=no Enable C compiler optimizations. Default: yes
|
||||
- HB_BUILD_UNICODE=yes Create Unicode build (on Windows/Windows CE).
|
||||
|
||||
@@ -7,7 +7,7 @@ include $(TOP)$(ROOT)config/global.mk
|
||||
ifneq ($(HB_ARCHITECTURE),)
|
||||
ifneq ($(HB_COMPILER),)
|
||||
|
||||
HB_DYN_LIBS := hbcommon hbpp hbrtl hbmacro hblang hbcpage hbpcre hbzlib hbextern hbrdd rddntx rddnsx rddcdx rddfpt hbsix hbhsx hbusrrdd gtcgi gtpca gtstd gtwvt gtgui gtwin hbvm hbvmmt hbmaindllh
|
||||
HB_DYN_LIBS := hbcommon hbpp hbrtl hbmacro hblang hbcpage hbpcre hbzlib hbextern hbrdd rddntx rddnsx rddcdx rddfpt hbsix hbhsx hbusrrdd gtcgi gtpca gtstd gtwvt gtgui gtwin gtos2 gttrm hbvm hbvmmt hbmaindllh
|
||||
|
||||
include $(TOP)$(ROOT)config/$(HB_ARCHITECTURE)/$(HB_COMPILER).mk
|
||||
include $(TOP)$(ROOT)config/c.mk
|
||||
|
||||
@@ -8,6 +8,9 @@ OBJ_EXT := .obj
|
||||
LIB_PREF :=
|
||||
LIB_EXT := .lib
|
||||
|
||||
HB_DYN_COPT := -DHB_DYNLIB
|
||||
OBJ_DYN_POSTFIX := _dyn
|
||||
|
||||
ifeq ($(HB_BUILD_MODE),c)
|
||||
CC := wcc386
|
||||
endif
|
||||
@@ -61,4 +64,22 @@ LDFLAGS += SYS os2v2
|
||||
|
||||
LDLIBS := $(foreach lib,$(LIBS),$(LIB_DIR)/$(lib))
|
||||
|
||||
DY := $(LD)
|
||||
DFLAGS := OP quiet SYS os2v2_dll
|
||||
DY_OUT :=
|
||||
DLIBS :=
|
||||
|
||||
# NOTE: The empty line directly before 'endef' HAVE TO exist!
|
||||
define dyn_object
|
||||
@$(ECHO) $(ECHOQUOTE)FILE '$(file)'$(ECHOQUOTE) >> __dyn__.tmp
|
||||
|
||||
endef
|
||||
define create_dynlib
|
||||
$(if $(wildcard __dyn__.tmp),@$(RM) __dyn__.tmp,)
|
||||
$(foreach file,$^,$(dyn_object))
|
||||
$(DY) $(DFLAGS) $(HB_USER_DFLAGS) NAME '$(subst /,$(DIRSEP),$(DYN_DIR)/$@)' OP implib='$(IMP_FILE)' @__dyn__.tmp
|
||||
endef
|
||||
|
||||
DY_RULE = $(create_dynlib)
|
||||
|
||||
include $(TOP)$(ROOT)config/common/watcom.mk
|
||||
|
||||
@@ -48,14 +48,27 @@ else
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
else
|
||||
ifeq ($(HB_ARCHITECTURE),os2)
|
||||
DYNNAME_POST := $(DYNNAME_POST)-os2
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
DYNDIRLIST_BASE := source/common source/pp source/rtl source/macro source/lang source/codepage source/hbpcre source/hbzlib source/hbextern source/rdd source/rdd/dbfntx source/rdd/dbfnsx source/rdd/dbfcdx source/rdd/dbffpt source/rdd/hbsix source/rdd/hsx source/rdd/usrrdd source/rtl/gtcgi source/rtl/gtpca source/rtl/gtstd source/rtl/gtwvt source/rtl/gtgui
|
||||
ifneq ($(HB_ARCHITECTURE),wce)
|
||||
DYNDIRLIST_BASE += source/rtl/gtwin
|
||||
DYNDIRLIST_BASE := source/common source/pp source/rtl source/macro source/lang source/codepage source/hbpcre source/hbzlib source/hbextern source/rdd source/rdd/dbfntx source/rdd/dbfnsx source/rdd/dbfcdx source/rdd/dbffpt source/rdd/hbsix source/rdd/hsx source/rdd/usrrdd source/rtl/gtcgi source/rtl/gtpca source/rtl/gtstd
|
||||
ifeq ($(HB_ARCHITECTURE),os2)
|
||||
DYNDIRLIST_BASE += source/rtl/gtos2
|
||||
endif
|
||||
ifeq ($(HB_ARCHITECTURE)-$(HB_COMPILER),win-watcom)
|
||||
ifeq ($(HB_ARCHITECTURE),wce)
|
||||
DYNDIRLIST_BASE += source/rtl/gtwvt source/rtl/gtgui
|
||||
endif
|
||||
ifeq ($(HB_ARCHITECTURE),win)
|
||||
DYNDIRLIST_BASE += source/rtl/gtwvt source/rtl/gtgui source/rtl/gtwin
|
||||
endif
|
||||
ifeq ($(HB_OS_UNIX),yes)
|
||||
DYNDIRLIST_BASE += source/rtl/gttrm
|
||||
endif
|
||||
ifeq ($(HB_COMPILER),watcom)
|
||||
DYNDIRLIST_BASE += source/vm/maindllh
|
||||
endif
|
||||
|
||||
|
||||
@@ -49,6 +49,7 @@ else
|
||||
else
|
||||
ifeq ($(HB_ARCHITECTURE),os2)
|
||||
C_MAIN := mainstd.c
|
||||
DIRS := maindllh
|
||||
else
|
||||
C_MAIN := main.c
|
||||
endif
|
||||
|
||||
@@ -94,4 +94,12 @@ void hb_forceLinkMainStd( void ) {}
|
||||
HB_EXTERN_END
|
||||
#endif
|
||||
|
||||
#elif defined( HB_OS_OS2 )
|
||||
|
||||
#if defined( __WATCOMC__ )
|
||||
HB_EXTERN_BEGIN
|
||||
void hb_forceLinkMainStd( void ) {}
|
||||
HB_EXTERN_END
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
@@ -2474,7 +2474,8 @@ FUNCTION hbmk( aArgs, /* @ */ lPause, /* @ */ lUTF8 )
|
||||
IF hbmk[ _HBMK_cARCH ] $ "win|os2|dos"
|
||||
AAdd( hbmk[ _HBMK_aOPTA ], "-p=64" )
|
||||
ENDIF
|
||||
IF hbmk[ _HBMK_cARCH ] == "win"
|
||||
DO CASE
|
||||
CASE hbmk[ _HBMK_cARCH ] == "win"
|
||||
l_aLIBSYS := ArrayAJoin( { l_aLIBSYS, l_aLIBSYSCORE, l_aLIBSYSMISC } )
|
||||
l_aLIBSHARED := { iif( hbmk[ _HBMK_lMT ], "harbourmt" + cDL_Version_Alter + cLibExt,;
|
||||
"harbour" + cDL_Version_Alter + cLibExt ) }
|
||||
@@ -2482,7 +2483,16 @@ FUNCTION hbmk( aArgs, /* @ */ lPause, /* @ */ lUTF8 )
|
||||
IF hbmk[ _HBMK_lSHARED ]
|
||||
AAdd( hbmk[ _HBMK_aOPTL ], "FILE " + FN_ExtSet( l_cHB_LIB_INSTALL + hb_osPathSeparator() + iif( hbmk[ _HBMK_lGUI ], "hbmainwin", "hbmainstd" ), cLibExt ) )
|
||||
ENDIF
|
||||
ENDIF
|
||||
CASE hbmk[ _HBMK_cARCH ] == "os2"
|
||||
l_aLIBSYS := ArrayAJoin( { l_aLIBSYS, l_aLIBSYSCORE, l_aLIBSYSMISC } )
|
||||
l_aLIBSHARED := { iif( hbmk[ _HBMK_lMT ], "harbourmt" + cDL_Version_Alter + "-os2" + cLibExt,;
|
||||
"harbour" + cDL_Version_Alter + "-os2" + cLibExt ) }
|
||||
|
||||
IF hbmk[ _HBMK_lSHARED ]
|
||||
/* TOFIX: This line is plain guessing. */
|
||||
AAdd( hbmk[ _HBMK_aOPTL ], "FILE " + FN_ExtSet( l_cHB_LIB_INSTALL + hb_osPathSeparator() + iif( hbmk[ _HBMK_lGUI ], "hbmainstd", "hbmainstd" ), cLibExt ) )
|
||||
ENDIF
|
||||
ENDCASE
|
||||
IF hbmk[ _HBMK_cARCH ] $ "win|os2"
|
||||
cBin_Res := "wrc" + cCCEXT
|
||||
cResExt := ".res"
|
||||
|
||||
Reference in New Issue
Block a user