2010-07-15 19:20 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)

* include/hbthread.h
    ! Hacked around collision between vxWorks headers.

  * ChangeLog
    ! Fixed casing of vxWorks.

  * utils/hbmk2/hbmk2.prg
    + Added vxworks/gcc libpaths.
    ! Fixed vxworks/gcc system lib list.
    ! Fixed ar to have postfix.
    ; All these are syncs with GNU Make.

  * src/rtl/hbsocket.c
    ! Typos in previous vxworks patchs.

  * config/global.mk
    ! Fixed forming automatic HB_INSTALL_PREFIX value in *nix cross-build
      situations. (it's still wrong as it assumes nix->win cross-builds)

  ; Now vxworks/gcc/x86 build is clean.
    There are iTODOs left, and
    - this particular class of warnings, which seems
      to be a bug down the <pthread.h> system header:
         hbnetio\netiocli.c:155: warning: missing initializer
         hbnetio\netiocli.c:155: warning: (near initialization for 's_netioMtx.mutexAttr.mutexAttrType')
    - also this, each time FD_ZERO() and friends are used:
         warning: implicit declaration of function 'bzero'
    - "argument n of 'x' differ in signedness" and "discards qualifiers from pointer target type"
      warnings in hbsocket.c code.

  ; TOFIX:
       - Unrecoverable error 9998: Harbour terminal (GT) initialization failure
         when running hbtest.
       - GPF when running hbmk2 and hbrun. (hbformat, hbi18 startup fine)
This commit is contained in:
Viktor Szakats
2010-07-15 17:21:15 +00:00
parent 57d25b7595
commit da9890f57e
5 changed files with 69 additions and 16 deletions

View File

@@ -16,11 +16,47 @@
The license applies to all entries newer than 2009-04-28.
*/
2010-07-15 19:20 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbthread.h
! Hacked around collision between vxWorks headers.
* ChangeLog
! Fixed casing of vxWorks.
* utils/hbmk2/hbmk2.prg
+ Added vxworks/gcc libpaths.
! Fixed vxworks/gcc system lib list.
! Fixed ar to have postfix.
; All these are syncs with GNU Make.
* src/rtl/hbsocket.c
! Typos in previous vxworks patchs.
* config/global.mk
! Fixed forming automatic HB_INSTALL_PREFIX value in *nix cross-build
situations. (it's still wrong as it assumes nix->win cross-builds)
; Now vxworks/gcc/x86 build is clean.
There are iTODOs left, and
- this particular class of warnings, which seems
to be a bug down the <pthread.h> system header:
hbnetio\netiocli.c:155: warning: missing initializer
hbnetio\netiocli.c:155: warning: (near initialization for 's_netioMtx.mutexAttr.mutexAttrType')
- also this, each time FD_ZERO() and friends are used:
warning: implicit declaration of function 'bzero'
- "argument n of 'x' differ in signedness" and "discards qualifiers from pointer target type"
warnings in hbsocket.c code.
; TOFIX:
- Unrecoverable error 9998: Harbour terminal (GT) initialization failure
when running hbtest.
- GPF when running hbmk2 and hbrun. (hbformat, hbi18 startup fine)
2010-07-15 17:34 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* external/zlib/zlib.dif
* external/jpeg/Makefile
+ external/jpeg/jpeg.dif
+ Added/updated diffs after VxWorks changes.
+ Added/updated diffs after vxWorks changes.
Patch by Tamas Tevesz. Thanks!
2010-07-15 17:10 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
@@ -65,9 +101,9 @@
+ config/vxworks/gcc.mk
+ config/vxworks/diab.mk
+ config/vxworks/global.mk
+ Started experimental VxWorks port.
; NOTE: VxWorks port was made possible by Wind River Systems Inc.,
who were so kind to mail me a full VxWorks development
+ Started experimental vxWorks port.
; NOTE: vxWorks port was made possible by Wind River Systems Inc.,
who were so kind to mail me a full vxWorks development
environment, for the purpose of porting Harbour to this
platform. Thank you very much guys.
@@ -75,14 +111,14 @@
is interested in helping in this project, I can help with
real tests, builds and information. BTW, the devenv is
Eclipse based plus cmdline, running on Windows (available
for Linux and Solaris, too) and the target VxWorks exes
for Linux and Solaris, too) and the target vxWorks exes
run in a virtual environment. ]
* config/global.mk
+ Added autodetection of VxWorks platform.
+ Added autodetection of vxWorks platform.
* utils/hbmk2/hbmk2.prg
+ Added VxWorks support. It's incomplete yet.
+ Added vxWorks support. It's incomplete yet.
! Fixed to quote *nix/gcc compiler family in
Windows-host cross-platform situations.

View File

@@ -1443,7 +1443,7 @@ else
HB_INSTALL_PREFIX := /usr/local
# Add postfix for cross builds
ifneq ($(HB_HOST_PLAT),$(HB_PLATFORM))
HB_INSTALL_PREFIX += /harbour-$(HB_PLATFORM)-$(HB_COMPILER)
HB_INSTALL_PREFIX := $(HB_INSTALL_PREFIX)/harbour-$(HB_PLATFORM)-$(HB_COMPILER)
endif
endif
endif

