[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
bsd-gs-patch.20020806
Description: Text document
- Improving GNUstep support for NetBSD ELF,
Peter Cooper <=