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

* bin/hb-mkdyn.sh
  * bin/hb-mkdyn.bat
  * source/vm/maindllp.c
  * utils/hbmk2/hbmk2.prg
    + Renamed all Windows Harbour .dlls to harbour-11.dll and
      harbourmt-11.dll. This means that MinGW will now have a versioned
      name to be in sync with other builds. It also means that
      -vc, -pocc, -ow postfixes are gone (and additionally DMC
      could also be supported). What remains is -x64 to
      signal an x64 and -ia64 to signal a IA64 build. Another thing
      which remains is -b32 (now renamed to -bcc to be in sync with
      rest of Harbour), because Borland has an non-standard
      name mangling, and while it can be made work with other
      compilers since the calling convention is the same, it requires
      the .dll user applications to be rebuilt with some implib tricks.
      Overall Borland isn't recommended for .dll creation.
      Please do further tests for binary compatibility.

    ; TOFIX: Location of .dll still differs for mingw/cygwin, they
             are created in lib while rest of compilers create it in
             bin. I think we should sync them by creating a copy
             of the .dlls in bin for mingw/cygwin. Przemek, could
             you help here?
    ; TOFIX: "Making <dllname>..." screen messages. I'll need some  
             help here also.

  * bin/hb-mkdyn.sh
    * ${MAJOR} default set to 1.

  * make_gnu_os2.cmd
    * Minor formatting.

  * contrib/hbgd/gdwrp.c
    ! Minor correction to recent change. (avoiding warning for MinGW)
This commit is contained in:
Viktor Szakats
2009-03-17 16:30:35 +00:00
parent 583352f5d1
commit dccd59cf69
7 changed files with 83 additions and 41 deletions

View File

@@ -8,6 +8,42 @@
2009-12-31 13:59 UTC+0100 Foo Bar (foo.bar foobar.org)
*/
2009-03-17 17:05 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* bin/hb-mkdyn.sh
* bin/hb-mkdyn.bat
* source/vm/maindllp.c
* utils/hbmk2/hbmk2.prg
+ Renamed all Windows Harbour .dlls to harbour-11.dll and
harbourmt-11.dll. This means that MinGW will now have a versioned
name to be in sync with other builds. It also means that
-vc, -pocc, -ow postfixes are gone (and additionally DMC
could also be supported). What remains is -x64 to
signal an x64 and -ia64 to signal a IA64 build. Another thing
which remains is -b32 (now renamed to -bcc to be in sync with
rest of Harbour), because Borland has an non-standard
name mangling, and while it can be made work with other
compilers since the calling convention is the same, it requires
the .dll user applications to be rebuilt with some implib tricks.
Overall Borland isn't recommended for .dll creation.
Please do further tests for binary compatibility.
; TOFIX: Location of .dll still differs for mingw/cygwin, they
are created in lib while rest of compilers create it in
bin. I think we should sync them by creating a copy
of the .dlls in bin for mingw/cygwin. Przemek, could
you help here?
; TOFIX: "Making <dllname>..." screen messages. I'll need some
help here also.
* bin/hb-mkdyn.sh
* ${MAJOR} default set to 1.
* make_gnu_os2.cmd
* Minor formatting.
* contrib/hbgd/gdwrp.c
! Minor correction to recent change. (avoiding warning for MinGW)
2009-03-17 16:14 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/tests/speedtst.prg
+ added new tests of dynamic code blocks performance

View File