View File

@@ -65,6 +65,15 @@
defined( HB_OS_SUNOS ) || defined( HB_OS_HPUX ) || \
defined( HB_OS_BSD ) || defined( HB_OS_BEOS ) || \
defined( HB_OS_QNX ) || defined( HB_OS_VXWORKS )
# if defined( HB_OS_VXWORKS )
/* Hack to avoid this collision between system headers: [vszakats]
...\vxworks-6.8\target\usr\h/pthread.h:78,
...\vxworks-6.8\target\usr\h/unistd.h:439: error: redefinition of typedef 'intptr_t'
...\vxworks-6.8\target\usr\h/stdint.h:76: error: previous declaration of 'intptr_t' was here */
# if defined( _INTPTR ) && !defined( _INTPTR_T )
# define _INTPTR_T
# endif
# endif
# include <pthread.h>
# define HB_PTHREAD_API
#elif defined( HB_OS_WIN )

View File

@@ -3011,8 +3011,8 @@ PHB_ITEM hb_socketGetIFaces( int af, HB_BOOL fNoAliases )
* of 'struct ifreq' and SIOCGIF*
*/
#if defined( SIOCGIFCONF ) && \
!( defined( HB_OS_LINUX ) && defined( __WATCOMC__ ) && \
! defined( HB_OS_VXWORKS ) )
!( defined( HB_OS_LINUX ) && defined( __WATCOMC__ ) ) && \
! defined( HB_OS_VXWORKS )
struct ifconf ifc;
struct ifreq * pifr;
char * buf, * ptr;

View File

@@ -2685,11 +2685,14 @@ FUNCTION hbmk2( aArgs, /* @ */ lPause )
cBin_Lib := "libtool"
cOpt_Lib := "-static {FA} -o {OL} {LO}"
ELSE
IF hbmk[ _HBMK_cCOMP ] == "icc"
DO CASE
CASE hbmk[ _HBMK_cCOMP ] == "icc"
cBin_Lib := "xiar"
ELSE
CASE hbmk[ _HBMK_cPLAT ] == "vxworks"
cBin_Lib := hbmk[ _HBMK_cCCPREFIX ] + "ar" + hbmk[ _HBMK_cCCPOSTFIX ]
OTHERWISE
cBin_Lib := hbmk[ _HBMK_cCCPREFIX ] + "ar"
ENDIF
ENDCASE
IF hbmk[ _HBMK_cPLAT ] $ "hpux|sunos"
cOpt_Lib := "{FA} rc {OL} {LO}"
ELSE
@@ -2740,8 +2743,13 @@ FUNCTION hbmk2( aArgs, /* @ */ lPause )
AAdd( hbmk[ _HBMK_aOPTC ], "-fno-strict-aliasing" )
AAdd( hbmk[ _HBMK_aOPTC ], "-D_C99" )
AAdd( hbmk[ _HBMK_aOPTC ], "-D_HAS_C9X" )
AAdd( hbmk[ _HBMK_aINCPATH ], PathSepToSelf( GetEnv( "WIND_USR" ) ) + hb_ps() + "h" )
AAdd( hbmk[ _HBMK_aINCPATH ], PathSepToSelf( GetEnv( "WIND_USR" ) ) + hb_ps() + "h" + hb_ps() + "wrn" + hb_ps() + "coreip" )
AAdd( hbmk[ _HBMK_aINCPATH ], PathSepToSelf( GetEnv( "WIND_USR" ) + "/h" ) )
AAdd( hbmk[ _HBMK_aINCPATH ], PathSepToSelf( GetEnv( "WIND_USR" ) + "/h/wrn/coreip" ) )
IF hbmk[ _HBMK_lCreateDyn ]
AAdd( hbmk[ _HBMK_aLIBPATH ], PathSepToSelf( GetEnv( "WIND_BASE" ) + "/target/lib/usr/lib/simpentium/SIMPENTIUM/common/PIC" ) )
ELSE
AAdd( hbmk[ _HBMK_aLIBPATH ], PathSepToSelf( GetEnv( "WIND_BASE" ) + "/target/lib/usr/lib/simpentium/SIMPENTIUM/common" ) )
ENDIF
ENDIF
cOpt_CompC += " {FC}"
IF ! Empty( hbmk[ _HBMK_cWorkDir ] )
@@ -2846,7 +2854,7 @@ FUNCTION hbmk2( aArgs, /* @ */ lPause )
/* Add system libraries */
IF ! hbmk[ _HBMK_lSHARED ]
IF !( hbmk[ _HBMK_cPLAT ] == "beos" )
IF !( hbmk[ _HBMK_cPLAT ] $ "beos|vxworks" )
AAdd( l_aLIBSYS, "m" )
IF hbmk[ _HBMK_lMT ]
IF !( hbmk[ _HBMK_cPLAT ] == "qnx" )