[Gambas-user] Gambas / FreeBSD.

Thierry Thomas thierry at ...342...
Thu Jan 29 00:21:24 CET 2004


Hello,

I have ported Gambas on FreeBSD. It runs pretty fine, but I have met
several "portability" issues:

1- Threads:
configure has a case for FreeBSD, but it only handles the case of
FreeBSD-4.x. 5.x uses different libraries. Moreover, even with the
correct THREAD_LIB & THREAD_INC, it builds, but aborts in graphical
mode, because gbx is linked without threads.
To fix that, I have removed these values:

   case "${host}" in
     *-*-freebsd* )
-      THREAD_LIB=""
-      THREAD_INC="-pthread -D_REENTRANT"
+      THREAD_LIB=
+      THREAD_INC=
       ;;
     *)
       THREAD_LIB="-lpthread"

and I pass the correct ones as CFLAGS & LDFLAGS through the port's
Makefile.

2) SDL:
configure does not detect SDL correctly; fortunately, we have a shell
(sdl_config) which returns the right values for cflags & libs.

3) QT & KDElibs:
They are not detected by configure, and src/comp/gbi.c &
src/exec/library.c have hardcoded values of qt-mt kdecore kdeui DCOP
& kio. I patch these files with values returned by ldconfig.

4) GNU-ism
Gambas aborts when clicking on "property", because du does not accept -b
(I have patched to use du -k).

5) Bug?
AnalogWatch's compilation aborts, because there is a $:

--- ./examples/AnalogWatch/FrmClock.class.orig	Sat Jan 24 11:32:20 2004
+++ ./examples/AnalogWatch/FrmClock.class	Sun Jan 25 20:54:07 2004
@@ -21,7 +21,7 @@
 END
 
 
-PUBLIC SUB Form_Resize() $
+PUBLIC SUB Form_Resize()
 
   ResizeDrawArea    'Resize the drawing area to match the form
   DrawClock            'Update clock

6) Includes
I cannot define <netinet/in.h> before <sys/types.h>:

--- src/lib/net/CSocket.h.orig	Fri Nov 28 00:19:20 2003
+++ src/lib/net/CSocket.h	Sun Jan 25 00:30:39 2004
@@ -25,11 +25,11 @@
 #define __CSOCKET_H
 
 #include "gambas.h"
-#include <netinet/in.h>
 #include <arpa/inet.h>
 #include <sys/un.h>
 #include <sys/types.h>
 #include <sys/socket.h>
+#include <netinet/in.h>
 #include <unistd.h>
 #include <netdb.h>
 #include "CDnsClient.h"

7) Hier
I have some other patches to respect prefix / hier, but this is usual.

Keep the good work! (and be indulgent to my bad english...)
-- 
Th. Thomas.




More information about the User mailing list