2009-03-16 01:33 UTC+0100 Viktor Szakats (harbour.01 syenar hu)

* bin/hb-mkdyn.bat
  * source/vm/maindllp.c
  * utils/hbmk2/hbmk2.prg
    + Added .dll generation for pocc.
    + Added -shared support for pocc.

  * utils/hbmk2/hbmk2.prg
    ! Warning after prev commit is fixed.

  * source/vm/Makefile
    * All win targets will generate maindllh lib.
This commit is contained in:
Viktor Szakats
2009-03-16 00:36:06 +00:00
parent e07462e564
commit 394831e5d4
5 changed files with 110 additions and 31 deletions

View File

@@ -8,6 +8,19 @@
2009-12-31 13:59 UTC+0100 Foo Bar (foo.bar foobar.org)
*/
2009-03-16 01:33 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* bin/hb-mkdyn.bat
* source/vm/maindllp.c
* utils/hbmk2/hbmk2.prg
+ Added .dll generation for pocc.
+ Added -shared support for pocc.
* utils/hbmk2/hbmk2.prg
! Warning after prev commit is fixed.
* source/vm/Makefile
* All win targets will generate maindllh lib.
2009-03-15 16:42 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* harbour/contrib/gtwvg/hbgtwvg.ch
@@ -36,14 +49,14 @@
+ Implemented a highly optimized GUI controls for CUI consoles.
Implementation includes auto-destruction, data-substitution,
enable/disable feast, etc. These controls are almost identical
which are available with Wvt_Draw*() namespace but with a
great difference that these are tied to the urrent GT and
are handelled transparently by the GT itself. Developer
has only to define it. The only requirement is that
SaveScreen()/RestScreen() needs to be changed to new
Modal GT window. Appln screens will never get blurred. It
also employs optimized double-buffering and hence almost
eliminates screen flickering.
which are available with Wvt_Draw*() namespace but with a
great difference that these are tied to the urrent GT and
are handelled transparently by the GT itself. Developer
has only to define it. The only requirement is that
SaveScreen()/RestScreen() needs to be changed to new
Modal GT window. Appln screens will never get blurred. It
also employs optimized double-buffering and hence almost
eliminates screen flickering.
* harbour/contrib/gtwvg/wvgcore.c
* harbour/contrib/gtwvg/wvgsink.c
@@ -59,7 +72,7 @@
! Demonstrated the latest implemention of CUI-GUI controls. See below.
Please try <Traditional><WVG Console with CGUI> option in the main menu.
Also note the usage of Modal GT to simulate Alert() in new window.
Every GUI object returns a handle to it which may be used to
Every GUI object returns a handle to it which may be used to
change its parameters.
; TOFIX( WINCE BUILDS ) - GetSystemDirectory()

View File

