* Instance/framework.make: Add top-level symlink for all darwin

* ld_lib_path.sh: Clarify framework comment.

* Documentation/machines.texi: Update
* Documentation/README.NetBSD: Remove, obsolete.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/tools/make/trunk@21111 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Adam Fedor 2005-04-15 22:48:30 +00:00
parent ba5dd636e3
commit 149d63b6b1
5 changed files with 67 additions and 344 deletions

View file

@ -1,3 +1,11 @@
2005-04-15 Adam Fedor <fedor@gnu.org>
* Instance/framework.make: Add top-level symlink for all darwin
* ld_lib_path.sh: Clarify framework comment.
* Documentation/machines.texi: Update
* Documentation/README.NetBSD: Remove, obsolete.
2005-04-06 Nicola Pero <n.pero@mi.flashnet.it>
* GNUstep.conf (USER_GNUSTEP_RC): Fixed typo, it was spelt

View file

@ -1,311 +0,0 @@
Installing GNUstep on NetBSD
(C) 2001 JNQT <jnqt@fbe.freeserve.ne.jp>
Last update: 24 November 2001
I have installed GNUstep on NetBSD/i386 1.5.2.
I will not be responsible for any damage implicitly or explicitly
caused by this information. Use at your own risk.
Please submit any comments or suggestions to jnqt@fbe.freeserve.ne.jp.
For more information about installation, see the `GNUstep-HOWTO' file
located in the gnustep-make package.
Good Luck! :-)
//
// Install GNUstep
//
su root
[Add `/etc/ld.so.conf']
/usr/local/lib
/usr/X11R6/lib
ldconfig
[Use the NetBSD packages collection...Install `/usr/local']
gcc-2.95.2
gmake-3.79.1
libiconv-1.6.1
libxml2-2.4.6
tiff-3.5.5
rehash
alias gmake gmake CC=/usr/local/gcc-2.95.2/bin/cc CPP=/usr/local/gcc-2.95.2/bin/cpp
tar zxvf ffcall-1.8b.tar.gz
cd ffcall-1.8b
./configure --prefix=/usr
gmake
gmake check
gmake install
tar zxvf gnustep-make-1.0.0.tar.gz
cd gnustep-make-1.0.0
./configure --prefix=/usr/local/GNUstep
gmake
gmake install
gmake distclean
source /usr/local/GNUstep/System/Library/Makefiles/GNUstep.csh
tar zxvf gnustep-objc-1.0.1.tar.gz
cd gnustep-objc-1.0.1
[Edit `./GNUmakefile' Line:39]
THREADING = posix -> THREADING = single
gmake
gmake install
cd gnustep-make-1.0.0
./configure
gmake
gmake install
tar zxvf gnustep-base-1.0.0.tar.gz
cd gnustep-base-1.0.0
ln -s /usr/local/bin/xml2-config /usr/local/bin/xml-config
./configure --with-xml-prefix=/usr/local --with-libiconv-library=/usr/local/lib
gmake
[Ahhh...Error...and Edit `./Source/dynamic-load.h' Line:94]
sym = dlsym(RTLD_NEXT, symbol); -> sym = dlsym(handle, symbol);
gmake
gmake install
tar zxvf gnustep-gui-0.6.8.tar.gz
cd gnustep-gui-0.6.8
./configure
gmake
gmake install
tar zxvf gnustep-xgps-0.6.8.tar.gz
cd gnustep-xgps-0.6.8
./configure
gmake
gmake install
mkdir ~/GNUstep
[Add `/etc/rc.local']
if [ -f /usr/local/GNUstep/System/Tools/ix86/netbsdelf1.5.2/gdomap ]; then
/usr/local/GNUstep/System/Tools/ix86/netbsdelf1.5.2/gdomap
fi
[Add `~/.cshrc']
setenv GNUSTEP_TZ Japan
source /usr/local/GNUstep/System/Library/Makefiles/GNUstep.csh
if (`gdomap -L GDNCServer | grep -c Found` == '0') then
echo 'Starting GNUstep services.'
gdnc
gpbs
endif
alias gmake gmake CC=/usr/local/gcc-2.95.2/bin/cc CPP=/usr/local/gcc-2.95.2/bin/cpp
reboot
//
// e.g. Install CurrencyConverter(in the GNUstep examples)
//
su root
tar zxvf gustep-examples-0.9.2.tar.gz
cd gustep-examples-0.9.2/gui/CurrencyConverter
gmake
gmake install
startx
openapp CurrencyConverter.app
(http://hp.vector.co.jp/authors/VA019253/step/inst.html)
=========================================================================
Older, partially obsolete information Below:
=========================================================================
This information is provided by Turbocat's Development.
We do not make any guarantees as to the currency, accuracy,
or quality of information stored here. Use at your own risk.
Please submit any comments to info@turbocat.de or the GNUstep maintainers.
---
Hi folks,
we have installed GS on NetBSD 1.5 (intel) and this is what we did:
pkg_add means, we have the pkg from the NetBSD package collection.
1.) gnumake: pkg_add gmake-3.79.1.tgz
2.) libiconv: pkg_add libiconv-1.5.tgz
3.) libxml:
./configure
in Makefile: Add the following lines:
INLCUDES = -I. -I/usr/local/include -I/usr/pkg/include
LDFLAGS = -L/usr/pkg/lib -liconv
make
su
make install
4.) ffcall-1.6b: ./configure
make
make check
su
make install
5.) pth-1.3.7: ./configure --enable-pthread --enable-syscall-soft
make
make test
su
make install
[for removing 'make uninstall']
5.1) cd /usr/lib
ar -dv libobjc_p.a NXConstStr.po
ar -dv libobjc_pic.a NXConstStr.so
ar -dv libobjc.a NXConstStr.o
rm libobjc.so.0.0
6.) core/make: #. Version <-- disable Version
./configure --prefix=/usr/GNUstep
gmake
su
gmake install
File : /usr/GNUstep/System/Library/Makefiles/framework.make
change ine: with ... {if($$2 == "R") ...
in ... {if($$2 == "D") ...
7.) core/base: source /usr/GNUstep/System/Library/Makefiles/GNustep.csh
./configure --prefix=/usr/GNUstep
File: GSFormat.m include <wchar.h> <-- ADD
(unichar *)strerror(save_errno); <- REPLACED
__strerror_r
File: NSCoder.m LINE 372: remove ";"
LINE 373, 374 :
return ((((GNU... + 0) * 100
+ GNU.. + 0) * 100) + GNU... + 0;
File:dynamic-load.h Zeile 93: // sym = dlsym(RTLD_NEXT, symbol);
sym = dlsym(handle, symbol);
gmake
su
gmake install
8.) core/gui: ./configure --prefix=/usr/GNUstep
--with-tiff-library=/usr/pkg/lib
--with-jpeg-library=/usr/pkg/lib
File: Source/SharedX/XGBitmapImageRep.m // include <config.h> <-- uncomment
File: Source/XGBitmap.m // include <config.h> <-- uncomment
touch Sources/config.h
setenv LD_LIBRARY_PATH "${LD_LIBRARY_PATH}:/usr/pkg/lib"
gmake ADDITIONAL_INCLUDE_DIRS ="-I/usr/pkg/include
-I../Headers"
LDFLAGS="-L/usr/pkg/lib -ltiff -ljpeg"
su
gmake install
9.) core/xgps: ./configure --prefix=/usr/GNUstep
--with-tiff-library=/usr/pkg/lib
--with-jpeg-library=/usr/pkg/lib
setenv LD_LIBRARY_PATH "${LD_LIBRARY_PATH}:/usr/X11R6/lib"
gmake ADDITIONAL_INCLUDE_DIRS="-I/usr/pkg/include -I../Headers"
LDFLAGS="-L/usr/pkg/lib -L/usr/X11R6/lib
-ltiff -lXmu -lXt"
su
gmake install
9.1) extensions: ./configure --prefix=/usr/GNUstep
gmake
su
gmake install
10.) Prefs:
/usr/GNUstep/System/Tools/defaults write NSGlobalDomain "Local
Time Zone" "Europe/Berlin"
10.1) /etc/rc.local:
GNUSTEP_SYSTEM_ROOT=/usr/GNUstep
if [ -f /usr/GNUstep/System/Tools/ix86/netbsdelf1.5/gdomap ]; then
/usr/GNUstep/System/Tools/ix86/netbsdelf1.5/gdomap
fi
10.2) .cshrc:
Add this at the end of .cshrc:
setenv LD_LIBRARY_PATH /usr/X11R6/lib:/usr/local/lib/usr/pkg/lib
source /usr/GNUstep/System/Library/Makefiles/GNUstep.csh
if ( `gdomap -L GDNCServer | grep -c Found` == '0' ) then
echo "Starting GNUstep services..."
gdnc
gpbs
endif
11.) GWorkspace: gmake LDFLAGS="-L/usr/pkg/lib -ltiff -lXmu -lXt"
start: openapp GWorkspace.app
12.) ProjectCenter: su
gmake install LDFLAGS="-L/usr/pkg/lib -ltiff -lXmu -lXt"
start: openapp ProjectCenter.app

View file

@ -4,7 +4,7 @@
@ifclear HOWTO
@c Machine Specific, Compilers, , (DIR)
@node Machine Specific, Compilers, , (DIR)
@node Machine Specific
@chapter Machines
@end ifclear
@ -36,7 +36,8 @@ GNUstep @email{bug-gnustep@@gnu.org}.
* Irix 6.5/MIPS::
* MacOSX/PowerPC::
* MkLinux/PowerPC::
* NetBSD::
* NetBSD/i386::
* NetBSD/Sparc64::
* Netwinder::
* OpenBSD 3.x::
* OSF/Alpha::
@ -182,7 +183,7 @@ See also the MacOSX/PowerPC section
@table @var
@item Recommended compiler
Unknown
Standard
@item Extra libs needed
Unknown
@ -198,7 +199,7 @@ None
Tested on sid.
@table @var
@item Recommended compiler
Unknown
Standard
@item Extra libs needed
Unknown
@ -214,7 +215,7 @@ None
Tested on sid.
@table @var
@item Recommended compiler
Unknown
Standard
@item Extra libs needed
Unknown
@ -230,10 +231,9 @@ None
Tested on sid.
@table @var
@item Recommended compiler
Unknown
Standard
@item Extra libs needed
Unknown
@item Special Instructions
None
@ -279,7 +279,7 @@ For libxml2 2.4.24, make WITHOUT_PYTHON=YES
@c -----------------------------------------
@node FreeBSD 3.x, FreeBSD 2.x, FreeBSD 4.x, Machine Specific
@section FreeBSD 3.x
@section FreeBSD 3.x (@emph{Obsolete})
Compiles "out of the box" on FreeBSD 3.4.
@ -427,7 +427,7 @@ or configure base with --disable-xml.
See also the Darwin/PowerPC section.
@c -----------------------------------------
@node MkLinux/PowerPC, NetBSD, MacOSX/PowerPC, Machine Specific
@node MkLinux/PowerPC, NetBSD/i386, MacOSX/PowerPC, Machine Specific
@section MkLinux/PowerPC
Tested with R2 RC2 (2004/03/04).
@ -445,23 +445,49 @@ Unknown.
@end table
@c -----------------------------------------
@node NetBSD, Netwinder, MkLinux/PowerPC, Machine Specific
@section NetBSD
@node NetBSD/i386, NetBSD/Sparc64, MkLinux/PowerPC, Machine Specific
@section NetBSD/i386
Tested on NetBSD 2.0.2 (2005/04/15)
@table @var
@item Recommended compiler
Unknown
Standard
@item Extra libs needed
libiconv
libiconv(?), libffi
@item Special Instructions
See the @url{README.NetBSD} file located in the gnustep-make package.
Use NetBSD packages to install needed libraries. libffi either comes
automatically with gcc or can be installed separately and works fine
(over ffcall).
@end table
@c -----------------------------------------
@node Netwinder, OpenBSD 3.x, NetBSD, Machine Specific
@node NetBSD/Sparc64, Netwinder, NetBSD/i386, Machine Specific
@section NetBSD/Sparc64 (@emph{Unstable})
Tested on NetBSD 2.0.2 (2005/04/15)
@table @var
@item Recommended compiler
Standard
@item Extra libs needed
libiconv(?), libffi
@item Special Instructions
Use NetBSD packages to install needed libraries. libffi either comes
automatically with gcc or can be installed separately and is prefered
over ffcall which does not work on Sparc64 machines.
@end table
gdomap crashes. Perhaps other things do not work as well.
@c -----------------------------------------
@node Netwinder, OpenBSD 3.x, NetBSD/Sparc64, Machine Specific
@section Netwinder (@emph{Unstable})
@table @var

View file

@ -385,7 +385,7 @@ $(DUMMY_FRAMEWORK_OBJ_FILE): $(DUMMY_FRAMEWORK_FILE)
$(ECHO_COMPILING)$(CC) $< -c $(ALL_CPPFLAGS) $(ALL_OBJCFLAGS) -o $@$(END_ECHO)
endif
ifeq ($(FOUNDATION_LIB), apple)
ifeq ($(findstring darwin, $(GNUSTEP_TARGET_OS)), darwin)
# When building native frameworks on Apple, we need to create a
# top-level symlink xxx.framework/xxx ---> the framework shared
# library

View file

@ -133,25 +133,25 @@ case "$host_os" in
export DYLD_LIBRARY_PATH
# The code below has been temporarily removed, because...
# With GNUstep -make on any platform, when you compile a
# framework, it is supported by creating a link like
# Libraries/libMyFramework.dylib ->
# Frameworks/MyFramework.framework/Versions/Current/libMyFramework.dylib, to
# mitigate the fact that FSF GCC supports to link frameworks with the -frameworks
# flag only on Darwin .
# Well concerning library GNUstep -make on Darwin, the problem lies in the fact
# the Darwin linker seems to be unable to link the library when you pass the
# flag -lMyFramework to compile an application which depends on it, strangely it
# links the framework directly. You can see that with otool -L
# Whatever/MyApplication.app/MyApplication which will output
# MyFramework.framework/MyFramework and not libMyFramework.dylib .
# So because a framework is linked when it is present even when you want to
# link the equivalent library, the application will not find the framework when
# you launch it with DYLD_FRAMEWORK_PATH empty. To correct that, we must
# set DYLD_FRAMEWORK_PATH in any cases until the Darwin linker behaves correctly.
# Frameworks in GNUstep-make are supported by creating a link like
#
# Libraries/libMyFramework.dylib ->
# Frameworks/MyFramework.framework/Versions/Current/libMyFramework.dylib,
#
# to mitigate the fact that FSF GCC does not support a -framework flag.
#
# On Darwin, however, we partially emulate -framework by setting the
# "install_name" to the framework name during linking. The dynamic
# linker (dyld) is smart enough to find the framework under this name,
# but only if DYLD_FRAMEWORK_PATH is set (unless we set the
# "install_name" to an absolute path, which we don't). We'd really like
# to fully support -framework, though.
#
# Use otool -L MyApplication.app/MyApplication, for instance, to see
# how the shared libraries/frameworks are linked.
#
# if [ "$LIBRARY_COMBO" = "apple-apple-apple" -o \
#      "$LIBRARY_COMBO" = "apple" ]; then
# "$LIBRARY_COMBO" = "apple" ]; then
if [ -z "$DYLD_FRAMEWORK_PATH" ]; then
DYLD_FRAMEWORK_PATH="$fw_paths"