@@ -95,12 +95,12 @@ for %%f in (%HB_DLL_LIBS_MT%) do (
)
cd ..
if "%HB_COMPILER%" == "msvc" set _DST_NAME_ST=harbour-%HB_DLL_VERSION%-vc
if "%HB_COMPILER%" == "msvc" set _DST_NAME_MT=harbourmt-%HB_DLL_VERSION%-vc
if "%HB_COMPILER%" == "msvc64" set _DST_NAME_ST=harbour-%HB_DLL_VERSION%-vc-x64
if "%HB_COMPILER%" == "msvc64" set _DST_NAME_MT=harbourmt-%HB_DLL_VERSION%-vc-x64
if "%HB_COMPILER%" == "msvcia64" set _DST_NAME_ST=harbour-%HB_DLL_VERSION%-vc-ia64
if "%HB_COMPILER%" == "msvcia64" set _DST_NAME_MT=harbourmt-%HB_DLL_VERSION%-vc-ia64
if "%HB_COMPILER%" == "msvc" set _DST_NAME_ST=harbour-%HB_DLL_VERSION%
if "%HB_COMPILER%" == "msvc" set _DST_NAME_MT=harbourmt-%HB_DLL_VERSION%
if "%HB_COMPILER%" == "msvc64" set _DST_NAME_ST=harbour-%HB_DLL_VERSION%-x64
if "%HB_COMPILER%" == "msvc64" set _DST_NAME_MT=harbourmt-%HB_DLL_VERSION%-x64
if "%HB_COMPILER%" == "msvcia64" set _DST_NAME_ST=harbour-%HB_DLL_VERSION%-ia64
if "%HB_COMPILER%" == "msvcia64" set _DST_NAME_MT=harbourmt-%HB_DLL_VERSION%-ia64
echo Making %_DST_NAME_ST%.dll... && link /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... && link /nologo /dll /out:"%HB_BIN_INSTALL%\%_DST_NAME_MT%.dll" @_hboneut.txt @_hbomt.txt user32.lib wsock32.lib advapi32.lib gdi32.lib
@@ -217,8 +217,8 @@ for %%f in (%HB_DLL_LIBS_MT%) do (
)
cd ..
set _DST_NAME_ST=harbour-%HB_DLL_VERSION%-b32
set _DST_NAME_MT=harbourmt-%HB_DLL_VERSION%-b32
set _DST_NAME_ST=harbour-%HB_DLL_VERSION%-bcc
set _DST_NAME_MT=harbourmt-%HB_DLL_VERSION%-bcc
echo. , "%HB_BIN_INSTALL%\%_DST_NAME_ST%.dll",, cw32mt.lib import32.lib >> _hballst.txt
echo. , "%HB_BIN_INSTALL%\%_DST_NAME_MT%.dll",, cw32mt.lib import32.lib >> _hballmt.txt
@@ -268,8 +268,8 @@ copy /b /y "%HB_LIB_INSTALL%\%HB_DLL_LIBS_MT%.lib" . > nul && wlib -q -b "%HB_DL
echo FILE '%HB_DLL_LIBS_ST%.lib'>> _hbsst.txt
echo FILE '%HB_DLL_LIBS_MT%.lib'>> _hbsmt.txt
set _DST_NAME_ST=harbour-%HB_DLL_VERSION%-ow
set _DST_NAME_MT=harbourmt-%HB_DLL_VERSION%-ow
set _DST_NAME_ST=harbour-%HB_DLL_VERSION%
set _DST_NAME_MT=harbourmt-%HB_DLL_VERSION%
echo Making %_DST_NAME_ST%.dll... && wlink OP QUIET SYS NT_DLL OP IMPLIB NAME '%HB_BIN_INSTALL%\%_DST_NAME_ST%.dll' @_hbsst.txt LIB user32.lib, wsock32.lib, advapi32.lib, gdi32.lib
echo Making %_DST_NAME_MT%.dll... && wlink OP QUIET SYS NT_DLL OP IMPLIB NAME '%HB_BIN_INSTALL%\%_DST_NAME_MT%.dll' @_hbsmt.txt LIB user32.lib, wsock32.lib, advapi32.lib, gdi32.lib
@@ -343,8 +343,8 @@ for %%f in (%HB_DLL_LIBS_MT%) do (
)
cd ..
set _DST_NAME_ST=harbour-%HB_DLL_VERSION%-pocc
set _DST_NAME_MT=harbourmt-%HB_DLL_VERSION%-pocc
set _DST_NAME_ST=harbour-%HB_DLL_VERSION%
set _DST_NAME_MT=harbourmt-%HB_DLL_VERSION%
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

