bug-gnustep
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Improving GNUstep support for NetBSD ELF


From: Peter Cooper
Subject: Improving GNUstep support for NetBSD ELF
Date: Tue, 6 Aug 2002 12:16:15 +0200
User-agent: Mutt/1.2.5i

Hi 

I've been looking at improving GNUstep support for NetBSD ELF targets.
Nicola helped me start to get a handle on the build environment - it's
pretty cool!

The current NetBSD install instructions suggest manual installation of support
libraries (libtiff, libjpeg, etc), and modification of system configuration
files.  This is probably a bad long-term solution.

A first cut at modifications of the configuration and makefile
environments can be found in the patch file attached. It has successfully
patched against today's CVS sources. There are still several outstanding
issues, advice as to how to proceed would be very much appreciated.

FYI: I'm building using a local installation of gcc 3.1 to avoid problems
with the rather dated toolchain on NetBSD 1.5.x right now. 

A quick summary of the changes follows:

core/make/target.make: 
  update most of the netbsdelf logic for shared library and shared framework
  linking, loosely from the freebsdelf target; add static and dynamic link
  support for the NetBSD package library directory, /usr/pkg/lib and the
  headers, /usr/pkg/include.

core/make/configure.ac:
  support NetBSD package headers and libraries, similar to the FreeBSD
  target.

core/base/configure.ac:
  support NetBSD package headers and libraries, similar to the FreeBSD
  target.
  
core/gui/configure.ac:
  support NetBSD package headers and libraries. (FreeBSD target seems
  to take a different approach, should it?).

core/back/configure.ac:
  support NetBSD package headers and libraries.
  
Most of these changes could also support an OpenBSD ELF target, as the
OpenBSD package system is quite similar to NetBSD's. I'll be looking at that
later this week.

Current issues:

1. Linking back fails as symbols are multiply generated - this is related
   to the definition of APPKIT_DECLARE in AppKit/AppKitDefines.h. Recompiling
   with APPKIT_DECLARE modified to be a macro for "extern", fixes the problem.
   Any ideas why this happens?

2. Dynamic loading of the back bundle fails at runtime, and a little bit
   of system call tracing shows that even though the bundle loads, it cannot
   find the tiff library and so on. Interesting - at link time, the bundle
   is told where the support libraries are - does the objective-c runtime
   support this? I have to define LD_LIBRARY_PATH to include both /usr/X11R6/lib
   and /usr/pkg/lib, but it's only to support bundles. (GNUstep libraries are
   loaded by the system runtime linker and this honours compiletime library
   paths.)
   
3. Compiling portaudio fails quite badly. ossaudio on NetBSD may not be
   a complete implementation, and the real time scheduling header <sched.h>
   doesn't appear to exist. It's tempting to disable gsnd for NetBSD targets
   for the moment. Comments?

Suggestions about how to move forward on these issues would be very much
apreciated.

Regards

Peter

Attachment: bsd-gs-patch.20020806
Description: Text document


reply via email to

[Prev in Thread] Current Thread [Next in Thread]