2009-03-31 11:46 UTC+0200 Viktor Szakats (harbour.01 syenar hu)

* INSTALL
    * Moved Windows CE compilers into a separate section.

  * bin/hb-mkdyn.bat
    * Changes made to allow wce arch. (provision for wce arch)

  * mpkg_win.bat
    * Allows to override HB_ARCHITECTURE. (provision for wce arch)
    + Include arch in target directory. (provision for wce arch)

  * include/hbatomic.h
    - Turned off inline asm for _MSC_VER compilers in 64-bit mode. (pocc64, msvc64)
      These target don't support inline asm.
      This fixes previously reported regressions with these targets.

  * utils/hbmk2/hbmk2.prg
    % win/owatcom: Pentium Pro scheduling.
    * win/owatcom: Temply set back stack calling convention.

  * external/libhpdf/Makefile
    - Disabled for pocc64 due to errors, even internal compiler error:
      ---
      can't spill register variable: rcx (3) image
      ../../hpdf_image.c(480): fatal error: Internal error: best_spillee.
      ---

  * config/win/bcc.cf
    + Added comment about -4, -5, -6.

  * ChangeLog
    ! Minor fix to prev entry.
This commit is contained in:
Viktor Szakats
2009-03-31 09:58:43 +00:00
parent 5494ce2cf0
commit 27f7edb625
8 changed files with 105 additions and 65 deletions

View File

@@ -8,6 +8,39 @@
2009-12-31 13:59 UTC+0100 Foo Bar (foo.bar foobar.org)
*/
2009-03-31 11:46 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* INSTALL
* Moved Windows CE compilers into a separate section.
* bin/hb-mkdyn.bat
* Changes made to allow wce arch. (provision for wce arch)
* mpkg_win.bat
* Allows to override HB_ARCHITECTURE. (provision for wce arch)
+ Include arch in target directory. (provision for wce arch)
* include/hbatomic.h
- Turned off inline asm for _MSC_VER compilers in 64-bit mode. (pocc64, msvc64)
These target don't support inline asm.
This fixes previously reported regressions with these targets.
* utils/hbmk2/hbmk2.prg
% win/owatcom: Pentium Pro scheduling.
* win/owatcom: Temply set back stack calling convention.
* external/libhpdf/Makefile
- Disabled for pocc64 due to errors, even internal compiler error:
---
can't spill register variable: rcx (3) image
../../hpdf_image.c(480): fatal error: Internal error: best_spillee.
---
* config/win/bcc.cf
+ Added comment about -4, -5, -6.
* ChangeLog
! Minor fix to prev entry.
2009-03-31 01:50 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* harbour/contrib/hbqt/Makefile
% Makefile is auto generated by <hbqtgen.exe> and is placed
@@ -99,11 +132,11 @@
* harbour/contrib/hbqt/hbqt.h
+ harbour/contrib/hbqt/hbqt_slots.h
- harbour/contrib/hbqt/slots.h
+- Added | Changed | Deleted Sources.
+- Added | Changed | Deleted Sources.
Now these sources are auto generated by the HB-QT generator.
Please never try to modify these. Instead look at /qth folder
and .qth source definition files. I will write a detailed
description once it becomes fully operational as I have
and .qth source definition files. I will write a detailed
description once it becomes fully operational as I have
drawn on the drawing board. The above code is fully functional
to the extent it is generated but still about 30% functions
have not been translated. A work in progress...
@@ -181,13 +214,13 @@
+ harbour/contrib/hbqt/TQWidget.prg
+ harbour/contrib/hbqt/TQWizard.prg
+ Added auto generated classes with exact same class hierarchy
which QT has outlined with inheritance. QT implements
which QT has outlined with inheritance. QT implements
constructors with dynamic parameters which on prg level
are difficult to manage. So I have adopted a simple
are difficult to manage. So I have adopted a simple
approach. :New() accepts only one argument <pParent> i.e.,
pointer to the parent object, if any, and which is universal
in QT implementation. This class implementation implies
that PRG code will pass <pPointer> to a method and will
in QT implementation. This class implementation implies
that PRG code will pass <pPointer> to a method and will
receive <oObject> | <pPointer>. We can build higher level
classes inheriting from above and implement whatever way we wish
to pass and receive objects. I would like those higher
@@ -277,15 +310,15 @@
! Added new .qth source definitions.
* harbour/contrib/hbqt/tests/demoqt.prg
! Auto generated demo program. Just play with it and
you will be surprised how simple it is to use QT; all
! Auto generated demo program. Just play with it and
you will be surprised how simple it is to use QT; all
gadgets provided.
SUMUP: Auto Generated Files:
- hbqt/gensource/hbqt_q*.cpp source files
- hbqt/doc/Q*.txt documentation on function calls
- hbqt/tests/demoqt.prg demonstration program
- hbqt/gensource/hbqt.h
- hbqt/gensource/hbqt.h
- hbqt/gensource/hbqt_slots.h
- hbqt/gensource/hbqt_slots.cpp
- hbqt/gensource/hbqt_base.cpp
@@ -324,7 +357,7 @@
! Added -D_M_ARM.
* config/win/owatcom.cf
* Pentium Pro scheduling.
% Pentium Pro scheduling.
* Changed back to __cdecl calling convention from register based
until we find a way to tweak HB_EXPORT to force __cdecl for
.dll exported functions.
@@ -335,7 +368,7 @@
We should try to avoid that.
* config/win/bcc.cf
* -4 -> -6 for Pentium Pro instructions. Looking at the generated
% -4 -> -6 for Pentium Pro instructions. Looking at the generated
code this looks like rescheduling, if someone now can test Harbour
or plain Pentium, it would be good to know if it still works.
@@ -2860,7 +2893,7 @@
+ Added support for mingw64. MinGW 64-bit mode.
Harbour doesn't build yet due to some compiling errors
(plus some internal MinGW ones to be investigated).
; TODO: Add support in postinst.sh.
; TODO: Add support in postinst.sh. [DONE]
* source/vm/extrap.c
* win32 -> win.

