2009-09-16 09:22 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/bin/hb-func.sh
* updated hb* scripts to work with HAIKU/BEOS
* harbour/source/vm/dynlibhb.c
* enabled dlopen()/dlclose() in HAIKU/BEOS builds
* added TODO warning in non DOS builds which does not support
dynamic library loading
* harbour/source/rtl/fserr.c
! fixed errno translation
* harbour/source/rtl/gttrm/gttrm.c
+ added support for CTRL+{UP,DOWN,RIGHT,LEFT} keys in HAIKU XTerm.
+ added hack for UP,DOWN,RIGHT,LEFT keys in HAIKU XTerm - it works
only locally.
* added two notes about problems with HAIKU XTerm which cannot be
cleanly resolved by us:
- reverted MIDDLE and RIGHT button
- UP,DOWN,RIGHT,LEFT use the same sequences as
CTRL+{UP,DOWN,RIGHT,LEFT} in XTerm 3.x.x
any hardcoded solution is wrong in such case because XTerm can
be used for remote access.
This commit is contained in:
@@ -17,6 +17,30 @@
|
||||
past entries belonging to author(s): Viktor Szakats.
|
||||
*/
|
||||
|
||||
2009-09-16 09:22 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
|
||||
* harbour/bin/hb-func.sh
|
||||
* updated hb* scripts to work with HAIKU/BEOS
|
||||
|
||||
* harbour/source/vm/dynlibhb.c
|
||||
* enabled dlopen()/dlclose() in HAIKU/BEOS builds
|
||||
* added TODO warning in non DOS builds which does not support
|
||||
dynamic library loading
|
||||
|
||||
* harbour/source/rtl/fserr.c
|
||||
! fixed errno translation
|
||||
|
||||
* harbour/source/rtl/gttrm/gttrm.c
|
||||
+ added support for CTRL+{UP,DOWN,RIGHT,LEFT} keys in HAIKU XTerm.
|
||||
+ added hack for UP,DOWN,RIGHT,LEFT keys in HAIKU XTerm - it works
|
||||
only locally.
|
||||
* added two notes about problems with HAIKU XTerm which cannot be
|
||||
cleanly resolved by us:
|
||||
- reverted MIDDLE and RIGHT button
|
||||
- UP,DOWN,RIGHT,LEFT use the same sequences as
|
||||
CTRL+{UP,DOWN,RIGHT,LEFT} in XTerm 3.x.x
|
||||
any hardcoded solution is wrong in such case because XTerm can
|
||||
be used for remote access.
|
||||
|
||||
2009-09-16 02:44 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
|
||||
* harbour/source/common/hbgete.c
|
||||
! fixed typo
|
||||
|
||||
@@ -194,7 +194,11 @@ mk_hbtools()
|
||||
[ -z "${_DEFAULT_INC_DIR}" ] && _DEFAULT_INC_DIR="${HB_INC_INSTALL}"
|
||||
[ -z "${_DEFAULT_LIB_DIR}" ] && _DEFAULT_LIB_DIR="${HB_LIB_INSTALL}"
|
||||
|
||||
HB_SYS_LIBS="-lm"
|
||||
if [ "${HB_PLATFORM}" = "beos" ]; then
|
||||
HB_SYS_LIBS="-lroot -lsocket"
|
||||
else
|
||||
HB_SYS_LIBS="-lm"
|
||||
fi
|
||||
HB_CRS_LIB=""
|
||||
HB_SLN_LIB=""
|
||||
if [ "${HB_USER_CFLAGS//-DHB_PCRE_REGEX/}" != "${HB_USER_CFLAGS}" ]; then
|
||||
@@ -574,6 +578,10 @@ for gt in \${HB_GT_REQ}; do
|
||||
# fi
|
||||
done
|
||||
|
||||
if [ "\${HB_PLATFORM}" = "beos" ]; then
|
||||
SYSTEM_LIBS="-L/system/lib \${SYSTEM_LIBS}"
|
||||
fi
|
||||
|
||||
HB_LNK_ATTR=""
|
||||
HARBOUR_LIBS=""
|
||||
|
||||
@@ -829,7 +837,11 @@ mk_hblibso()
|
||||
LIBS=""
|
||||
LIBSMT=""
|
||||
gpm="${HB_HAS_GPM}"
|
||||
linker_options="-lm"
|
||||
if [ "${HB_PLATFORM}" = "beos" ]; then
|
||||
linker_options="-L/system/lib -lroot -lsocket"
|
||||
else
|
||||
linker_options="-lm"
|
||||
fi
|
||||
linker_mtoptions=""
|
||||
if [ "${HB_USER_CFLAGS//-DHB_PCRE_REGEX/}" != "${HB_USER_CFLAGS}" ]; then
|
||||
linker_options="-lpcre ${linker_options}"
|
||||
|
||||
@@ -252,12 +252,14 @@ void hb_fsSetIOError( BOOL fResult, USHORT uiOperation )
|
||||
}
|
||||
else
|
||||
{
|
||||
uiOsErrorLast = errno;
|
||||
uiErrorLast = hb_errnoToDosError( errno );
|
||||
int iErrCode = errno;
|
||||
uiOsErrorLast = iErrCode;
|
||||
uiErrorLast = hb_errnoToDosError( iErrCode );
|
||||
}
|
||||
#else
|
||||
uiOsErrorLast = errno;
|
||||
uiErrorLast = hb_errnoToDosError( uiOsErrorLast );
|
||||
int iErrCode = errno;
|
||||
uiOsErrorLast = iErrCode;
|
||||
uiErrorLast = hb_errnoToDosError( iErrCode );
|
||||
#endif
|
||||
}
|
||||
pIOErrors = hb_stackIOErrors();
|
||||
|
||||
@@ -1002,6 +1002,19 @@ static void set_tmevt( PHB_GTTRM pTerm, unsigned char *cMBuf, mouseEvent * mEvt
|
||||
mEvt->col = col;
|
||||
}
|
||||
|
||||
#if defined( HB_OS_BEOS )
|
||||
/* warning in HAIKU/BEOS MIDDLE and RIGHT buttons are reverted */
|
||||
switch( cMBuf[0] & 0xC3 )
|
||||
{
|
||||
case 0x1:
|
||||
cMBuf[0] = 0x2;
|
||||
break;
|
||||
case 0x2:
|
||||
cMBuf[0] = 0x1;
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
switch( cMBuf[0] & 0xC3 )
|
||||
{
|
||||
case 0x0:
|
||||
@@ -2397,6 +2410,28 @@ static void init_keys( PHB_GTTRM pTerm )
|
||||
|
||||
{ 0, NULL } };
|
||||
|
||||
#if defined( HB_OS_BEOS )
|
||||
/* warning above XFree 3.x.x CTRL + {UP,DOWN,RIGHT,LEFT} kyes create
|
||||
* collision with HAIKU/BEOS XTerm and standard CTRL keys
|
||||
*/
|
||||
static const keySeq haikuStdKeySeq[] = {
|
||||
{ EXKEY_UP , "\033OA" },
|
||||
{ EXKEY_DOWN , "\033OB" },
|
||||
{ EXKEY_RIGHT, "\033OC" },
|
||||
{ EXKEY_LEFT , "\033OD" },
|
||||
|
||||
{ 0, NULL } };
|
||||
#endif
|
||||
|
||||
static const keySeq haikuCtrlKeySeq[] = {
|
||||
/* HAIKU/BEOS XTerm CTRL + {UP,DOWN,RIGHT,LEFT} kyes */
|
||||
{ EXKEY_UP |KEY_CTRLMASK, "\033O5A" },
|
||||
{ EXKEY_DOWN |KEY_CTRLMASK, "\033O5B" },
|
||||
{ EXKEY_RIGHT |KEY_CTRLMASK, "\033O5C" },
|
||||
{ EXKEY_LEFT |KEY_CTRLMASK, "\033O5D" },
|
||||
|
||||
{ 0, NULL } };
|
||||
|
||||
static const keySeq rxvtKeySeq[] = {
|
||||
|
||||
{ EXKEY_HOME, "\033[H" },
|
||||
@@ -2708,6 +2743,10 @@ static void init_keys( PHB_GTTRM pTerm )
|
||||
addKeyTab( pTerm, stdCursorKeySeq );
|
||||
addKeyTab( pTerm, xtermModKeySeq );
|
||||
addKeyTab( pTerm, puttyKeySeq );
|
||||
addKeyTab( pTerm, haikuCtrlKeySeq );
|
||||
#if defined( HB_OS_BEOS )
|
||||
addKeyTab( pTerm, haikuStdKeySeq );
|
||||
#endif
|
||||
}
|
||||
else if( pTerm->terminal_type == TERM_LINUX )
|
||||
{
|
||||
|
||||
@@ -66,8 +66,8 @@
|
||||
|
||||
#if !defined( HB_HAS_DLFCN ) && \
|
||||
( ( defined( HB_OS_LINUX ) && !defined( __WATCOMC__ ) ) || \
|
||||
defined( HB_OS_SUNOS ) || \
|
||||
defined( HB_OS_DARWIN ) )
|
||||
defined( HB_OS_SUNOS ) || defined( HB_OS_DARWIN ) || \
|
||||
defined( HB_OS_BEOS ) )
|
||||
# define HB_HAS_DLFCN
|
||||
#endif
|
||||
|
||||
@@ -113,6 +113,10 @@ HB_FUNC( HB_LIBLOAD )
|
||||
}
|
||||
#elif defined( HB_HAS_DLFCN )
|
||||
hDynLib = ( void * ) dlopen( hb_parc( 1 ), RTLD_LAZY | RTLD_GLOBAL );
|
||||
#elif !defined( HB_OS_DOS )
|
||||
{
|
||||
int TODO;
|
||||
}
|
||||
#endif
|
||||
/* set real marker */
|
||||
hb_vmInitSymbolGroup( hDynLib, argc, argv );
|
||||
|
||||
Reference in New Issue
Block a user