@@ -27,6 +27,7 @@ if "%HB_COMPILER%" == "msvc64" goto DO_MSVC
if "%HB_COMPILER%" == "msvcia64" goto DO_MSVC
if "%HB_COMPILER%" == "bcc" goto DO_BCC
if "%HB_COMPILER%" == "owatcom" goto DO_OWATCOM
if "%HB_COMPILER%" == "pocc" goto DO_POCC
echo HB_COMPILER %HB_COMPILER% isn't supported.
goto END
@@ -284,6 +285,86 @@ del _hbsmt.txt
cd ..
rmdir _dll
:DO_POCC
echo Making .dlls for %HB_COMPILER%...
md _dll
cd _dll
rem ; Extract neutral objects
echo.> _hboneut.txt
for %%f in (%HB_DLL_LIBS%) do (
if exist "%HB_LIB_INSTALL%\%%f.lib" (
echo Processing library: %%f
polib "%HB_LIB_INSTALL%\%%f.lib" /list /explode >> _hboneut.txt
) else ( echo Library not found: %HB_LIB_INSTALL%\%%f.lib )
)
md _st
cd _st
rem ; Extract ST objects
echo.> ..\_hbost.txt
for %%f in (%HB_DLL_LIBS_ST%) do (
if exist "%HB_LIB_INSTALL%\%%f.lib" (
echo Processing library: %%f
polib "%HB_LIB_INSTALL%\%%f.lib" /list /explode > _hboraw.txt
for /F %%p in (_hboraw.txt) do (
if not "%%p" == "maindll.obj" (
if not "%%p" == "maindllp.obj" (
echo _st\%%p>> ..\_hbost.txt
)
)
)
del _hboraw.txt
) else ( echo Library not found: %HB_LIB_INSTALL%\%%f.lib )
)
cd ..
md _mt
cd _mt
rem ; Extract MT objects
echo.> ..\_hbomt.txt
for %%f in (%HB_DLL_LIBS_MT%) do (
if exist "%HB_LIB_INSTALL%\%%f.lib" (
echo Processing library: %%f
polib "%HB_LIB_INSTALL%\%%f.lib" /list /explode > _hboraw.txt
for /F %%p in (_hboraw.txt) do (
if not "%%p" == "maindll.obj" (
if not "%%p" == "maindllp.obj" (
echo _mt\%%p>> ..\_hbomt.txt
)
)
)
del _hboraw.txt
) else ( echo Library not found: %HB_LIB_INSTALL%\%%f.lib )
)
cd ..
set _DST_NAME_ST=harbour-%HB_DLL_VERSION%-pocc
set _DST_NAME_MT=harbourmt-%HB_DLL_VERSION%-pocc
echo Making %_DST_NAME_ST%.dll... && polink /nologo /dll /out:"%HB_BIN_INSTALL%\%_DST_NAME_ST%.dll" @_hboneut.txt @_hbost.txt user32.lib wsock32.lib advapi32.lib gdi32.lib
echo Making %_DST_NAME_MT%.dll... && polink /nologo /dll /out:"%HB_BIN_INSTALL%\%_DST_NAME_MT%.dll" @_hboneut.txt @_hbomt.txt user32.lib wsock32.lib advapi32.lib gdi32.lib
rem ; Cleanup
for /F %%o in (_hbost.txt) do ( del %%o )
if exist _st\maindll.obj del _st\maindll.obj
if exist _st\maindllp.obj del _st\maindllp.obj
del _hbost.txt
rmdir _st
for /F %%o in (_hbomt.txt) do ( del %%o )
if exist _mt\maindll.obj del _mt\maindll.obj
if exist _mt\maindllp.obj del _mt\maindllp.obj
del _hbomt.txt
rmdir _mt
for /F %%o in (_hboneut.txt) do ( del %%o )
del _hboneut.txt
cd ..
rmdir _dll
goto END
:END

View File

@@ -17,6 +17,7 @@ ifeq ($(HB_ARCHITECTURE),win)
DIRS = mainstd mainwin
endif
endif
DIRS += maindllh
else
ifeq ($(HB_ARCHITECTURE),os2)
C_MAIN = mainstd.c
@@ -25,27 +26,6 @@ else
endif
endif
ifeq ($(HB_ARCHITECTURE),win)
ifeq ($(HB_COMPILER),bcc)
DIRS += maindllh
endif
ifeq ($(HB_COMPILER),icc)
DIRS += maindllh
endif
ifeq ($(HB_COMPILER),msvc)
DIRS += maindllh
endif
ifeq ($(HB_COMPILER),msvc64)
DIRS += maindllh
endif
ifeq ($(HB_COMPILER),msvcia64)
DIRS += maindllh
endif
ifeq ($(HB_COMPILER),owatcom)
DIRS += maindllh
endif
endif
C_SOURCES=\
hvm.c \
arrays.c \

View File

@@ -62,6 +62,8 @@
#define HB_DLL_NAME "harbour.dll"
#if defined( __BORLANDC__ )
#define HB_DLL_NAME2 "harbour-11-b32.dll"
#if defined( __POCC__ )
#define HB_DLL_NAME2 "harbour-11-pocc.dll"
#elif defined( __WATCOMC__ )
#define HB_DLL_NAME2 "harbour-11-ow.dll"
#elif defined( _MSC_VER ) && defined( _M_X64 )

View File

@@ -1652,7 +1652,6 @@ FUNCTION Main( ... )
ENDIF
cBin_Dyn := cBin_Link
cOpt_CompC := "/c /Ze /Go {FC} /I{DI} {LC}"
cOpt_Lib := "{FA} /out:{OL} {LO}"
cOpt_Dyn := "{FD} /dll /out:{OD} {DL} {LO} {LL} {LS}"
IF t_cCOMP == "pocc"
AAdd( s_aOPTC, "/Ot" )
@@ -1682,6 +1681,10 @@ FUNCTION Main( ... )
AAdd( s_aOPTL, "/debug" )
ENDIF
s_aLIBSYS := ArrayJoin( s_aLIBSYS, { "kernel32", "user32", "wsock32", "advapi32", "gdi32" } )
s_aLIBSHARED := { iif( s_lMT, "harbourmt-" + cDL_Version_Alter + "-pocc",;
"harbour-" + cDL_Version_Alter + "-pocc" ),;
"hbmainstd",;
"hbmainwin" }
/* TODO */
CASE t_cARCH == "linux" .AND. t_cCOMP == "icc"