View File

@@ -183,17 +183,14 @@ SUPPORTED C COMPILERS UNDER DIFFERENT PLATFORMS
-------
mingw - MinGW GNU C
mingw64 - MinGW GNU C x64
mingwce - MinGW GNU C ARM (Windows CE)
msvc - Microsoft Visual C++
msvc64 - Microsoft Visual C++ x64
msvcia64 - Microsoft Visual C++ IA64
msvcce - Microsoft Visual C++ ARM (Windows CE)
Windows (supported, but not recommended, certain features may be missing)
Windows (supported, but not recommended, features may be missing)
-------
pocc - Pelles C 4.5 and above
pocc64 - Pelles C 5.0 x64
poccce - Pelles C 5.0 ARM (Windows CE)
xcc - Pelles C for xhb
owatcom - Open Watcom C++
icc - Intel(R) C/C++
@@ -201,6 +198,12 @@ SUPPORTED C COMPILERS UNDER DIFFERENT PLATFORMS
bcc - Borland/CodeGear C++ 4.x and above
cygwin - Cygwin GNU C
Windows CE
----------
mingwce - MinGW GNU C ARM
msvcce - Microsoft Visual C++ ARM
poccce - Pelles C 5.0 ARM
DOS (32-bit)
---
djgpp - Delorie GNU C

View File