View File

@@ -63,7 +63,7 @@ MINOR="${REVIS%%.*}"
REVIS="${REVIS#${MINOR}}"
REVIS="${REVIS#.}"
REVIS="${REVIS%%.*}"
[ -n "${MAJOR}" ] || MAJOR=0
[ -n "${MAJOR}" ] || MAJOR=1
[ -n "${MINOR}" ] || MINOR=1
[ -n "${REVIS}" ] || REVIS=0
VERSION="${MAJOR}.${MINOR}.${REVIS}"
@@ -131,7 +131,7 @@ if [ "${SLIB_EXT}" = ".dylib" ]; then
ln -sf "${FULLNAME}" "${DSTDIR}${BASE}.${MAJOR}${SLIB_EXT}" && \
ln -sf "${FULLNAME}" "${DSTDIR}${BASE}${SLIB_EXT}"
elif [ "${SLIB_EXT}" = ".dll" ]; then
FULLNAME="${LIB_NAME}${SLIB_EXT}"
FULLNAME="${LIB_NAME}-${MAJOR}${MINOR}${SLIB_EXT}"
if [ "$HB_COMPILER" = "mingwce" ]; then
SYSLIBS=" -lwininet -lws2"
else

View File

@@ -57,8 +57,12 @@
/* NOTE: Do some initialization required by the GD headers. */
#if defined(HB_OS_WIN)
#define WIN32
#define BGDWIN32
#if !defined(WIN32)
#define WIN32
#endif
#if !defined(BGDWIN32)
#define BGDWIN32
#endif
#endif
#ifdef HAVE_CONFIG_H

View File

@@ -36,13 +36,13 @@ rem compiler option for the define and either the LIBRARY_PATH or
rem the -L compiler/linker option for the library.
rem For building Harbour you can also use HB_USER_LDFLAGS environment variable,
rem f.e.
rem SET HB_USER_LDFLAGS=-Le:\usr\lib\tcpipv4
rem set HB_USER_LDFLAGS=-Le:\usr\lib\tcpipv4
rem
rem If you are using newer OS2 version with tcp/ip stack >= 4.1
rem (eComStation, for example) and you do not need backward binary
rem compatibility then you can disable it by setting HB_OS2_TCP32
rem environment variable, f.e.
rem SET HB_OS2_TCP32=yes
rem set HB_OS2_TCP32=yes
if "%HB_OS2_TCP32%" == "yes" goto tcp32
if "%HB_OS2_TCP32%" == "YES" goto tcp32

View File

@@ -59,19 +59,20 @@
#include "hbtypes.h"
#define HB_DLL_NAME "harbour.dll"
#define HB_DLL_NAME "harbour.dll"
#define HB_DLL_NAMEMT "harbourmt.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"
#define HB_DLL_NAME2 "harbour-11-bcc.dll"
#define HB_DLL_NAMEMT2 "harbourmt-11-bcc.dll"
#elif defined( _MSC_VER ) && defined( _M_X64 )
#define HB_DLL_NAME2 "harbour-11-vc-x64.dll"
#define HB_DLL_NAME2 "harbour-11-x64.dll"
#define HB_DLL_NAMEMT2 "harbourmt-11-x64.dll"
#elif defined( _MSC_VER ) && defined( _M_IA64 )
#define HB_DLL_NAME2 "harbour-11-vc-ia64.dll"
#elif defined( _MSC_VER )
#define HB_DLL_NAME2 "harbour-11-vc.dll"
#define HB_DLL_NAME2 "harbour-11-ia64.dll"
#define HB_DLL_NAMEMT2 "harbourmt-11-ia64.dll"
#else
#define HB_DLL_NAME2 "harbour-11.dll"
#define HB_DLL_NAMEMT2 "harbourmt-11.dll"
#endif
#if defined(HB_OS_WIN)

View File

