hi,
the following adds dragonfly support to the bsd support chunk.
some notes:
--- config/bsd/libs.mk (revision 14580)
+++ config/bsd/libs.mk (working copy)
- SYSLIBS += slang
+ ifneq ($(wildcard /usr/pkg/lib/libslang2.so),)
+ SYSLIBS += slang2
+ else
+ SYSLIBS += slang
+ endif
this is gross in several ways, but i have no better idea. first
grossness is that it has /usr/pkg hardcoded (that path can
theoretically be set to anything else upon installing pkgsrc, though i
don't know how common it is to change it); second grossness is it
being called slang2 (apparently, with pkgsrc, slang1 and slang2 can
coexist).
-_DET_INC_HEAD := /X11/Xlib.h
+_DET_INC_HEAD := /X11/X.h
the reason for this is that (again with pkgsrc) you can apparently get
in a situation where you have Xlib.h (libx11), but no X.h (xproto).
without X.h but with Xlib.h, harbour thinks there is x, tries to
compile support for it, and then hell breaks lose. i've checked (both
pkgsrc and debian stuff) that xproto depends on libx11, so this seems
a safe and fair change.
the patch also adds some /usr/pkg locations to det funs (again,
pkgsrc) - i suspect this will help netbsd too.
hbtest output is below, tested so far as the result is able to compile
and link small programs, although it needs some manual intervention by
means of having to specify HB_USER_LDFLAGS="-L/usr/pkg/lib" (runtime
linking is ok). i am not familiar enough with pkgsrc customs to know
what to do with it, but i have a hunch that this should be left as-is
for the user to set.
Index: src/common/hbprintf.c
===================================================================
--- src/common/hbprintf.c (revision 14580)
+++ src/common/hbprintf.c (working copy)
@@ -163,7 +163,7 @@
# define _x_long_dbl long double
# if defined( __WATCOMC__ ) || defined( __MINGW32CE__ ) || defined(
__CYGWIN__ ) || \
defined( HB_OS_BEOS ) || defined( HB_OS_IPHONE ) || \
- defined( __OpenBSD__ ) || defined( __NetBSD__ ) || \
+ defined( __OpenBSD__ ) || defined( __NetBSD__ ) || defined(
__DragonFly__ ) || \
( defined( HB_OS_WIN_CE ) && defined( __POCC__ ) )
# define _HB_WRAP_MODFL_
# define _MODFD( x, p ) _hb_modfl( x, p )
Index: include/hbsetup.h
===================================================================
--- include/hbsetup.h (revision 14580)
+++ include/hbsetup.h (working copy)
@@ -381,7 +381,7 @@
#ifndef HB_OS_BSD
#if defined( __FreeBSD__ ) || defined( __NetBSD__ ) || defined( __OpenBSD__
) || \
- defined( HB_OS_DARWIN )
+ defined( HB_OS_DARWIN ) || defined( __DragonFly__ )
#define HB_OS_BSD
#endif
#endif
Index: config/global.mk
===================================================================
--- config/global.mk (revision 14580)
+++ config/global.mk (working copy)
@@ -100,6 +100,8 @@
HB_HOST_PLAT := bsd
else ifneq ($(findstring bsd,$(1)),)
HB_HOST_PLAT := bsd
+ else ifneq ($(findstring DragonFly,$(1)),)
+ HB_HOST_PLAT := bsd
else ifneq ($(findstring OS/2,$(1)),)
HB_HOST_PLAT := os2
else ifneq ($(findstring MS-DOS,$(1)),)
Index: config/bsd/libs.mk
===================================================================
--- config/bsd/libs.mk (revision 14580)
+++ config/bsd/libs.mk (working copy)
@@ -12,7 +12,11 @@
SYSLIBS += $(HB_LIBNAME_CURSES)
endif
ifneq ($(HB_HAS_SLANG),)
- SYSLIBS += slang
+ ifneq ($(wildcard /usr/pkg/lib/libslang2.so),)
+ SYSLIBS += slang2
+ else
+ SYSLIBS += slang
+ endif
# In BSD, slang still needs curses :(
ifneq ($(HB_HAS_CURSES),)
SYSLIBS += $(HB_LIBNAME_CURSES)
@@ -23,7 +27,7 @@
SYSLIBPATHS += /usr/X11R6/lib
endif
- SYSLIBPATHS += /usr/local/lib
+ SYSLIBPATHS += /usr/local/lib /usr/pkg/lib
ifneq ($(HB_HAS_PCRE),)
ifeq ($(HB_HAS_PCRE_LOCAL),)
Index: config/detect.mk
===================================================================
--- config/detect.mk (revision 14580)
+++ config/detect.mk (working copy)
@@ -60,7 +60,7 @@
_DET_VAR_HAS_ := HB_HAS_PCRE
_DET_FLT_PLAT :=
_DET_FLT_COMP :=
-_DET_INC_DEFP := /usr/include /usr/local/include /opt/local/include
+_DET_INC_DEFP := /usr/include /usr/local/include /usr/pkg/include
/opt/local/include
_DET_INC_LOCL := $(realpath $(TOP)$(ROOT)external/pcre)
_DET_INC_HEAD := /pcre.h
@@ -104,6 +104,7 @@
_DET_INC_DEFP += /usr/local/include /usr/local/include/slang
_DET_INC_DEFP += /sw/include /sw/include/slang
_DET_INC_DEFP += /opt/local/include /opt/local/include/slang
+_DET_INC_DEFP += /usr/pkg/include/slang2
include $(TOP)$(ROOT)config/detfun.mk
@@ -130,8 +131,8 @@
_DET_VAR_HAS_ := HB_HAS_X11
_DET_FLT_PLAT :=
_DET_FLT_COMP :=
-_DET_INC_DEFP := /usr/include /usr/local/include /usr/X11R6/include
-_DET_INC_HEAD := /X11/Xlib.h
+_DET_INC_DEFP := /usr/include /usr/local/include /usr/X11R6/include
/usr/pkg/include
+_DET_INC_HEAD := /X11/X.h
include $(TOP)$(ROOT)config/detfun.mk
hbtest output:
Harbour Regression Test Suite
Copyright (c) 1999-2010, http://www.harbour-project.org/
---------------------------------------------------------------------------
Version: Harbour 2.1.0beta1 (Rev. 14580)
Compiler: GNU C 4.1.2 (32-bit)
OS: DragonFly 2.6-RELEASE i386
Date, Time: 2010.05.25 15:21:28
Shortcut opt.: ON
Switches:
===========================================================================
R No. Line TestCall() -> Result
|
Expected
---------------------------------------------------------------------------
! 612 MAIN_HVMA(373) saArray[ 1000 ]
Result: "E 2 BASE 1132 Bound error (array access) OS:0 #:0
A:2:A:{.[1].};N:1000 "
Expected: "E 2 BASE 1132 Bound error (array access) OS:0 #:0 "
! 613 MAIN_HVMA(374) saArray[ 1000 ] := 1
Result: "E 2 BASE 1133 Bound error (array assign) OS:0 #:0 A:1:N:1000 "
Expected: "E 2 BASE 1133 Bound error (array assign) OS:0 #:0 "
! 742 MAIN_HVMA(542) RTSTR( 00000500000000000000 )
Result: " 16 500000000000000"
Expected: " 21 500000000000000"
! 743 MAIN_HVMA(543) RTSTR( 0500000000000000 )
Result: " 16 500000000000000"
Expected: " 17 500000000000000"
! 1087 MAIN_MATH(359) Str(1234567890 * 1234567890 )
Result: " 1524157875019052100"
Expected: " 1524157875019052000"
! 2889 MAIN_ARRAY(164) ASize( NIL )
Result: "E 1 BASE 2023 Argument error (ASIZE) OS:0 #:0 A:1:U:NIL "
Expected: "E 1 BASE 2023 Argument error (ASIZE) OS:0 #:0 "
! 2890 MAIN_ARRAY(165) ASize( {} )
Result: "E 1 BASE 2023 Argument error (ASIZE) OS:0 #:0 A:1:A:{.[0].} "
Expected: "E 1 BASE 2023 Argument error (ASIZE) OS:0 #:0 "
! 2891 MAIN_ARRAY(166) ASize( ErrorNew() )
Result: "E 1 BASE 2023 Argument error (ASIZE) OS:0 #:0 A:1:O:ERROR
Object "
Expected: "E 1 BASE 2023 Argument error (ASIZE) OS:0 #:0 "
! 2892 MAIN_ARRAY(175) ASize( NIL, 0 )
Result: "E 1 BASE 2023 Argument error (ASIZE) OS:0 #:0 A:2:U:NIL;N:0 "
Expected: "E 1 BASE 2023 Argument error (ASIZE) OS:0 #:0 "
! 2893 MAIN_ARRAY(176) ASize( NIL, 1 )
Result: "E 1 BASE 2023 Argument error (ASIZE) OS:0 #:0 A:2:U:NIL;N:1 "
Expected: "E 1 BASE 2023 Argument error (ASIZE) OS:0 #:0 "
! 2894 MAIN_ARRAY(177) ASize( NIL, -1 )
Result: "E 1 BASE 2023 Argument error (ASIZE) OS:0 #:0 A:2:U:NIL;N:-1 "
Expected: "E 1 BASE 2023 Argument error (ASIZE) OS:0 #:0 "
! 2916 MAIN_ARRAY(214) Array( -1 )
Result: "E 2 BASE 1131 Bound error (array dimension) OS:0 #:0 A:1:N:-1 "
Expected: "E 2 BASE 1131 Bound error (array dimension) OS:0 #:0 "
! 2917 MAIN_ARRAY(215) Array( 1, 0, -10 )
Result: "E 2 BASE 1131 Bound error (array dimension) OS:0 #:0
A:3:N:1;N:0;N:-10 "
Expected: "E 2 BASE 1131 Bound error (array dimension) OS:0 #:0 "
! 3056 MAIN_ARRAY(395) TAEVSM()
Result: "N10N 9N 8N 7N 6 5"
Expected: "N10N 9N 8N 7N 6N 5N 4N 3N 2N 1 0"
! 3057 MAIN_ARRAY(396) TASOSM1()
Result: "NN 5NN 4NN 3NN 2 1{ 3 }"
Expected: "NN 5NN 4NN 3NN 2NN 1NN 0NN 0NN 0NN 0NN 0NN 0NN 0 0{ }"
! 3058 MAIN_ARRAY(397) TASOSM2()
Result: "NN 5NN 4NN 3NN 2 1{ 3 }"
Expected: "NN 5NN 4NN 3NN 2NN 1NN 0NN 0NN 0NN 0NN 0 0{ }"
! 3178 MAIN_MISC(94) Set( 40 )
Result: 0
Expected: NIL
! 3187 MAIN_MISC(104) Set( 40 , -1 )
Result: 0
Expected: NIL
===========================================================================
Test calls passed: 4743 ( 99.62 % )
Test calls failed: 18 ( 0.38 % )
----------
Total: 4761 ( Time elapsed: 0.35 seconds )
WARNING ! Failures detected
--
[-]
mkdir /nonexistent
Index: src/common/hbprintf.c
===================================================================
--- src/common/hbprintf.c (revision 14580)
+++ src/common/hbprintf.c (working copy)
@@ -163,7 +163,7 @@
# define _x_long_dbl long double
# if defined( __WATCOMC__ ) || defined( __MINGW32CE__ ) || defined( __CYGWIN__ ) || \
defined( HB_OS_BEOS ) || defined( HB_OS_IPHONE ) || \
- defined( __OpenBSD__ ) || defined( __NetBSD__ ) || \
+ defined( __OpenBSD__ ) || defined( __NetBSD__ ) || defined( __DragonFly__ ) || \
( defined( HB_OS_WIN_CE ) && defined( __POCC__ ) )
# define _HB_WRAP_MODFL_
# define _MODFD( x, p ) _hb_modfl( x, p )
Index: include/hbsetup.h
===================================================================
--- include/hbsetup.h (revision 14580)
+++ include/hbsetup.h (working copy)
@@ -381,7 +381,7 @@
#ifndef HB_OS_BSD
#if defined( __FreeBSD__ ) || defined( __NetBSD__ ) || defined( __OpenBSD__ ) || \
- defined( HB_OS_DARWIN )
+ defined( HB_OS_DARWIN ) || defined( __DragonFly__ )
#define HB_OS_BSD
#endif
#endif
Index: config/global.mk
===================================================================
--- config/global.mk (revision 14580)
+++ config/global.mk (working copy)
@@ -100,6 +100,8 @@
HB_HOST_PLAT := bsd
else ifneq ($(findstring bsd,$(1)),)
HB_HOST_PLAT := bsd
+ else ifneq ($(findstring DragonFly,$(1)),)
+ HB_HOST_PLAT := bsd
else ifneq ($(findstring OS/2,$(1)),)
HB_HOST_PLAT := os2
else ifneq ($(findstring MS-DOS,$(1)),)
Index: config/bsd/libs.mk
===================================================================
--- config/bsd/libs.mk (revision 14580)
+++ config/bsd/libs.mk (working copy)
@@ -12,7 +12,11 @@
SYSLIBS += $(HB_LIBNAME_CURSES)
endif
ifneq ($(HB_HAS_SLANG),)
- SYSLIBS += slang
+ ifneq ($(wildcard /usr/pkg/lib/libslang2.so),)
+ SYSLIBS += slang2
+ else
+ SYSLIBS += slang
+ endif
# In BSD, slang still needs curses :(
ifneq ($(HB_HAS_CURSES),)
SYSLIBS += $(HB_LIBNAME_CURSES)
@@ -23,7 +27,7 @@
SYSLIBPATHS += /usr/X11R6/lib
endif
- SYSLIBPATHS += /usr/local/lib
+ SYSLIBPATHS += /usr/local/lib /usr/pkg/lib
ifneq ($(HB_HAS_PCRE),)
ifeq ($(HB_HAS_PCRE_LOCAL),)
Index: config/detect.mk
===================================================================
--- config/detect.mk (revision 14580)
+++ config/detect.mk (working copy)
@@ -60,7 +60,7 @@
_DET_VAR_HAS_ := HB_HAS_PCRE
_DET_FLT_PLAT :=
_DET_FLT_COMP :=
-_DET_INC_DEFP := /usr/include /usr/local/include /opt/local/include
+_DET_INC_DEFP := /usr/include /usr/local/include /usr/pkg/include /opt/local/include
_DET_INC_LOCL := $(realpath $(TOP)$(ROOT)external/pcre)
_DET_INC_HEAD := /pcre.h
@@ -104,6 +104,7 @@
_DET_INC_DEFP += /usr/local/include /usr/local/include/slang
_DET_INC_DEFP += /sw/include /sw/include/slang
_DET_INC_DEFP += /opt/local/include /opt/local/include/slang
+_DET_INC_DEFP += /usr/pkg/include/slang2
include $(TOP)$(ROOT)config/detfun.mk
@@ -130,8 +131,8 @@
_DET_VAR_HAS_ := HB_HAS_X11
_DET_FLT_PLAT :=
_DET_FLT_COMP :=
-_DET_INC_DEFP := /usr/include /usr/local/include /usr/X11R6/include
-_DET_INC_HEAD := /X11/Xlib.h
+_DET_INC_DEFP := /usr/include /usr/local/include /usr/X11R6/include /usr/pkg/include
+_DET_INC_HEAD := /X11/X.h
include $(TOP)$(ROOT)config/detfun.mk
_______________________________________________
Harbour mailing list (attachment size limit: 40KB)
Harbour@harbour-project.org
http://lists.harbour-project.org/mailman/listinfo/harbour