@@ -15,40 +15,39 @@ rem NOTE: .c files have to be compiled with -DHB_DYNLIB
if not "%OS%" == "Windows_NT" ( echo This script needs Windows NT or newer. && goto END )
if "%HB_ARCHITECTURE%" == "" ( echo HB_ARCHITECTURE needs to be set. && goto END )
if "%HB_COMPILER%" == "" ( echo HB_COMPILER needs to be set. && goto END )
if not "%HB_ARCHITECTURE%" == "win" goto END
set HB_DLL_VERSION=11
set HB_DLL_LIBS=hbcommon hbpp hbrtl hbmacro hblang hbcpage hbpcre hbzlib hbextern hbrdd rddntx rddnsx rddcdx rddfpt hbsix hbhsx hbusrrdd gtcgi gtpca gtstd gtwin gtwvt gtgui hbmaindllh
set HB_DLL_LIBS_ST=hbvm
set HB_DLL_LIBS_MT=hbvmmt
if "%HB_COMPILER%" == "icc" goto DO_MSVC
if "%HB_COMPILER%" == "iccia64" goto DO_MSVC
if "%HB_COMPILER%" == "msvc" goto DO_MSVC
if "%HB_COMPILER%" == "msvc64" goto DO_MSVC
if "%HB_COMPILER%" == "msvcia64" goto DO_MSVC
if "%HB_COMPILER%" == "msvcce" goto DO_MSVC
if "%HB_COMPILER%" == "bcc" goto DO_BCC
if "%HB_COMPILER%" == "owatcom" goto DO_OWATCOM
if "%HB_COMPILER%" == "pocc" goto DO_POCC
if "%HB_COMPILER%" == "poccce" goto DO_POCC
if "%HB_ARCHITECTURE%_%HB_COMPILER%" == "win_icc" goto DO_MSVC
if "%HB_ARCHITECTURE%_%HB_COMPILER%" == "win_iccia64" goto DO_MSVC
if "%HB_ARCHITECTURE%_%HB_COMPILER%" == "win_msvc" goto DO_MSVC
if "%HB_ARCHITECTURE%_%HB_COMPILER%" == "win_msvc64" goto DO_MSVC
if "%HB_ARCHITECTURE%_%HB_COMPILER%" == "win_msvcia64" goto DO_MSVC
if "%HB_ARCHITECTURE%_%HB_COMPILER%" == "win_msvcce" goto DO_MSVC
if "%HB_ARCHITECTURE%_%HB_COMPILER%" == "win_bcc" goto DO_BCC
if "%HB_ARCHITECTURE%_%HB_COMPILER%" == "win_owatcom" goto DO_OWATCOM
if "%HB_ARCHITECTURE%_%HB_COMPILER%" == "win_pocc" goto DO_POCC
if "%HB_ARCHITECTURE%_%HB_COMPILER%" == "win_poccce" goto DO_POCC
echo HB_COMPILER %HB_COMPILER% isn't supported.
echo Platform %HB_ARCHITECTURE% / %HB_COMPILER% isn't supported.
goto END
:DO_MSVC
echo Making .dlls for %HB_COMPILER%...
echo Making .dlls for %HB_ARCHITECTURE% / %HB_COMPILER%...
md _dll
cd _dll
set _BIN_LIB=lib
set _BIN_LINK=link
if "%HB_COMPILER%" == "icc" set _BIN_LIB=xilib
if "%HB_COMPILER%" == "icc" set _BIN_LINK=xilink
if "%HB_COMPILER%" == "iccia64" set _BIN_LIB=xilib
if "%HB_COMPILER%" == "iccia64" set _BIN_LINK=xilink
if "%HB_ARCHITECTURE%_%HB_COMPILER%" == "win_icc" set _BIN_LIB=xilib
if "%HB_ARCHITECTURE%_%HB_COMPILER%" == "win_icc" set _BIN_LINK=xilink
if "%HB_ARCHITECTURE%_%HB_COMPILER%" == "win_iccia64" set _BIN_LIB=xilib
if "%HB_ARCHITECTURE%_%HB_COMPILER%" == "win_iccia64" set _BIN_LINK=xilink
rem ; Extract neutral objects
echo.> _hboneut.txt
@@ -106,21 +105,21 @@ for %%f in (%HB_DLL_LIBS_MT%) do (
)
cd ..
if "%HB_COMPILER%" == "icc" set _DST_NAME_ST=harbour-%HB_DLL_VERSION%
if "%HB_COMPILER%" == "icc" set _DST_NAME_MT=harbourmt-%HB_DLL_VERSION%
if "%HB_COMPILER%" == "iccia64" set _DST_NAME_ST=harbour-%HB_DLL_VERSION%-ia64
if "%HB_COMPILER%" == "iccia64" set _DST_NAME_MT=harbourmt-%HB_DLL_VERSION%-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%" == "msvcce" set _DST_NAME_ST=harbour-%HB_DLL_VERSION%-arm
if "%HB_COMPILER%" == "msvcce" set _DST_NAME_MT=harbourmt-%HB_DLL_VERSION%-arm
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
if "%HB_ARCHITECTURE%_%HB_COMPILER%" == "win_icc" set _DST_NAME_ST=harbour-%HB_DLL_VERSION%
if "%HB_ARCHITECTURE%_%HB_COMPILER%" == "win_icc" set _DST_NAME_MT=harbourmt-%HB_DLL_VERSION%
if "%HB_ARCHITECTURE%_%HB_COMPILER%" == "win_iccia64" set _DST_NAME_ST=harbour-%HB_DLL_VERSION%-ia64
if "%HB_ARCHITECTURE%_%HB_COMPILER%" == "win_iccia64" set _DST_NAME_MT=harbourmt-%HB_DLL_VERSION%-ia64
if "%HB_ARCHITECTURE%_%HB_COMPILER%" == "win_msvc" set _DST_NAME_ST=harbour-%HB_DLL_VERSION%
if "%HB_ARCHITECTURE%_%HB_COMPILER%" == "win_msvc" set _DST_NAME_MT=harbourmt-%HB_DLL_VERSION%
if "%HB_ARCHITECTURE%_%HB_COMPILER%" == "win_msvcce" set _DST_NAME_ST=harbour-%HB_DLL_VERSION%-arm
if "%HB_ARCHITECTURE%_%HB_COMPILER%" == "win_msvcce" set _DST_NAME_MT=harbourmt-%HB_DLL_VERSION%-arm
if "%HB_ARCHITECTURE%_%HB_COMPILER%" == "win_msvc64" set _DST_NAME_ST=harbour-%HB_DLL_VERSION%-x64
if "%HB_ARCHITECTURE%_%HB_COMPILER%" == "win_msvc64" set _DST_NAME_MT=harbourmt-%HB_DLL_VERSION%-x64
if "%HB_ARCHITECTURE%_%HB_COMPILER%" == "win_msvcia64" set _DST_NAME_ST=harbour-%HB_DLL_VERSION%-ia64
if "%HB_ARCHITECTURE%_%HB_COMPILER%" == "win_msvcia64" set _DST_NAME_MT=harbourmt-%HB_DLL_VERSION%-ia64
if not "%HB_COMPILER%" == "msvcce" set _SYSLIBS=user32.lib ws2_32.lib advapi32.lib gdi32.lib
if "%HB_COMPILER%" == "msvcce" set _SYSLIBS=wininet.lib ws2.lib
if not "%HB_ARCHITECTURE%_%HB_COMPILER%" == "win_msvcce" set _SYSLIBS=user32.lib ws2_32.lib advapi32.lib gdi32.lib
if "%HB_ARCHITECTURE%_%HB_COMPILER%" == "win_msvcce" set _SYSLIBS=wininet.lib ws2.lib
echo Making %_DST_NAME_ST%.dll... && %_BIN_LINK% /nologo /dll /out:"%HB_BIN_INSTALL%\%_DST_NAME_ST%.dll" @_hboneut.txt @_hbost.txt %_SYSLIBS%
echo Making %_DST_NAME_MT%.dll... && %_BIN_LINK% /nologo /dll /out:"%HB_BIN_INSTALL%\%_DST_NAME_MT%.dll" @_hboneut.txt @_hbomt.txt %_SYSLIBS%
@@ -148,7 +147,7 @@ goto END
:DO_BCC
echo Making .dlls for %HB_COMPILER%...
echo Making .dlls for %HB_ARCHITECTURE% / %HB_COMPILER%...
md _dll
cd _dll
@@ -270,7 +269,7 @@ goto END
:DO_OWATCOM
echo Making .dlls for %HB_COMPILER%...
echo Making .dlls for %HB_ARCHITECTURE% / %HB_COMPILER%...
md _dll
cd _dll
@@ -309,7 +308,7 @@ goto END
:DO_POCC
echo Making .dlls for %HB_COMPILER%...
echo Making .dlls for %HB_ARCHITECTURE% / %HB_COMPILER%...
md _dll
cd _dll
@@ -363,13 +362,13 @@ for %%f in (%HB_DLL_LIBS_MT%) do (
)
cd ..
if "%HB_COMPILER%" == "pocc" set _DST_NAME_ST=harbour-%HB_DLL_VERSION%
if "%HB_COMPILER%" == "pocc" set _DST_NAME_MT=harbourmt-%HB_DLL_VERSION%
if "%HB_COMPILER%" == "poccce" set _DST_NAME_ST=harbour-%HB_DLL_VERSION%-arm
if "%HB_COMPILER%" == "poccce" set _DST_NAME_MT=harbourmt-%HB_DLL_VERSION%-arm
if "%HB_ARCHITECTURE%_%HB_COMPILER%" == "win_pocc" set _DST_NAME_ST=harbour-%HB_DLL_VERSION%
if "%HB_ARCHITECTURE%_%HB_COMPILER%" == "win_pocc" set _DST_NAME_MT=harbourmt-%HB_DLL_VERSION%
if "%HB_ARCHITECTURE%_%HB_COMPILER%" == "win_poccce" set _DST_NAME_ST=harbour-%HB_DLL_VERSION%-arm
if "%HB_ARCHITECTURE%_%HB_COMPILER%" == "win_poccce" set _DST_NAME_MT=harbourmt-%HB_DLL_VERSION%-arm
if "%HB_COMPILER%" == "pocc" set _SYSLIBS=user32.lib ws2_32.lib advapi32.lib gdi32.lib
if "%HB_COMPILER%" == "poccce" set _SYSLIBS=wininet.lib ws2.lib
if "%HB_ARCHITECTURE%_%HB_COMPILER%" == "win_pocc" set _SYSLIBS=user32.lib ws2_32.lib advapi32.lib gdi32.lib
if "%HB_ARCHITECTURE%_%HB_COMPILER%" == "win_poccce" set _SYSLIBS=wininet.lib ws2.lib
echo Making %_DST_NAME_ST%.dll... && polink /nologo /dll /out:"%HB_BIN_INSTALL%\%_DST_NAME_ST%.dll" @_hboneut.txt @_hbost.txt %_SYSLIBS%
echo Making %_DST_NAME_MT%.dll... && polink /nologo /dll /out:"%HB_BIN_INSTALL%\%_DST_NAME_MT%.dll" @_hboneut.txt @_hbomt.txt %_SYSLIBS%