@@ -1309,7 +1309,8 @@ FUNCTION Main( ... )
s_aLIBSYS := ArrayJoin( s_aLIBSYS, { "user32", "winspool", "gdi32", "comctl32", "comdlg32", "ole32", "oleaut32", "uuid", "wsock32", "ws2_32" } )
ENDIF
ENDIF
s_aLIBSHARED := { iif( s_lMT, "harbourmt", "harbour" ) }
s_aLIBSHARED := { iif( s_lMT, "harbourmt-" + cDL_Version_Alter,;
"harbour-" + cDL_Version_Alter ) }
IF s_lFMSTAT != NIL .AND. s_lFMSTAT
AAdd( s_aLIBFM, iif( s_lMT, "hbfmmt", "hbfm" ) )
@@ -1453,8 +1454,8 @@ FUNCTION Main( ... )
AAdd( s_aOPTL, "OP MAP" )
ENDIF
s_aLIBSYS := ArrayJoin( s_aLIBSYS, { "kernel32", "user32", "wsock32" } )
s_aLIBSHARED := { iif( s_lMT, "harbourmt-" + cDL_Version_Alter + "-ow",;
"harbour-" + cDL_Version_Alter + "-ow" ),;
s_aLIBSHARED := { iif( s_lMT, "harbourmt-" + cDL_Version_Alter,;
"harbour-" + cDL_Version_Alter ),;
"hbmainstd",;
"hbmainwin" }
@@ -1579,8 +1580,8 @@ FUNCTION Main( ... )
IF s_lSHARED
AAdd( s_aLIBPATH, "{DB}" )
ENDIF
s_aLIBSHARED := { iif( s_lMT, "harbourmt-" + cDL_Version_Alter + "-b32",;
"harbour-" + cDL_Version_Alter + "-b32" ),;
s_aLIBSHARED := { iif( s_lMT, "harbourmt-" + cDL_Version_Alter + "-bcc",;
"harbour-" + cDL_Version_Alter + "-bcc" ),;
"hbmainstd",;
"hbmainwin" }
@@ -1635,18 +1636,18 @@ FUNCTION Main( ... )
s_aLIBSYS := ArrayJoin( s_aLIBSYS, { "user32", "wsock32", "advapi32", "gdi32" } )
DO CASE
CASE t_cCOMP $ "msvc|icc"
s_aLIBSHARED := { iif( s_lMT, "harbourmt-" + cDL_Version_Alter + "-vc",;
"harbour-" + cDL_Version_Alter + "-vc" ),;
s_aLIBSHARED := { iif( s_lMT, "harbourmt-" + cDL_Version_Alter,;
"harbour-" + cDL_Version_Alter ),;
"hbmainstd",;
"hbmainwin" }
CASE t_cCOMP == "msvc64"
s_aLIBSHARED := { iif( s_lMT, "harbourmt-" + cDL_Version_Alter + "-vc-x64",;
"harbour-" + cDL_Version_Alter + "-vc-x64" ),;
s_aLIBSHARED := { iif( s_lMT, "harbourmt-" + cDL_Version_Alter + "-x64",;
"harbour-" + cDL_Version_Alter + "-x64" ),;
"hbmainstd",;
"hbmainwin" }
CASE t_cCOMP == "msvcia64"
s_aLIBSHARED := { iif( s_lMT, "harbourmt-" + cDL_Version_Alter + "-vc-ia64",;
"harbour-" + cDL_Version_Alter + "-vc-ia64" ),;
s_aLIBSHARED := { iif( s_lMT, "harbourmt-" + cDL_Version_Alter + "-ia64",;
"harbour-" + cDL_Version_Alter + "-ia64" ),;
"hbmainstd",;
"hbmainwin" }
ENDCASE
@@ -1718,8 +1719,8 @@ 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" ),;
s_aLIBSHARED := { iif( s_lMT, "harbourmt-" + cDL_Version_Alter,;
"harbour-" + cDL_Version_Alter ),;
"hbmainstd",;
"hbmainwin" }