View File

@@ -23,6 +23,9 @@ CFLAGS += -w -w-sig- -Q
endif
ifneq ($(HB_BUILD_OPTIM),no)
# for some reason -6 generates the exact same code as -4
# with both 5.5 and 5.8. -5 seems to be significantly slower
# than both.
CFLAGS += -d -6 -O2 -OS -Ov -Oi -Oc
endif

View File

@@ -18,6 +18,9 @@ endif
ifeq ($(HB_COMPILER),poccce)
HB_WITH_LIBHPDF=no
endif
ifeq ($(HB_COMPILER),pocc64)
HB_WITH_LIBHPDF=no
endif
endif
ifeq ($(HB_WITH_LIBHPDF),yes)

View File

@@ -260,8 +260,7 @@ HB_EXTERN_BEGIN
#elif defined( _MSC_VER )
# if defined( i386 ) || defined( __i386__ ) || defined( __x86_64__ ) || \
defined( _M_IX86 ) || defined( _M_AMD64 )
# if defined( i386 ) || defined( __i386__ ) || defined( _M_IX86 )
# if HB_COUNTER_SIZE == 4

View File

@@ -27,9 +27,9 @@ setlocal
rem ; Basic setup
set HB_VERSION=1.1.0dev
set HB_ARCHITECTURE=win
if "%HB_ARCHITECTURE%" == "" set HB_ARCHITECTURE=win
set HB_PKGNAME=harbour-%HB_VERSION%-%HB_ARCHITECTURE%-%HB_COMPILER%
set HB_DIRNAME=harbour-%HB_COMPILER%
set HB_DIRNAME=harbour-%HB_ARCHITECTURE%-%HB_COMPILER%
rem ; Dir setup
set HB_INSTALL_BASE=%~dp0_hb_install_temp

View File

@@ -1498,7 +1498,7 @@ FUNCTION Main( ... )
cLibPathPrefix := "LIBPATH "
cLibPathSep := " "
cBin_CompC := "wpp386.exe"
cOpt_CompC := "-zq -w3 -5r -fp5 -onaehtri+ -s -ei -zp4 -zt0 -bt=NT {FC} -i{DI} {LC}"
cOpt_CompC := "-zq -w3 -6s -fp6 -onaehtri+ -s -ei -zp4 -zt0 -bt=NT {FC} -i{DI} {LC}"
cBin_Link := "wlink.exe"
cOpt_Link := "{FL} NAME {OE} {LO} {DL} {LL} {LS}{SCRIPT}"
cBin_Lib := "wlib.exe"
@@ -1799,10 +1799,10 @@ FUNCTION Main( ... )
/* TODO */
CASE t_cARCH == "linux" .AND. t_cCOMP == "icc"
CASE t_cARCH == "win" .AND. t_cCOMP == "msvcce" /* NOTE: Cross-platform: wince/ARM on win/x86 */
CASE t_cARCH == "win" .AND. t_cCOMP == "msvcce" /* NOTE: Cross-platform: wce/ARM on win/x86 */
CASE t_cARCH == "win" .AND. t_cCOMP == "pocc64" /* NOTE: Cross-platform: win/amd64 on win/x86 */
CASE t_cARCH == "win" .AND. t_cCOMP == "poccce" /* NOTE: Cross-platform: wince/ARM on win/x86 */
CASE t_cARCH == "linux" .AND. t_cCOMP == "mingwce" /* NOTE: Cross-platform: wince/ARM on win/x86 */
CASE t_cARCH == "win" .AND. t_cCOMP == "poccce" /* NOTE: Cross-platform: wce/ARM on win/x86 */
CASE t_cARCH == "linux" .AND. t_cCOMP == "mingwce" /* NOTE: Cross-platform: wce/ARM on win/x86 */
IF ! s_lSHARED
s_aLIBSYS := ArrayJoin( s_aLIBSYS, { "wininet", "ws2", "commdlg", "commctrl" } )
s_aLIBSYS := ArrayJoin( s_aLIBSYS, { "uuid", "ole32" } )