mirror of
https://github.com/gnustep/tools-make.git
synced 2025-04-23 22:33:28 +00:00
Merge 1.0 branch into main.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/tools/make/trunk@9547 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
8fd79d79b1
commit
a7692a5617
20 changed files with 1261 additions and 745 deletions
46
ChangeLog
46
ChangeLog
|
@ -1,8 +1,54 @@
|
|||
2001-04-09 Adam Fedor <fedor@gnu.org>
|
||||
|
||||
* Merge 1.0 branch back into main.
|
||||
|
||||
2001-03-23 Jonathan Gapen <jagapen@home.com>
|
||||
|
||||
* configure.in: Also look for 'gnutar' tar program.
|
||||
* configure: Re-generate.
|
||||
|
||||
2001-04-05 Adam Fedor <fedor@gnu.org>
|
||||
|
||||
* Version: 1.0.0
|
||||
* GNUstep-HOWTO, NEWS: Regenerated.
|
||||
* Documentation/machines.texi: Update
|
||||
|
||||
2001-04-04 Adam Fedor <fedor@gnu.org>
|
||||
|
||||
* config.guess: Update to latest version
|
||||
* config.sub: Likewise.
|
||||
* configure.in: Quote $host_os
|
||||
* Documentation/*texi: Update
|
||||
|
||||
2001-03-31 Adam Fedor <fedor@gnu.org>
|
||||
|
||||
* target.make (TARGET_SYSTEM_LIBS): Set default libs.
|
||||
|
||||
2001-03-30 Adam Fedor <fedor@gnu.org>
|
||||
|
||||
* target.make: Define TARGET_SYSTEM_LIBS for cygwin.
|
||||
|
||||
2001-03-29 Adam Fedor <fedor@gnu.org>
|
||||
|
||||
* Documentation/GNUmakefile.in: Use standard rules for documentation.
|
||||
* Documentation/*texi: Update
|
||||
* GNUstep-HOWTO, INSTALL, README: Regen.
|
||||
|
||||
2001-03-28 Adam Fedor <fedor@gnu.org>
|
||||
|
||||
* configure.in: Remove spurious ','.
|
||||
|
||||
* which_lib.c (search_for_library_in_directory): Translate Windows
|
||||
//c paths to c: so MingW functions can find them.
|
||||
|
||||
2001-03-27 Adam Fedor <fedor@gnu.org>
|
||||
|
||||
* target.make: Add darwin target.
|
||||
|
||||
* Documentation/machines.texi: Update.
|
||||
* Documentation/faq.texi: Likewise.
|
||||
* Documentation/gnustep-howto.texi: Likewise
|
||||
|
||||
Mon Mar 19 14:30:01 2001 Nicola Pero <nicola@brainstorm.co.uk>
|
||||
|
||||
* rules.make (install): Depend on internal-after-install after all
|
||||
|
|
|
@ -22,8 +22,9 @@
|
|||
prefix = @prefix@
|
||||
GNUSTEP_INSTALLATION_DIR=$(prefix)
|
||||
GNUSTEP_PREFIX = @GNUSTEP_PREFIX@
|
||||
srcdir = @srcdir@
|
||||
datadir = @datadir@
|
||||
MAKEFILE_NAME = GNUmakefile
|
||||
|
||||
include ../Version
|
||||
|
||||
GNUSTEP_MAKEINFO = makeinfo
|
||||
GNUSTEP_MAKEINFO_FLAGS = -D NO-TEXI2HTML --no-header
|
||||
|
@ -36,67 +37,52 @@ GNUSTEP_TEXI2HTML_FLAGS = -split_chapter -expandinfo
|
|||
GNUSTEP_DVIPS = dvips
|
||||
GNUSTEP_DVIPS_FLAGS =
|
||||
|
||||
include ../Version
|
||||
|
||||
# The documents to be generated
|
||||
DOCUMENT_NAME = make
|
||||
DOCUMENT_NAME = make gnustep-howto machines faq
|
||||
|
||||
# The text documents to be generated
|
||||
DOCUMENT_TEXT_NAME = \
|
||||
INSTALL README
|
||||
DOCUMENT_TEXT_NAME = INSTALL README NEWS GNUstep-HOWTO
|
||||
|
||||
TOP_DOC_FILES = INSTALL README
|
||||
TOP_DOC_FILES = INSTALL README NEWS GNUstep-HOWTO
|
||||
|
||||
INSTALL_TEXI_FILES =
|
||||
INSTALL_TEXT_MAIN = install.texi
|
||||
INSTALL_DOC_INSTALL_DIR = Developer/Makefiles/ReleaseNotes/$(VERSION)
|
||||
GNUstep-HOWTO_TEXI_FILES = version.texi
|
||||
GNUstep-HOWTO_TEXT_MAIN = gnustep-howto.texi
|
||||
|
||||
NEWS_TEXI_FILES =
|
||||
NEWS_TEXT_MAIN = news.texi
|
||||
NEWS_DOC_INSTALL_DIR = Developer/Makefiles/ReleaseNotes/$(VERSION)
|
||||
|
||||
README_TEXI_FILES =
|
||||
README_TEXT_MAIN = readme.texi
|
||||
README_DOC_INSTALL_DIR = Developer/Makefiles/ReleaseNotes/$(VERSION)
|
||||
|
||||
ANNOUNCE_TEXI_FILES =
|
||||
ANNOUNCE_TEXT_MAIN = announce.texi
|
||||
ANNOUNCE_DOC_INSTALL_DIR = Developer/Makefiles/ReleaseNotes/$(VERSION)
|
||||
FAQ_TEXI_FILES = version.texi
|
||||
FAQ_TEXT_MAIN = faq.texi
|
||||
|
||||
make_TEXI_FILES = \
|
||||
make.texi
|
||||
|
||||
all: $(DOCUMENT_TEXT_NAME)
|
||||
for file in $(DOCUMENT_NAME); do \
|
||||
$(MAKE) INTERNAL_doc_NAME=$$file TEXI_FILES=$$file.texi internal-doc-all; \
|
||||
done
|
||||
faq_TEXI_FILES = \
|
||||
faq.texi \
|
||||
version.texi
|
||||
|
||||
INSTALL: install.texi
|
||||
$(GNUSTEP_MAKETEXT) $(GNUSTEP_MAKETEXT_FLAGS) \
|
||||
-o $@ $^
|
||||
machines_TEXI_FILES = \
|
||||
machines.texi
|
||||
|
||||
README: readme.texi
|
||||
$(GNUSTEP_MAKETEXT) $(GNUSTEP_MAKETEXT_FLAGS) \
|
||||
-o $@ $^
|
||||
gnustep-howto_TEXI_FILES = \
|
||||
gnustep-howto.texi \
|
||||
version.texi
|
||||
|
||||
internal-doc-all:: $(INTERNAL_doc_NAME).info \
|
||||
$(INTERNAL_doc_NAME).ps \
|
||||
$(INTERNAL_doc_NAME)_toc.html
|
||||
INSTALL_TEXI_FILES = version.texi
|
||||
INSTALL_TEXT_MAIN = install.texi
|
||||
INSTALL_DOC_INSTALL_DIR = Developer/Makefiles/ReleaseNotes/$(VERSION)
|
||||
|
||||
$(INTERNAL_doc_NAME).info: $(TEXI_FILES)
|
||||
$(GNUSTEP_MAKEINFO) $(GNUSTEP_MAKEINFO_FLAGS) \
|
||||
-o $@ $(INTERNAL_doc_NAME).texi
|
||||
NEWS_TEXI_FILES = version.texi
|
||||
NEWS_TEXT_MAIN = news.texi
|
||||
NEWS_DOC_INSTALL_DIR = Developer/Makefiles/ReleaseNotes/$(VERSION)
|
||||
|
||||
$(INTERNAL_doc_NAME).dvi: $(TEXI_FILES)
|
||||
$(GNUSTEP_TEXI2DVI) $(GNUSTEP_TEXI2DVI_FLAGS) $(INTERNAL_doc_NAME).texi
|
||||
README_TEXI_FILES = version.texi
|
||||
README_TEXT_MAIN = readme.texi
|
||||
README_DOC_INSTALL_DIR = Developer/Makefiles/ReleaseNotes/$(VERSION)
|
||||
|
||||
$(INTERNAL_doc_NAME).ps: $(INTERNAL_doc_NAME).dvi
|
||||
$(GNUSTEP_DVIPS) $(GNUSTEP_DVIPS_FLAGS) \
|
||||
$(INTERNAL_doc_NAME).dvi -o $@
|
||||
ANNOUNCE_TEXI_FILES = version.texi
|
||||
ANNOUNCE_TEXT_MAIN = announce.texi
|
||||
ANNOUNCE_DOC_INSTALL_DIR = Developer/Makefiles/ReleaseNotes/$(VERSION)
|
||||
|
||||
$(INTERNAL_doc_NAME)_toc.html: $(TEXI_FILES)
|
||||
$(GNUSTEP_TEXI2HTML) $(GNUSTEP_TEXI2HTML_FLAGS) \
|
||||
$(INTERNAL_doc_NAME).texi
|
||||
include makerules.make
|
||||
include makedoc.make
|
||||
|
||||
regenerate: $(DOCUMENT_TEXT_NAME)
|
||||
mv -f $(TOP_DOC_FILES) ..
|
||||
|
|
|
@ -20,15 +20,15 @@ Cygwin DLL 1.1.4 and MingW gcc 2.95.2-1. If you have more experience
|
|||
with MinGW than me, please help improve these instructions!
|
||||
|
||||
I assume you have installed Cygwin and MinGW, and dowloaded and
|
||||
unpacked the GNUstep core package. You also need to download a version
|
||||
of the Objective-C runtime that compiles as a shared library
|
||||
(DLL). See the GNUstep-HOWTO file for more information on where to get
|
||||
various files.
|
||||
unpacked the GNUstep packages. You also need to download a version of
|
||||
the Objective-C runtime (e.g. gnustep-objc) that compiles as a shared
|
||||
library (DLL). See the GNUstep-HOWTO file for more information on
|
||||
where to get various files.
|
||||
|
||||
1. First, start up a Cygwin BASH shell and make sure the MinGW tools
|
||||
are in your path:
|
||||
|
||||
export PATH=//c/gcc-2.95.2-1/bin:$PATH
|
||||
export PATH=//c/mingw/bin:$PATH
|
||||
|
||||
(Put in whatever path you have for the mingw tools).
|
||||
|
||||
|
@ -37,22 +37,22 @@ there is no default for Windows machines, so you need to set that up
|
|||
first with the GNUSTEP_SYSTEM_ROOT environment variable. To put it in
|
||||
a similar location, you might try:
|
||||
|
||||
export GNUSTEP_SYSTEM_ROOT=//c/cygwin/usr/GNUstep/System
|
||||
export GNUSTEP_SYSTEM_ROOT=//c/mingw/GNUstep/System
|
||||
|
||||
But you can put it anywhere you like (as long as you specify the full
|
||||
path with the disk label so MinGW can find it). You can also specify this
|
||||
with configure, using the --prefix=//c/cygwin/usr/GNUstep/System option.
|
||||
with configure, using the --prefix=//c/mingw/GNUstep/System option.
|
||||
|
||||
3. For various reasons, we need to configure and build each
|
||||
sub-package separately. So first, go to the 'make' subdirectory of the
|
||||
core package and configure:
|
||||
3. You need to build and install each sub-package separately. So
|
||||
first, go to the 'gnustep-make' package and configure:
|
||||
|
||||
cd make
|
||||
cd gnustep-make
|
||||
./configure --target=i386-mingw32
|
||||
|
||||
4. Now build the Makefile package. For some reason, the make that comes
|
||||
4. Now build the gnustep-make package. Occationally, the make that comes
|
||||
with MinGW doesn't like the way GNUstep makefiles are setup (or perhaps
|
||||
it's that MingW make doesn't work with bash), so use Cygwin's make:
|
||||
it's that MingW make doesn't work with bash), so you can try
|
||||
using Cygwin's make instead:
|
||||
|
||||
/usr/bin/make target=i386-mingw32
|
||||
/usr/bin/make target=i386-mingw32 install
|
||||
|
@ -63,21 +63,23 @@ compile correctly:
|
|||
. $GNUSTEP_SYSTEM_ROOT/Makefiles/GNUstep.sh
|
||||
|
||||
6. Now you can compile the Objective-C runtime DLL (unless you already
|
||||
have one installed):
|
||||
have one installed). First edit the GNUmakefile and set the THREADING
|
||||
variable to 'win32'. Then:
|
||||
|
||||
cd location_of_the_libobjc_library
|
||||
/usr/bin/make target=i386-mingw32 BUILD_DLL=yes WITH_DLL=yes
|
||||
/usr/bin/make target=i386-mingw32 BUILD_DLL=yes WITH_DLL=yes install
|
||||
cd gnustep-objc
|
||||
/usr/bin/make target=i386-mingw32 shared=yes
|
||||
/usr/bin/make target=i386-mingw32 shared=yes install
|
||||
|
||||
7. Now we can configure and make the base library.
|
||||
7. Now we can configure and build the gnustep-base library.
|
||||
|
||||
cd location_of_the_core_package/base
|
||||
cd gnustep-base
|
||||
./configure --target=i386-mingw32
|
||||
/usr/bin/make target=i386-mingw32 BUILD_DLL=yes WITH_DLL=yes
|
||||
/usr/bin/make target=i386-mingw32 BUILD_DLL=yes WITH_DLL=yes install
|
||||
/usr/bin/make target=i386-mingw32 shared=yes
|
||||
/usr/bin/make target=i386-mingw32 shared=yes install
|
||||
|
||||
Note that the base library is not completely ported to run on MinGW yet.
|
||||
In particular, the gstep-base DLL doesn't seem to be set up correctly.
|
||||
In particular, anything using sockets, RunLoops and FileHandles.
|
||||
Alos, the gnustep-base DLL doesn't seem to be set up correctly.
|
||||
To compile the gstep-base as a static library, use:
|
||||
|
||||
/usr/bin/make shared=no target=i386-mingw32
|
||||
|
|
|
@ -78,7 +78,7 @@ OpenStep's @samp{AppKit}.)
|
|||
|
||||
@item GNUstep DisplayGhostscript Server - A server that draws PostScript
|
||||
graphics to the screen, and receives events from the keyboard and
|
||||
mouse. It is based on GhostScript. There is also an DPS extension to
|
||||
mouse. It is based on GNU GhostScript. There is also an DPS extension to
|
||||
Xfree*6 that is usable.
|
||||
|
||||
@item Various Tools and applications, including GORM, The GNUstep
|
||||
|
@ -846,18 +846,22 @@ It works, but is slow and buggy. A lot of work could be done.
|
|||
@subsection What is the Display Ghostscript Server?
|
||||
|
||||
It is a free implementation of a Display PostScript server based on the
|
||||
ghostscript program by Aladdin software.
|
||||
GNU Ghostscript program developed by Aladdin Enterprises and now owned by artofcode LLC.
|
||||
|
||||
@node What is DGSs current state of development?, What is the relationship between the Display Ghostscript Server and X Windows?, What is the Display Ghostscript Server?, GNUstep DisplayGhostScript Server
|
||||
@subsection What is its current state of development?
|
||||
|
||||
GNU contracted with Aladdin software to add some key features to
|
||||
ghostscript so it could be used as a DPS server. This work has mostly
|
||||
been done, althought Aladdin did not completely finish the work that they
|
||||
were contracted for. DGS works fairly well with a single context and
|
||||
will soon work with multiple contexts. Alpha channel and compositing
|
||||
GNU contracted with Aladdin Enterprises to add some key features to
|
||||
GNU Ghostscript so it could be used as a DPS server. This work has mostly
|
||||
been done, although Aladdin did not completely
|
||||
finish the work that they were contracted for. (Because the work took
|
||||
longer than specified and was not completed, Aladdin agreed to waive
|
||||
approximately $10,000 in promised fees for the work that was actually
|
||||
done and delivered.)
|
||||
DGS works fairly well with a single context.
|
||||
Alpha channel and compositing
|
||||
currently doesn't work, but should before the end of 2000 (It's already
|
||||
been fixed in Ghostscript, just not released).
|
||||
been fixed in GNU Ghostscript 6.0, just not released).
|
||||
|
||||
@node What is the relationship between the Display Ghostscript Server and X Windows?, , What is DGSs current state of development?, GNUstep DisplayGhostScript Server
|
||||
@subsection What is the relationship between the Display Ghostscript Server and X Windows?
|
||||
|
|
|
@ -36,7 +36,7 @@ any later version published by the Free Software Foundation.
|
|||
Last Update: @today{}
|
||||
|
||||
This document explains how to build the different components of the
|
||||
GNUstep core libraries.
|
||||
GNUstep core libraries and GNUstep Launchpad.
|
||||
|
||||
Copyright (C) 1996 - 2001 Free Software Foundation, Inc.
|
||||
|
||||
|
@ -59,15 +59,16 @@ any later version published by the Free Software Foundation.
|
|||
* Tools and Applications::
|
||||
* Machine Specific::
|
||||
* Anonymous CVS::
|
||||
* Other::
|
||||
@end menu
|
||||
|
||||
@node Introduction, Summary, Top, Top
|
||||
@chapter Introduction
|
||||
|
||||
This document explains how to build the GNUstep core libraries. The core
|
||||
This document explains how to build the GNUstep core libraries or
|
||||
GNUstep Launchpad. The core
|
||||
libraries, along with associated tools and other files provide
|
||||
everything necessary for a working GNUstep system.
|
||||
everything necessary for a working GNUstep system. GNUstep Launchpad
|
||||
consists of the non-graphical libraries of GNUstep.
|
||||
|
||||
In order to easily compile and debug GNUstep projects, you will need the
|
||||
GNU Objective-C compiler @samp{GCC} as well as various other GNU packages.
|
||||
|
@ -97,6 +98,9 @@ After installing these packages, get the following individual packages:
|
|||
@item gnustep-xgps
|
||||
@end itemize
|
||||
|
||||
For GNUstep Launchpad, substitue @file{gnustep-guile} and @file{jigs} for
|
||||
@file{gnustep-gui} and @file{gnustep-xgps/xdps}.
|
||||
|
||||
See @url{http://www.gnustep.org} for information on where to get these
|
||||
packages. Only one of gnustep-xgps or gnustep-xdps is required. We
|
||||
currently recommend gnustep-xgps. Other packages you may need to get
|
||||
|
@ -155,13 +159,13 @@ and NSConnection. This library is highly recommended. The previous
|
|||
builtin method for stack frame handling is no longer supported and
|
||||
may be removed in the future.
|
||||
|
||||
@item libobjc library snapshot (for gcc version <= 2.95.2)
|
||||
@item gnustep-objc package (for gcc version <= 3.0)
|
||||
This is a special version of the Objective-C runtime that include several
|
||||
bug fixes and features that have not been officially released yet.
|
||||
It is available at @url{ftp://ftp.gnustep.org/pub/gnustep/libs} which
|
||||
compiles using the GNUstep Makefile package (so you don't have to get the
|
||||
entire gcc dist). Make sure to set the THREADING variable in the GNUmakefile.
|
||||
It might also be best to compile the library static (make shared=no) and
|
||||
It's possible to compile the library static (make shared=no) and
|
||||
just copy to the place where the gcc libobjc library is (type gcc -v to
|
||||
get this location).
|
||||
@end table
|
||||
|
@ -171,15 +175,15 @@ get this location).
|
|||
|
||||
Make sure you install all the previously mentioned libraries first
|
||||
before configuring and building GNUstep (Except you need to install
|
||||
libobjc after installing gnustep-make, unless your installing it as part
|
||||
gnustep-objc after installing gnustep-make, unless your installing it as part
|
||||
of gcc).
|
||||
|
||||
Note: you will need to be able to install packages as root (at least
|
||||
the base library) for applications to work correctly.
|
||||
|
||||
For installation on MinGW systems, read the README.MinGW file in the
|
||||
Documentation directory. For other systems, see the machines documentation
|
||||
or appropriate README files in the Documentation directory.
|
||||
For installation on specific systems, read the machine specific
|
||||
instructions at the end of this document or appropriate README files in
|
||||
the gnustep-make Documentation directory (such as README.MingW for Windows).
|
||||
|
||||
@menu
|
||||
* DPS System::
|
||||
|
@ -218,12 +222,12 @@ directory when you run configure with the prefix paramter; the
|
|||
following command makes /usr/local/GNUstep the root directory:
|
||||
|
||||
@example
|
||||
./configure --prefix=/usr/local/GNUstep
|
||||
./configure --prefix=/usr/local/GNUstep/System
|
||||
@end example
|
||||
|
||||
If you do not have the GNUSTEP_SYSTEM_ROOT environment variable set
|
||||
and you do not specify a root directory when running configure, then
|
||||
configure will use /usr/GNUstep as the default root directory.
|
||||
configure will use /usr/GNUstep/System as the default root directory.
|
||||
|
||||
@menu
|
||||
* Alternate Library Setup::
|
||||
|
@ -251,8 +255,8 @@ configuration options when configuring each GNUstep library.
|
|||
@node Individual Packages, , Alternate Library Setup, Core Package
|
||||
@subsection Building the Package
|
||||
|
||||
To build the individual packages, use the familiar set of commands for
|
||||
each pacakge:
|
||||
To build the individual packages, use this familiar set of commands for
|
||||
each pacakge (add any additional options you decide upon):
|
||||
|
||||
@example
|
||||
./configure
|
||||
|
@ -260,8 +264,7 @@ make
|
|||
make install
|
||||
@end example
|
||||
|
||||
Start with the Makefile Pacakge (gnustep-make), then do gnustep-base,
|
||||
gnustep-gui and finally gnustep-xgps (or gnustep-xdps). After installing
|
||||
Start with the Makefile Pacakge (gnustep-make). After installing
|
||||
gnustep-make you need to execute GNUstep's shell configuration
|
||||
script, as follows:
|
||||
|
||||
|
@ -269,7 +272,16 @@ script, as follows:
|
|||
. /usr/GNUstep/System/Makefiles/GNUstep.sh
|
||||
@end example
|
||||
|
||||
before proceeding any further.
|
||||
before proceeding any further. Then do gnustep-objc. Before building
|
||||
gnustep-objc, edit @file{GNUmakefile} and set the @var{THREADING}
|
||||
variable to the thread library used on your system (usually its posix,
|
||||
but you can leave it at single if you don't need threads). At this point
|
||||
you should probably re-configure, make and install gnustep-make, so it
|
||||
can pick up on any threading information that gnustep-objc provides.
|
||||
|
||||
Now do gnustep-base, gnustep-gui and finally gnustep-xgps (or
|
||||
gnustep-xdps). For GNUstep Launchpad, do gnustep-guile and jigs
|
||||
(although both of these are optional).
|
||||
|
||||
NOTE: If you are trying to install the packages without root permission,
|
||||
you need to change one thing in the base library. Edit the file
|
||||
|
@ -278,6 +290,16 @@ gnustep-base/Tools/gdomap.h and uncomment the last line.
|
|||
@node Additional Installation, Tools and Applications, Compiling and Installing, Top
|
||||
@chapter Additional Installation
|
||||
|
||||
@menu
|
||||
* Environment Setup::
|
||||
* GNUstep Home::
|
||||
* Time Zone::
|
||||
* DPS Information::
|
||||
* GNUstep deamons::
|
||||
@end menu
|
||||
|
||||
@node Environment Setup, GNUstep Home, Additional Installation, Additional Installation
|
||||
@section Environment Setup
|
||||
Add the shell script @file{GNUstep.sh} located in the Makefile
|
||||
package to your shell startup file (such as @file{.profile}). For instance:
|
||||
|
||||
|
@ -301,6 +323,9 @@ setenv GNUSTEP_SYSTEM_ROOT /usr/GNUstep
|
|||
source $GNUSTEP_SYSTEM_ROOT/Makefiles/GNUstep.csh
|
||||
@end example
|
||||
|
||||
@node GNUstep Home, Time Zone, Environment Setup, Additional Installation
|
||||
@section GNUstep Home
|
||||
|
||||
Set up your home GNUstep directory. This is where user defaults are
|
||||
kept, and in the future, other files may be kept there.
|
||||
|
||||
|
@ -309,6 +334,9 @@ cd
|
|||
mkdir GNUstep
|
||||
@end example
|
||||
|
||||
@node Time Zone, DPS Information, GNUstep Home, Additional Installation
|
||||
@section Time Zone
|
||||
|
||||
Next, set your local time zone. There are four ways to do this, pick
|
||||
one (see @file{$GNUSTEP_SYSTEM_ROOT/Libraries/Resources/NSTimeZones/zones} for typical time zones):
|
||||
|
||||
|
@ -325,9 +353,15 @@ something like ``defaults write NSGlobalDomain "Local Time Zone" GB''.
|
|||
software on your system though).
|
||||
@end enumerate
|
||||
|
||||
@node DPS Information, GNUstep deamons, Time Zone, Additional Installation
|
||||
@section DPS Information
|
||||
|
||||
If you are using a built-in DPS server, you may need to set the PSRESOURCEPATH
|
||||
environment variable (on Solaris, it's set to @file{/usr/openwin/lib/X11}).
|
||||
|
||||
@node GNUstep deamons, , DPS Information, Additional Installation
|
||||
@section GNUstep deamons
|
||||
|
||||
Set up your system to execute some GNUstep deamons. If you don't do this, they will be started automatically when you run your first GNUstep app:
|
||||
|
||||
@itemize @bullet
|
||||
|
@ -357,7 +391,7 @@ fi
|
|||
Test programs for the base library are in @file{base/Testing}. Example
|
||||
applications are located in the gstep-examples package. To make these,
|
||||
just uncompress and untar this package, cd to the appropriate
|
||||
directory, and type make. Generally you will need to install GNUstep
|
||||
directory, and type make. You will need to install the GNUstep core libraries
|
||||
first before doing this.
|
||||
|
||||
To run the examples. Use the openapp utility that is part of the GNUstep
|
||||
|
@ -376,50 +410,28 @@ Good Luck!
|
|||
@include machines.texi
|
||||
|
||||
|
||||
@node Anonymous CVS, Other, Machine Specific, Top
|
||||
@node Anonymous CVS, , Machine Specific, Top
|
||||
@chapter Getting Libraries via Anonymous CVS
|
||||
|
||||
If you didn't get one of the snapshots, or if you want to be sure
|
||||
to stay on the bleading edge, then you should get the core via CVS:
|
||||
If you didn't get one of the snapshots, or if you want to be sure to
|
||||
stay on the bleading edge, then you should get the libraries via CVS. Go
|
||||
to @url{http://savannah.gnu.org/cvs/?group_id=99} for information on how
|
||||
to get anonymous CVS access.
|
||||
|
||||
The quick and painless CVS tutorial (by michael hanni (slightly modified)
|
||||
|
||||
First, set the CVSROOT environment variable. If you are using
|
||||
bash/sh you can do something like this at the prompt:
|
||||
If you haven't already done so, change to the directory, where you
|
||||
want the source to reside. To get a list of potential modules to check out,
|
||||
type
|
||||
@example
|
||||
export CVSROOT=":pserver:anoncvs@@cvs.net-community.com:/gnustep"
|
||||
cvs -z3 checkout -c
|
||||
@end example
|
||||
|
||||
Second, if this is the first time loging into the CVS server:
|
||||
@example
|
||||
cvs login <press enter>
|
||||
@end example
|
||||
|
||||
You should get a password prompt soon after:
|
||||
@example
|
||||
(Logging in to anoncvs@@cvs.net-community.com)
|
||||
CVS password:
|
||||
@end example
|
||||
|
||||
Enter the password @samp{anoncvs}. This should return you to your
|
||||
prompt. From here you can checkout any module in the CVS server you
|
||||
like. To checkout a module you do this:
|
||||
@example
|
||||
cvs -z3 checkout modulename <press enter>
|
||||
@end example
|
||||
|
||||
The -z3 merely tells the cvs server to compess everything to a
|
||||
certain compression level before it sends it to you.
|
||||
|
||||
If you haven't already done so, change to the directory, where you
|
||||
want the source to reside.
|
||||
|
||||
Next, you want to get the whole core, so you do:
|
||||
For instance, to check our @file{core}, which contains all the GNUstep
|
||||
code libraries:
|
||||
@example
|
||||
cvs -z3 checkout core
|
||||
@end example
|
||||
|
||||
After you have checked out the source you can compile it as
|
||||
After you have checked out the source you can compile it as
|
||||
usual. To update the source, go into the directory of the source tree
|
||||
you want to update, for example, go into 'xgps', and type:
|
||||
|
||||
|
@ -427,35 +439,7 @@ you want to update, for example, go into 'xgps', and type:
|
|||
cvs -z3 update -Pd
|
||||
@end example
|
||||
|
||||
You don't have to re-checkout after you have the source, just update!
|
||||
Also try @samp{cvs checkout -c} to get a list of available modules.
|
||||
|
||||
@node Other, , Anonymous CVS, Top
|
||||
@chapter Other Instructions
|
||||
|
||||
@menu
|
||||
* Better Debugging::
|
||||
@end menu
|
||||
|
||||
@node Better Debugging, , Other, Other
|
||||
@section Better debugging with Objective-C runtime
|
||||
|
||||
Normally, the Objective-C runtime is compiled with debugging information,
|
||||
which actually makes debugging of user apps frustrating because stepping
|
||||
into a method call will actually cause gdb to step into the internal
|
||||
Objective-C method call mechanism, which you don't want most of the time.
|
||||
|
||||
The way to avoid this is to compile the Objective-C runtime library without
|
||||
debugging information. Here's how:
|
||||
|
||||
@example
|
||||
cd egcs-build-directory/gcc
|
||||
rm -f objc/*.o
|
||||
make CFLAGS=-O2 libobjc.a
|
||||
cp libobjc.a your-egcs-installation-dir
|
||||
@end example
|
||||
|
||||
|
||||
You don't have to re-checkout after you have the source, just update!
|
||||
|
||||
@chapter Acknowledgements
|
||||
|
||||
|
|
|
@ -15,8 +15,7 @@
|
|||
If you are installing this package as part of the GNUstep core
|
||||
libraries, read the file GNUstep-HOWTO for more complete instructions on
|
||||
how to install the entire GNUstep package (including this package).
|
||||
GNUstep-HOWTO comes with the core distribution and also is located at the
|
||||
same ftp sites as this library.
|
||||
GNUstep-HOWTO comes with this distribution.
|
||||
|
||||
When you configure additional libraries, make sure you use the same
|
||||
configuration options as with gstep-make.
|
||||
|
@ -58,14 +57,13 @@ To see more options you can use with configure, type
|
|||
@end example
|
||||
|
||||
Look particularly at the end of the list that configure gives, as these
|
||||
options are specific to GNUstep. For instance, if you installed the tiff
|
||||
library in other than a normal directory, you can use the
|
||||
@samp{--with-tiff-include} option to tell configure where it is.
|
||||
options are specific to GNUstep. Some of these are described below.
|
||||
|
||||
With the various GNUstep libraries you can use the various
|
||||
switches, shared and debug. As in ``make shared=no debug=yes'' (Make sure
|
||||
you use the same switches for every package you compile, and also when
|
||||
you install).
|
||||
With the GNUstep packages you can use various switches, such as shared
|
||||
and debug, to control compilation. for example, ``make shared=no
|
||||
debug=yes'' compiles using static libraries with debugging
|
||||
information. (Make sure you use the same switches for every package you
|
||||
compile, and also when you install).
|
||||
|
||||
@menu
|
||||
* Alternate Libraries::
|
||||
|
@ -77,7 +75,7 @@ you install).
|
|||
@subsection Alternate Library Setup
|
||||
|
||||
You can specify compilation of alternate libraries by using the
|
||||
--with-library-combo option. You need to have these libraries unpacked in a
|
||||
with-library-combo option. You need to have these libraries unpacked in a
|
||||
subdirectory under the gstep directory, then you can say
|
||||
|
||||
@example
|
||||
|
@ -173,8 +171,8 @@ contains all of the environment variable settings required, so you want
|
|||
to call that shell. Some systems, like GNU/Linux have an
|
||||
@file{/etc/profile.d} directory where scripts can be executed
|
||||
automatically. Just copy GNUstep.sh to this directory for it to
|
||||
work. For other UNIX systems, the easiest way to do that is to modify
|
||||
the system rc.local file which is executed upon system startup; add
|
||||
work. For other UNIX systems, there might be a system wide script that
|
||||
everyone uses, such as @file{/etc/bashrc}, where you could add
|
||||
lines similar to these:
|
||||
|
||||
@example
|
||||
|
@ -186,7 +184,7 @@ This will source in the GNUstep.sh file and set the environment
|
|||
variables; thus making them available for all users. Before executing
|
||||
this script, you can setup a default path for searching for tools
|
||||
and apps by defining the variable GNUSTEP_PATHPREFIX_LIST (and exporting
|
||||
it). By defualt, it's set to
|
||||
it). By default, it's set to
|
||||
|
||||
@example
|
||||
$GNUSTEP_USER_ROOT:$GNUSTEP_LOCAL_ROOT:$GNUSTEP_SYSTEM_ROOT
|
||||
|
@ -214,7 +212,9 @@ shell reads the .bash_profile file in the user's home directory. So
|
|||
you can add the following lines to that file:
|
||||
|
||||
# Setup for the GNUstep environment
|
||||
. /usr/GNUstep/Makefiles/GNUstep.sh
|
||||
if [ -f $GNUSTEP_SYSTEM_ROOT/Makefiles/GNUstep.sh ]; then
|
||||
. $GNUSTEP_SYSTEM_ROOT/Makefiles/GNUstep.sh
|
||||
fi
|
||||
|
||||
This will source in the GNUstep.sh file and set the environment
|
||||
variables; thus making them available for the user.
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
@c \input texinfo @c -*-texinfo-*-
|
||||
@setfilename machines.info
|
||||
@ifclear HOWTO
|
||||
@c Machine Specific, Debian/DEC-Alpha, , (DIR)
|
||||
@node Machine Specific, Debian/DEC-Alpha, , (DIR)
|
||||
@c Machine Specific, Darwin 1.0/PowerPC, , (DIR)
|
||||
@node Machine Specific, Darwin 1.0/PowerPC, , (DIR)
|
||||
@chapter Machines
|
||||
@end ifclear
|
||||
|
||||
|
@ -12,11 +12,11 @@ more popular operating systems. Some machines marked with
|
|||
@emph{Unstable} may have some trouble or may not work at all.
|
||||
|
||||
@menu
|
||||
* Darwin 1.0/PowerPC::
|
||||
* Debian/DEC-Alpha::
|
||||
* FreeBSD 3.x::
|
||||
* FreeBSD 2.x::
|
||||
* GNU-Linux/Intel::
|
||||
* GNU-Linux/PowerPC 4::
|
||||
* GNU-Linux/PowerPC 5::
|
||||
* Irix 6.4/MIPS::
|
||||
* MkLinux/PowerPC::
|
||||
|
@ -31,6 +31,7 @@ more popular operating systems. Some machines marked with
|
|||
* Suse 7.x/Intel::
|
||||
* Unixware-2.1.3/Intel::
|
||||
* Windows with CYGWIN::
|
||||
* Windows with MinGW::
|
||||
@end menu
|
||||
|
||||
A recommended compiler is listed for each machine, if known. You should try
|
||||
|
@ -43,12 +44,38 @@ If you have compiled GNUstep on a specific machine, please send information
|
|||
about what you needed and any special instructions needed to the
|
||||
GNUstep maintainer @email{gnustep-maintainers@@gnu.org}.
|
||||
|
||||
If your having mysterious trouble with a machine, try compiling GNUstep without optimization. Particularly in the newer GCC compilers, optimization can break
|
||||
some code. The easiest way to do this is when
|
||||
configuring: @samp{CFLAGS="" ./configure}. Or @samp{make OPTFLAG=""}.
|
||||
If your having mysterious trouble with a machine, try compiling GNUstep
|
||||
without optimization. Particularly in the newer GCC compilers,
|
||||
optimization can break some code. The easiest way to do this is when
|
||||
configuring, @samp{CFLAGS="" ./configure}. Or when building,
|
||||
@samp{make OPTFLAG=""}.
|
||||
|
||||
@c -----------------------------------------
|
||||
@node Debian/DEC-Alpha, FreeBSD 3.x, Machine Specific, Machine Specific
|
||||
@node Darwin 1.0/PowerPC, Debian/DEC-Alpha, Machine Specific, Machine Specific
|
||||
@section Darwin 1.0/PowerPC (@emph{Unstable!})
|
||||
|
||||
@table @samp
|
||||
@item Recommended compiler
|
||||
Unknown
|
||||
|
||||
@item Extra libs needed
|
||||
Don't use gnustep-objc or ffcall.
|
||||
|
||||
@item Special Instructions
|
||||
@end table
|
||||
|
||||
GNUstep has not been ported to Darwin. Expect some minor irritations and
|
||||
possibly one or two major ones if your trying to do this. Darwin doesn't
|
||||
have a GCC ObjC Compiler, so you need to use the ObjC runtime that comes with
|
||||
Darwin. To do this configure (gnustep-make) like this:
|
||||
|
||||
@example
|
||||
./configure --with-library-combo=nx-gnu-gnu-xgps
|
||||
@end example
|
||||
|
||||
|
||||
@c -----------------------------------------
|
||||
@node Debian/DEC-Alpha, FreeBSD 3.x, Darwin 1.0/PowerPC, Machine Specific
|
||||
@section Debian/DEC-Alpha
|
||||
|
||||
@table @samp
|
||||
|
@ -135,7 +162,7 @@ You need to use gmake not make to compile the GNUstep packages.
|
|||
@end table
|
||||
|
||||
@c -----------------------------------------
|
||||
@node GNU-Linux/Intel, GNU-Linux/PowerPC 4, FreeBSD 2.x, Machine Specific
|
||||
@node GNU-Linux/Intel, GNU-Linux/PowerPC 5, FreeBSD 2.x, Machine Specific
|
||||
@section GNU-Linux/Intel (RedHat 5.x, 6.x, and 7.0)
|
||||
|
||||
@table @samp
|
||||
|
@ -169,24 +196,7 @@ CC=egcs LDFLAGS="-u shmctl@@GLIBC_2.2 -L/lib -lc -u getpwuid_r@@GLIBC_2.1.2
|
|||
@end table
|
||||
|
||||
@c -----------------------------------------
|
||||
@node GNU-Linux/PowerPC 4, GNU-Linux/PowerPC 5, GNU-Linux/Intel, Machine Specific
|
||||
@section GNU-Linux/PowerPC (LinuxPPC 4.x)
|
||||
|
||||
@table @samp
|
||||
@item Recommended compiler
|
||||
egcs-2.90.25 980302 (egcs-1.0.2 prerelease).
|
||||
glibc-0.961212-1h.
|
||||
gdb: 4.16.97.
|
||||
|
||||
@item Extra libs needed
|
||||
None.
|
||||
|
||||
@item Special Instructions
|
||||
egcs-1.1.2 does NOT work.
|
||||
@end table
|
||||
|
||||
@c -----------------------------------------
|
||||
@node GNU-Linux/PowerPC 5, Irix 6.4/MIPS, GNU-Linux/PowerPC 4, Machine Specific
|
||||
@node GNU-Linux/PowerPC 5, Irix 6.4/MIPS, GNU-Linux/Intel, Machine Specific
|
||||
@section GNU-Linux/PowerPC (LinuxPPC 5.x)
|
||||
|
||||
@table @samp
|
||||
|
@ -198,18 +208,18 @@ gcc-2.95
|
|||
None.
|
||||
|
||||
@item Special Instructions
|
||||
You need to compile without optimization or the compiler will not
|
||||
be able to compile several files (CFLAGS="" ./configure). Compiling
|
||||
with CFLAGS="-O" also works. The gcc-2.95 compiler fixes this problem.
|
||||
There may be a problem with the X server that causes programs to crash with a X_QueryColors error. If so, get a newer X server
|
||||
at @url{ftp://ftp.linuxppc.org/linuxppc/contrib/linuxppc-1999/software/XFree86-FBDev-3.3.3.1-49b.ppc.rpm}.
|
||||
You need to compile without optimization or the compiler will not be
|
||||
able to compile several files (CFLAGS="" ./configure). Compiling with
|
||||
CFLAGS="-O" also works. The gcc-2.95 compiler fixes this problem. There
|
||||
may be a problem with the X server that causes programs to crash with a
|
||||
X_QueryColors error. If so, get a newer X server at
|
||||
@url{ftp://ftp.linuxppc.org/linuxppc/contrib/linuxppc-1999/software/XFree86-FBDev-3.3.3.1-49b.ppc.rpm}.
|
||||
|
||||
@end table
|
||||
|
||||
Invocations (and DO) do not work well. The major problem is sending data
|
||||
with data sizes less than 4 bytes (chars, shorts, etc). To fix this, we
|
||||
recommend using the ffcall libraries via the @code{--enable-ffcall}
|
||||
option when configuring (Read the instructions on this in the
|
||||
recommend using the ffcall libraries (Read the instructions on this in the
|
||||
configuration section).
|
||||
|
||||
@c -----------------------------------------
|
||||
|
@ -299,10 +309,6 @@ Unknown
|
|||
|
||||
@item Special Instructions
|
||||
Can only compile with static libraries. Gives a lot of warnings
|
||||
|
||||
GNUstep 0.6.0 uses code to access the /proc filesystem, which may be broken
|
||||
on BSD machines. To avoid this configure with the argument --enable-fake-main.
|
||||
Later versions of GNUstep should check for a broken /proc filesystem.
|
||||
@end table
|
||||
|
||||
@c -----------------------------------------
|
||||
|
@ -346,19 +352,19 @@ See the Solaris 2.6 section for more instructions.
|
|||
|
||||
@c -----------------------------------------
|
||||
@node Solaris 2.6/Sparc, Solaris 2.7/Intel, Solaris 2.5.1/Sparc, Machine Specific
|
||||
@section Solaris 2.6/Sparc
|
||||
@c Contact?: Benhur Stein <Benhur-de-Oliveira.Stein@imag.fr>
|
||||
@section Solaris 2.[67]/Sparc
|
||||
|
||||
@table @samp
|
||||
@item Recommended compiler
|
||||
egcs-2.91.60 (1.1.2?), egcs-1.0.1, gcc 2.8.1, gcc 2.95.2
|
||||
gcc 2.95.3. Version 2.95.2 has several bugs that GNUstep tickles.
|
||||
|
||||
@item Extra libs needed
|
||||
tiff, Don't use the one in /usr/openwin
|
||||
|
||||
@item Special Instructions
|
||||
GCC 2.8.0 induced a problem on Solaris/Sparc
|
||||
systems; however, there is a patch to fix this in the contrib directory
|
||||
There is no need to patch the compiler for the builtin_apply problem unless
|
||||
you are not using the ffcall libraries.
|
||||
There is a patch to fix this in the contrib directory
|
||||
on the ftp sites (This is also true for all versions of gcc/egcs up
|
||||
through 2.95.2 (possibly fixed in later versions)).
|
||||
|
||||
|
@ -369,15 +375,15 @@ LIBS=-L/usr/local/lib ./configure
|
|||
if, for instance, you have put a newer tiff library in /usr/local/lib
|
||||
@end table
|
||||
|
||||
Even with the about patch, invocations (and DO) still don't
|
||||
Even with the above patch, invocations (and DO) still don't
|
||||
work well. The major problem is sending messages with more than four arguments.
|
||||
We recommend using the ffcall libraries via the @code{--enable-ffcall} option
|
||||
We recommend using the ffcall libraries
|
||||
when configuring (Read the instructions on this in the configuration section).
|
||||
|
||||
If you are using threads, make sure the Objective-C runtime (libobjc that comes
|
||||
with gcc) is compiled with threads enabled (This is true by default) AND that
|
||||
it is compiled with the _REENTRANT flag defined (This does not seem to be
|
||||
true by default).
|
||||
true by default). Or use the gnustep-objc package.
|
||||
|
||||
@c -----------------------------------------
|
||||
@node Solaris 2.7/Intel, Suse 6.x/Intel, Solaris 2.6/Sparc, Machine Specific
|
||||
|
@ -547,32 +553,37 @@ If you don't set gdomap up correctly, Distributed Objects will not
|
|||
work.
|
||||
|
||||
@c -----------------------------------------
|
||||
@node Windows with CYGWIN, , Unixware-2.1.3/Intel, Machine Specific
|
||||
@node Windows with CYGWIN, Windows with MinGW, Unixware-2.1.3/Intel, Machine Specific
|
||||
@section Windows with CYGWIN (@emph{Unstable!})
|
||||
|
||||
@table @samp
|
||||
@item Recommended compiler
|
||||
gcc 2.95.2 (Cygwin release 1.1.2 or later)
|
||||
gcc 2.95.3 (Cygwin release 1.1.8)
|
||||
|
||||
@item Extra libs needed
|
||||
Objective-C library DLL (@url{ftp://ftp.gnustep.org/pub/gnustep/libs})
|
||||
for shared libs.
|
||||
for shared libs. ffcall is not ported to cygwin so don't try to use it (some
|
||||
invocation and DO stuff will not work).
|
||||
|
||||
@item Special Instructions
|
||||
Static libs require no extra effort (just make shared=no), however, DLLs
|
||||
(shared=yes) are compiled by default, and for this you need a special
|
||||
version of the Objective-C library that also compiles as a DLL. Make sure
|
||||
files and compilation done in Unix mode (no ^M in files). For shared libs
|
||||
you have to type @samp{make BUILD_DLL=yes WITH_DLL=yes} for all packages,
|
||||
despite the fact that this should be set automatically.
|
||||
Gdomap services
|
||||
not set up correctly. Must add services lines to @file{C:\WINDOWS\services}
|
||||
(on Windows 98) or xxx (on Windows NT).
|
||||
Base library only. No native GUI backend.
|
||||
@end table
|
||||
|
||||
For shared libs, make sure to specify @var{shared=yes} explicitly when
|
||||
building:
|
||||
|
||||
@example
|
||||
make shared=yes
|
||||
@end example
|
||||
|
||||
For static libs, use @var{shared=no}, Make sure files and compilation
|
||||
done in Unix mode (no ^M in files, @var{export CYGWIN=binmode} usually
|
||||
works if cygwin is not buggy). Gdomap services not set up
|
||||
correctly. Must add services lines to @file{C:\WINDOWS\services} (on
|
||||
Windows 98) or xxx (on Windows NT). Base library only. No native GUI
|
||||
backend.
|
||||
|
||||
@c -----------------------------------------
|
||||
@node Windows with MinGW, , Unixware-2.1.3/Intel, Machine Specific
|
||||
@node Windows with MinGW, , Windows with CYGWIN, Machine Specific
|
||||
@section Windows with MinGW (@emph{Unstable!})
|
||||
|
||||
@table @samp
|
||||
|
@ -581,7 +592,7 @@ gcc 2.95.2 (MingW release 1999-11-07)
|
|||
|
||||
@item Extra libs needed
|
||||
Objective-C library DLL (@url{ftp://ftp.gnustep.org/pub/gnustep/libs})
|
||||
for shared libs.
|
||||
for shared libs. ffcall is not ported to Mingw32 so don't try to use it.
|
||||
|
||||
@item Special Instructions
|
||||
See the @file{README.MinGW} file located in the gnustep-make Documentation
|
||||
|
|
|
@ -9,6 +9,16 @@
|
|||
|
||||
The currently released version is @samp{@value{GNUSTEP-MAKE-VERSION}}.
|
||||
|
||||
@section Changes in version @samp{1.0.0}
|
||||
|
||||
@itemize @bullet
|
||||
@item Optimizations that in many cases more than double the speed.
|
||||
@item Added preliminary darwin support.
|
||||
@item rpm packeing improvements.
|
||||
@item Better checking for mingw and cygwin
|
||||
@end itemize
|
||||
|
||||
@ifclear ANNOUNCE-ONLY
|
||||
@section Changes in version @samp{0.9.2}
|
||||
|
||||
@itemize @bullet
|
||||
|
@ -29,7 +39,6 @@ add extra package information can do so by installing a make stub in the
|
|||
@item RPM support rewritten from scratch.
|
||||
@end itemize
|
||||
|
||||
@ifclear ANNOUNCE-ONLY
|
||||
@section Changes in version @samp{0.9.0}
|
||||
|
||||
ffcall library is highly recommended for use with the GNUstep base
|
||||
|
|
|
@ -4,19 +4,18 @@ Here is some introductory info to get you started:
|
|||
|
||||
@section What is the GNUstep makefile package?
|
||||
|
||||
The makefile package is a simplistic, powerful and extensible way to
|
||||
The makefile package is a simple, powerful and extensible way to
|
||||
write makefiles for a GNUstep-based project. It allows the user to
|
||||
write a GNUstep-based project without having to deal with the complex
|
||||
issues associated with the configuration and installation of the core
|
||||
GNUstep libraries. It also allows the user to easily create
|
||||
cross-compiled binaries.
|
||||
write a project without having to deal with the complex issues
|
||||
associated with configuration, building, installation, and packaging.
|
||||
It also allows the user to easily create cross-compiled binaries.
|
||||
|
||||
@section Information
|
||||
|
||||
The file @samp{NEWS} has the library's feature history.
|
||||
|
||||
The files @samp{INSTALL} or @samp{GNUstep-HOWTO}
|
||||
give instructions for installing the library. Also see the machines.texi
|
||||
give instructions for installing the library. Also see the @file{machines}
|
||||
documentation and various machine specific READMEs in the Documentation
|
||||
directory.
|
||||
|
||||
|
|
260
GNUstep-HOWTO
260
GNUstep-HOWTO
|
@ -1,10 +1,10 @@
|
|||
GNUstep HOWTO
|
||||
*************
|
||||
|
||||
Last Update: 26 February 2001
|
||||
Last Update: 5 April 2001
|
||||
|
||||
This document explains how to build the different components of the
|
||||
GNUstep core libraries.
|
||||
GNUstep core libraries and GNUstep Launchpad.
|
||||
|
||||
Copyright (C) 1996 - 2001 Free Software Foundation, Inc.
|
||||
|
||||
|
@ -15,9 +15,10 @@
|
|||
Introduction
|
||||
************
|
||||
|
||||
This document explains how to build the GNUstep core libraries. The
|
||||
core libraries, along with associated tools and other files provide
|
||||
everything necessary for a working GNUstep system.
|
||||
This document explains how to build the GNUstep core libraries or
|
||||
GNUstep Launchpad. The core libraries, along with associated tools and
|
||||
other files provide everything necessary for a working GNUstep system.
|
||||
GNUstep Launchpad consists of the non-graphical libraries of GNUstep.
|
||||
|
||||
In order to easily compile and debug GNUstep projects, you will need
|
||||
the GNU Objective-C compiler `GCC' as well as various other GNU
|
||||
|
@ -51,6 +52,9 @@ packages:
|
|||
|
||||
* gnustep-xgps
|
||||
|
||||
For GNUstep Launchpad, substitue `gnustep-guile' and `jigs' for
|
||||
`gnustep-gui' and `gnustep-xgps/xdps'.
|
||||
|
||||
See <http://www.gnustep.org> for information on where to get these
|
||||
packages. Only one of gnustep-xgps or gnustep-xdps is required. We
|
||||
currently recommend gnustep-xgps. Other packages you may need to get
|
||||
|
@ -111,30 +115,32 @@ depending on the type of system you are using, include:
|
|||
The previous builtin method for stack frame handling is no longer
|
||||
supported and may be removed in the future.
|
||||
|
||||
`libobjc library snapshot (for gcc version <= 2.95.2)'
|
||||
`gnustep-objc package (for gcc version <= 3.0)'
|
||||
This is a special version of the Objective-C runtime that include
|
||||
several bug fixes and features that have not been officially
|
||||
released yet. It is available at
|
||||
<ftp://ftp.gnustep.org/pub/gnustep/libs> which compiles using the
|
||||
GNUstep Makefile package (so you don't have to get the entire gcc
|
||||
dist). Make sure to set the THREADING variable in the GNUmakefile.
|
||||
It might also be best to compile the library static (make
|
||||
shared=no) and just copy to the place where the gcc libobjc
|
||||
library is (type gcc -v to get this location).
|
||||
It's possible to compile the library static (make shared=no) and
|
||||
just copy to the place where the gcc libobjc library is (type gcc
|
||||
-v to get this location).
|
||||
|
||||
Compiling and Installing the packages
|
||||
*************************************
|
||||
|
||||
Make sure you install all the previously mentioned libraries first
|
||||
before configuring and building GNUstep (Except you need to install
|
||||
libobjc after installing gnustep-make, unless your installing it as part
|
||||
of gcc).
|
||||
gnustep-objc after installing gnustep-make, unless your installing it
|
||||
as part of gcc).
|
||||
|
||||
Note: you will need to be able to install packages as root (at least
|
||||
the base library) for applications to work correctly.
|
||||
|
||||
For installation on MinGW systems, read the README.MinGW file in the
|
||||
make package.
|
||||
For installation on specific systems, read the machine specific
|
||||
instructions at the end of this document or appropriate README files in
|
||||
the gnustep-make Documentation directory (such as README.MingW for
|
||||
Windows).
|
||||
|
||||
Using a Display Postscript System
|
||||
=================================
|
||||
|
@ -165,11 +171,11 @@ its value as the root directory. You can also specify the root
|
|||
directory when you run configure with the prefix paramter; the
|
||||
following command makes /usr/local/GNUstep the root directory:
|
||||
|
||||
./configure --prefix=/usr/local/GNUstep
|
||||
./configure --prefix=/usr/local/GNUstep/System
|
||||
|
||||
If you do not have the GNUSTEP_SYSTEM_ROOT environment variable set
|
||||
and you do not specify a root directory when running configure, then
|
||||
configure will use /usr/GNUstep as the default root directory.
|
||||
configure will use /usr/GNUstep/System as the default root directory.
|
||||
|
||||
Alternate Library Setup
|
||||
-----------------------
|
||||
|
@ -191,21 +197,29 @@ options when configuring each GNUstep library.
|
|||
Building the Package
|
||||
--------------------
|
||||
|
||||
To build the individual packages, use the familiar set of commands
|
||||
for each pacakge:
|
||||
To build the individual packages, use this familiar set of commands
|
||||
for each pacakge (add any additional options you decide upon):
|
||||
|
||||
./configure
|
||||
make
|
||||
make install
|
||||
|
||||
Start with the Makefile Pacakge (gnustep-make), then do gnustep-base,
|
||||
gnustep-gui and finally gnustep-xgps (or gnustep-xdps). After installing
|
||||
Start with the Makefile Pacakge (gnustep-make). After installing
|
||||
gnustep-make you need to execute GNUstep's shell configuration script,
|
||||
as follows:
|
||||
|
||||
. /usr/GNUstep/System/Makefiles/GNUstep.sh
|
||||
|
||||
before proceeding any further.
|
||||
before proceeding any further. Then do gnustep-objc. Before building
|
||||
gnustep-objc, edit `GNUmakefile' and set the THREADING variable to the
|
||||
thread library used on your system (usually its posix, but you can
|
||||
leave it at single if you don't need threads). At this point you should
|
||||
probably re-configure, make and install gnustep-make, so it can pick up
|
||||
on any threading information that gnustep-objc provides.
|
||||
|
||||
Now do gnustep-base, gnustep-gui and finally gnustep-xgps (or
|
||||
gnustep-xdps). For GNUstep Launchpad, do gnustep-guile and jigs
|
||||
(although both of these are optional).
|
||||
|
||||
NOTE: If you are trying to install the packages without root
|
||||
permission, you need to change one thing in the base library. Edit the
|
||||
|
@ -214,6 +228,9 @@ file gnustep-base/Tools/gdomap.h and uncomment the last line.
|
|||
Additional Installation
|
||||
***********************
|
||||
|
||||
Environment Setup
|
||||
=================
|
||||
|
||||
Add the shell script `GNUstep.sh' located in the Makefile package to
|
||||
your shell startup file (such as `.profile'). For instance:
|
||||
|
||||
|
@ -233,12 +250,18 @@ for every user on your system, you can try copying/linking the
|
|||
setenv GNUSTEP_SYSTEM_ROOT /usr/GNUstep
|
||||
source $GNUSTEP_SYSTEM_ROOT/Makefiles/GNUstep.csh
|
||||
|
||||
GNUstep Home
|
||||
============
|
||||
|
||||
Set up your home GNUstep directory. This is where user defaults are
|
||||
kept, and in the future, other files may be kept there.
|
||||
|
||||
cd
|
||||
mkdir GNUstep
|
||||
|
||||
Time Zone
|
||||
=========
|
||||
|
||||
Next, set your local time zone. There are four ways to do this, pick
|
||||
one (see `$GNUSTEP_SYSTEM_ROOT/Libraries/Resources/NSTimeZones/zones'
|
||||
for typical time zones):
|
||||
|
@ -257,10 +280,16 @@ for typical time zones):
|
|||
4. Set the TZ environment variable (this may conflict with other
|
||||
software on your system though).
|
||||
|
||||
DPS Information
|
||||
===============
|
||||
|
||||
If you are using a built-in DPS server, you may need to set the
|
||||
PSRESOURCEPATH environment variable (on Solaris, it's set to
|
||||
`/usr/openwin/lib/X11').
|
||||
|
||||
GNUstep deamons
|
||||
===============
|
||||
|
||||
Set up your system to execute some GNUstep deamons. If you don't do
|
||||
this, they will be started automatically when you run your first
|
||||
GNUstep app:
|
||||
|
@ -288,8 +317,8 @@ Test Tools and Applications
|
|||
Test programs for the base library are in `base/Testing'. Example
|
||||
applications are located in the gstep-examples package. To make these,
|
||||
just uncompress and untar this package, cd to the appropriate
|
||||
directory, and type make. Generally you will need to install GNUstep
|
||||
first before doing this.
|
||||
directory, and type make. You will need to install the GNUstep core
|
||||
libraries first before doing this.
|
||||
|
||||
To run the examples. Use the openapp utility that is part of the
|
||||
GNUstep makefile package (and stored in `$GNUSTEP_SYSTEM_ROOT/Tools').
|
||||
|
@ -321,7 +350,25 @@ to the GNUstep maintainer <gnustep-maintainers@gnu.org>.
|
|||
If your having mysterious trouble with a machine, try compiling
|
||||
GNUstep without optimization. Particularly in the newer GCC compilers,
|
||||
optimization can break some code. The easiest way to do this is when
|
||||
configuring: `CFLAGS="" ./configure'. Or `make OPTFLAG=""'.
|
||||
configuring, `CFLAGS="" ./configure'. Or when building, `make
|
||||
OPTFLAG=""'.
|
||||
|
||||
Darwin 1.0/PowerPC (_Unstable!_)
|
||||
================================
|
||||
|
||||
`Recommended compiler'
|
||||
Unknown
|
||||
|
||||
`Extra libs needed'
|
||||
Don't use gnustep-objc or ffcall.
|
||||
|
||||
`Special Instructions'
|
||||
GNUstep has not been ported to Darwin. Expect some minor irritations
|
||||
and possibly one or two major ones if your trying to do this. Darwin
|
||||
doesn't have a GCC ObjC Compiler, so you need to use the ObjC runtime
|
||||
that comes with Darwin. To do this configure (gnustep-make) like this:
|
||||
|
||||
./configure --with-library-combo=nx-gnu-gnu-xgps
|
||||
|
||||
Debian/DEC-Alpha
|
||||
================
|
||||
|
@ -424,19 +471,6 @@ GNU-Linux/Intel (RedHat 5.x, 6.x, and 7.0)
|
|||
CC=egcs LDFLAGS="-u shmctl@GLIBC_2.2 -L/lib -lc -u getpwuid_r@GLIBC_2.1.2
|
||||
-L/lib -lc -u getpwnam_r@GLIBC_2.1.2 -L/lib -lc" ./configure
|
||||
|
||||
GNU-Linux/PowerPC (LinuxPPC 4.x)
|
||||
================================
|
||||
|
||||
`Recommended compiler'
|
||||
egcs-2.90.25 980302 (egcs-1.0.2 prerelease). glibc-0.961212-1h.
|
||||
gdb: 4.16.97.
|
||||
|
||||
`Extra libs needed'
|
||||
None.
|
||||
|
||||
`Special Instructions'
|
||||
egcs-1.1.2 does NOT work.
|
||||
|
||||
GNU-Linux/PowerPC (LinuxPPC 5.x)
|
||||
================================
|
||||
|
||||
|
@ -448,18 +482,17 @@ GNU-Linux/PowerPC (LinuxPPC 5.x)
|
|||
|
||||
`Special Instructions'
|
||||
You need to compile without optimization or the compiler will not
|
||||
be able to compile several files (CFLAGS="" ./configure). Compiling
|
||||
with CFLAGS="-O" also works. The gcc-2.95 compiler fixes this
|
||||
problem. There may be a problem with the X server that causes
|
||||
programs to crash with a X_QueryColors error. If so, get a newer X
|
||||
server at
|
||||
be able to compile several files (CFLAGS="" ./configure).
|
||||
Compiling with CFLAGS="-O" also works. The gcc-2.95 compiler fixes
|
||||
this problem. There may be a problem with the X server that
|
||||
causes programs to crash with a X_QueryColors error. If so, get a
|
||||
newer X server at
|
||||
<ftp://ftp.linuxppc.org/linuxppc/contrib/linuxppc-1999/software/XFree86-FBDev-3.3.3.1-49b.ppc.rpm>.
|
||||
|
||||
Invocations (and DO) do not work well. The major problem is sending
|
||||
data with data sizes less than 4 bytes (chars, shorts, etc). To fix
|
||||
this, we recommend using the ffcall libraries via the `--enable-ffcall'
|
||||
option when configuring (Read the instructions on this in the
|
||||
configuration section).
|
||||
this, we recommend using the ffcall libraries (Read the instructions on
|
||||
this in the configuration section).
|
||||
|
||||
Irix 6.4/MIPS (_Unstable!_)
|
||||
===========================
|
||||
|
@ -503,20 +536,10 @@ NetBSD
|
|||
Unknown
|
||||
|
||||
`Extra libs needed'
|
||||
Unknown
|
||||
libiconv
|
||||
|
||||
`Special Instructions'
|
||||
Can compile with shared libraries on elf architectures, although
|
||||
problems persist with the NXConstantString class. Currently, to
|
||||
avoid this you can redefine NXConstantString to NXConstantString2
|
||||
in the libobjc library. Or you could do the following (works on
|
||||
NetBSD 1.4Z)
|
||||
|
||||
cd /usr/lib
|
||||
ar -dv libobjc_p.a NXConstStr.po
|
||||
ar -dv libobjc_pic.a NXConstStr.so
|
||||
ar -dv libobjc.a NXConstStr.o
|
||||
rm /usr/lib/libobjc.so.0.0
|
||||
See the README.NetBSD file located in the gnustep-make package.
|
||||
|
||||
Netwinder (_Unstable!_)
|
||||
=======================
|
||||
|
@ -542,11 +565,6 @@ OpenBSD 2.x (_Unstable!_)
|
|||
`Special Instructions'
|
||||
Can only compile with static libraries. Gives a lot of warnings
|
||||
|
||||
GNUstep 0.6.0 uses code to access the /proc filesystem, which may
|
||||
be broken on BSD machines. To avoid this configure with the
|
||||
argument -enable-fake-main. Later versions of GNUstep should
|
||||
check for a broken /proc filesystem.
|
||||
|
||||
OSF Alpha (_Unstable!_)
|
||||
========================
|
||||
|
||||
|
@ -579,20 +597,21 @@ Solaris 2.5.1/Sparc
|
|||
`Special Instructions'
|
||||
See the Solaris 2.6 section for more instructions.
|
||||
|
||||
Solaris 2.6/Sparc
|
||||
=================
|
||||
Solaris 2.[67]/Sparc
|
||||
====================
|
||||
|
||||
`Recommended compiler'
|
||||
egcs-2.91.60 (1.1.2?), egcs-1.0.1, gcc 2.8.1, gcc 2.95.2
|
||||
gcc 2.95.3. Version 2.95.2 has several bugs that GNUstep tickles.
|
||||
|
||||
`Extra libs needed'
|
||||
tiff, Don't use the one in /usr/openwin
|
||||
|
||||
`Special Instructions'
|
||||
GCC 2.8.0 induced a problem on Solaris/Sparc systems; however,
|
||||
there is a patch to fix this in the contrib directory on the ftp
|
||||
sites (This is also true for all versions of gcc/egcs up through
|
||||
2.95.2 (possibly fixed in later versions)).
|
||||
There is no need to patch the compiler for the builtin_apply
|
||||
problem unless you are not using the ffcall libraries. There is a
|
||||
patch to fix this in the contrib directory on the ftp sites (This
|
||||
is also true for all versions of gcc/egcs up through 2.95.2
|
||||
(possibly fixed in later versions)).
|
||||
|
||||
To avoid using the tiff library in /usr/openwin, configure like
|
||||
this:
|
||||
|
@ -600,16 +619,15 @@ Solaris 2.6/Sparc
|
|||
if, for instance, you have put a newer tiff library in
|
||||
/usr/local/lib
|
||||
|
||||
Even with the about patch, invocations (and DO) still don't work
|
||||
Even with the above patch, invocations (and DO) still don't work
|
||||
well. The major problem is sending messages with more than four
|
||||
arguments. We recommend using the ffcall libraries via the
|
||||
`--enable-ffcall' option when configuring (Read the instructions on
|
||||
this in the configuration section).
|
||||
arguments. We recommend using the ffcall libraries when configuring
|
||||
(Read the instructions on this in the configuration section).
|
||||
|
||||
If you are using threads, make sure the Objective-C runtime (libobjc
|
||||
that comes with gcc) is compiled with threads enabled (This is true by
|
||||
default) AND that it is compiled with the _REENTRANT flag defined (This
|
||||
does not seem to be true by default).
|
||||
does not seem to be true by default). Or use the gnustep-objc package.
|
||||
|
||||
Solaris 2.7/Intel
|
||||
=================
|
||||
|
@ -752,55 +770,56 @@ Windows with CYGWIN (_Unstable!_)
|
|||
=================================
|
||||
|
||||
`Recommended compiler'
|
||||
gcc 2.95.2 (Cygwin release 1.1.2 or later)
|
||||
gcc 2.95.3 (Cygwin release 1.1.8)
|
||||
|
||||
`Extra libs needed'
|
||||
Objective-C library DLL
|
||||
(<ftp://ftp.gnustep.org/pub/gnustep/contrib>) for shared libs.
|
||||
Objective-C library DLL (<ftp://ftp.gnustep.org/pub/gnustep/libs>)
|
||||
for shared libs. ffcall is not ported to cygwin so don't try to
|
||||
use it (some invocation and DO stuff will not work).
|
||||
|
||||
`Special Instructions'
|
||||
Static libs require no extra effort (just make shared=no),
|
||||
however, DLLs (shared=yes) are compiled by default, and for this
|
||||
you need a special version of the Objective-C library that also
|
||||
compiles as a DLL. Make sure files and compilation done in Unix
|
||||
mode (no ^M in files). Due to some interesting dependancies, it is
|
||||
recommended that you compile and install each sub-package (make,
|
||||
base, etc) independantly. Gdomap services not set up correctly.
|
||||
Must add services lines to `C:\WINDOWS\services' (on Windows 98)
|
||||
or xxx (on Windows NT). Base library only. No native GUI backend.
|
||||
For shared libs, make sure to specify SHARED=YES explicitly when
|
||||
building:
|
||||
|
||||
make shared=yes
|
||||
|
||||
For static libs, use SHARED=NO, Make sure files and compilation done
|
||||
in Unix mode (no ^M in files, EXPORT CYGWIN=BINMODE usually works if
|
||||
cygwin is not buggy). Gdomap services not set up correctly. Must add
|
||||
services lines to `C:\WINDOWS\services' (on Windows 98) or xxx (on
|
||||
Windows NT). Base library only. No native GUI backend.
|
||||
|
||||
Windows with MinGW (_Unstable!_)
|
||||
================================
|
||||
|
||||
`Recommended compiler'
|
||||
gcc 2.95.2 (MingW release 1999-11-07)
|
||||
|
||||
`Extra libs needed'
|
||||
Objective-C library DLL (<ftp://ftp.gnustep.org/pub/gnustep/libs>)
|
||||
for shared libs. ffcall is not ported to Mingw32 so don't try to
|
||||
use it.
|
||||
|
||||
`Special Instructions'
|
||||
See the `README.MinGW' file located in the gnustep-make
|
||||
Documentation directory for instructions. Base library only. No
|
||||
native GUI backend.
|
||||
|
||||
Getting Libraries via Anonymous CVS
|
||||
***********************************
|
||||
|
||||
If you didn't get one of the snapshots, or if you want to be sure to
|
||||
stay on the bleading edge, then you should get the core via CVS:
|
||||
|
||||
The quick and painless CVS tutorial (by michael hanni (slightly
|
||||
modified)
|
||||
|
||||
First, set the CVSROOT environment variable. If you are using
|
||||
bash/sh you can do something like this at the prompt:
|
||||
export CVSROOT=":pserver:anoncvs@cvs.net-community.com:/gnustep"
|
||||
|
||||
Second, if this is the first time loging into the CVS server:
|
||||
cvs login <press enter>
|
||||
|
||||
You should get a password prompt soon after:
|
||||
(Logging in to anoncvs@cvs.net-community.com)
|
||||
CVS password:
|
||||
|
||||
Enter the password `anoncvs'. This should return you to your prompt.
|
||||
From here you can checkout any module in the CVS server you like. To
|
||||
checkout a module you do this:
|
||||
cvs -z3 checkout modulename <press enter>
|
||||
|
||||
The -z3 merely tells the cvs server to compess everything to a
|
||||
certain compression level before it sends it to you.
|
||||
stay on the bleading edge, then you should get the libraries via CVS. Go
|
||||
to <http://savannah.gnu.org/cvs/?group_id=99> for information on how to
|
||||
get anonymous CVS access.
|
||||
|
||||
If you haven't already done so, change to the directory, where you
|
||||
want the source to reside.
|
||||
want the source to reside. To get a list of potential modules to check
|
||||
out, type
|
||||
cvs -z3 checkout -c
|
||||
|
||||
Next, you want to get the whole core, so you do:
|
||||
For instance, to check our `core', which contains all the GNUstep
|
||||
code libraries:
|
||||
cvs -z3 checkout core
|
||||
|
||||
After you have checked out the source you can compile it as usual.
|
||||
|
@ -810,27 +829,6 @@ to update, for example, go into 'xgps', and type:
|
|||
cvs -z3 update -Pd
|
||||
|
||||
You don't have to re-checkout after you have the source, just update!
|
||||
Also try `cvs checkout -c' to get a list of available modules.
|
||||
|
||||
Other Instructions
|
||||
******************
|
||||
|
||||
Better debugging with Objective-C runtime
|
||||
=========================================
|
||||
|
||||
Normally, the Objective-C runtime is compiled with debugging
|
||||
information, which actually makes debugging of user apps frustrating
|
||||
because stepping into a method call will actually cause gdb to step
|
||||
into the internal Objective-C method call mechanism, which you don't
|
||||
want most of the time.
|
||||
|
||||
The way to avoid this is to compile the Objective-C runtime library
|
||||
without debugging information. Here's how:
|
||||
|
||||
cd egcs-build-directory/gcc
|
||||
rm -f objc/*.o
|
||||
make CFLAGS=-O2 libobjc.a
|
||||
cp libobjc.a your-egcs-installation-dir
|
||||
|
||||
Acknowledgements
|
||||
****************
|
||||
|
|
32
INSTALL
32
INSTALL
|
@ -7,8 +7,7 @@ Introduction
|
|||
If you are installing this package as part of the GNUstep core
|
||||
libraries, read the file GNUstep-HOWTO for more complete instructions on
|
||||
how to install the entire GNUstep package (including this package).
|
||||
GNUstep-HOWTO comes with the core distribution and also is located at
|
||||
the same ftp sites as this library.
|
||||
GNUstep-HOWTO comes with this distribution.
|
||||
|
||||
When you configure additional libraries, make sure you use the same
|
||||
configuration options as with gstep-make.
|
||||
|
@ -44,21 +43,21 @@ configure will use /usr/GNUstep as the default root directory.
|
|||
./configure --help
|
||||
|
||||
Look particularly at the end of the list that configure gives, as
|
||||
these options are specific to GNUstep. For instance, if you installed
|
||||
the tiff library in other than a normal directory, you can use the
|
||||
`--with-tiff-include' option to tell configure where it is.
|
||||
these options are specific to GNUstep. Some of these are described
|
||||
below.
|
||||
|
||||
With the various GNUstep libraries you can use the various switches,
|
||||
shared and debug. As in "make shared=no debug=yes" (Make sure you use
|
||||
the same switches for every package you compile, and also when you
|
||||
install).
|
||||
With the GNUstep packages you can use various switches, such as
|
||||
shared and debug, to control compilation. for example, "make shared=no
|
||||
debug=yes" compiles using static libraries with debugging information.
|
||||
(Make sure you use the same switches for every package you compile, and
|
||||
also when you install).
|
||||
|
||||
Alternate Library Setup
|
||||
-----------------------
|
||||
|
||||
You can specify compilation of alternate libraries by using the
|
||||
-with-library-combo option. You need to have these libraries unpacked
|
||||
in a subdirectory under the gstep directory, then you can say
|
||||
with-library-combo option. You need to have these libraries unpacked in
|
||||
a subdirectory under the gstep directory, then you can say
|
||||
|
||||
./configure --with-library-combo=gnu-gnu-gnu-xdps
|
||||
|
||||
|
@ -140,8 +139,8 @@ contains all of the environment variable settings required, so you want
|
|||
to call that shell. Some systems, like GNU/Linux have an
|
||||
`/etc/profile.d' directory where scripts can be executed automatically.
|
||||
Just copy GNUstep.sh to this directory for it to work. For other UNIX
|
||||
systems, the easiest way to do that is to modify the system rc.local
|
||||
file which is executed upon system startup; add lines similar to these:
|
||||
systems, there might be a system wide script that everyone uses, such
|
||||
as `/etc/bashrc', where you could add lines similar to these:
|
||||
|
||||
# Setup for the GNUstep environment
|
||||
. /usr/GNUstep/System/Makefiles/GNUstep.sh
|
||||
|
@ -150,7 +149,7 @@ file which is executed upon system startup; add lines similar to these:
|
|||
variables; thus making them available for all users. Before executing
|
||||
this script, you can setup a default path for searching for tools and
|
||||
apps by defining the variable GNUSTEP_PATHPREFIX_LIST (and exporting
|
||||
it). By defualt, it's set to
|
||||
it). By default, it's set to
|
||||
|
||||
$GNUSTEP_USER_ROOT:$GNUSTEP_LOCAL_ROOT:$GNUSTEP_SYSTEM_ROOT
|
||||
|
||||
|
@ -173,8 +172,9 @@ have some file that you read upon login, for example the BASH shell
|
|||
reads the .bash_profile file in the user's home directory. So you can
|
||||
add the following lines to that file:
|
||||
|
||||
# Setup for the GNUstep environment .
|
||||
/usr/GNUstep/Makefiles/GNUstep.sh
|
||||
# Setup for the GNUstep environment if [ -f
|
||||
$GNUSTEP_SYSTEM_ROOT/Makefiles/GNUstep.sh ]; then .
|
||||
$GNUSTEP_SYSTEM_ROOT/Makefiles/GNUstep.sh fi
|
||||
|
||||
This will source in the GNUstep.sh file and set the environment
|
||||
variables; thus making them available for the user.
|
||||
|
|
20
NEWS
20
NEWS
|
@ -1,7 +1,25 @@
|
|||
NEWS
|
||||
****
|
||||
|
||||
The currently released version is `0.9.1'.
|
||||
The currently released version is `1.0.0'.
|
||||
|
||||
Changes in version `1.0.0'
|
||||
==========================
|
||||
|
||||
* Optimizations that in many cases more than double the speed.
|
||||
|
||||
* Added preliminary darwin support.
|
||||
|
||||
* rpm packeing improvements.
|
||||
|
||||
* Better checking for mingw and cygwin
|
||||
|
||||
Changes in version `0.9.2'
|
||||
==========================
|
||||
|
||||
* HOWTO and faq files moved from core package to here
|
||||
|
||||
* Configurable GNUSTEP_LOCAL_ROOT and GNUSTEP_NETWORK_ROOT
|
||||
|
||||
Changes in version `0.9.1'
|
||||
==========================
|
||||
|
|
11
README
11
README
|
@ -6,12 +6,11 @@ Here is some introductory info to get you started:
|
|||
What is the GNUstep makefile package?
|
||||
=====================================
|
||||
|
||||
The makefile package is a simplistic, powerful and extensible way to
|
||||
The makefile package is a simple, powerful and extensible way to
|
||||
write makefiles for a GNUstep-based project. It allows the user to
|
||||
write a GNUstep-based project without having to deal with the complex
|
||||
issues associated with the configuration and installation of the core
|
||||
GNUstep libraries. It also allows the user to easily create
|
||||
cross-compiled binaries.
|
||||
write a project without having to deal with the complex issues
|
||||
associated with configuration, building, installation, and packaging.
|
||||
It also allows the user to easily create cross-compiled binaries.
|
||||
|
||||
Information
|
||||
===========
|
||||
|
@ -19,7 +18,7 @@ Information
|
|||
The file `NEWS' has the library's feature history.
|
||||
|
||||
The files `INSTALL' or `GNUstep-HOWTO' give instructions for
|
||||
installing the library. Also see the machines.texi documentation and
|
||||
installing the library. Also see the `machines' documentation and
|
||||
various machine specific READMEs in the Documentation directory.
|
||||
|
||||
Files in the `Documentation' directory have information on the
|
||||
|
|
6
Version
6
Version
|
@ -2,8 +2,8 @@
|
|||
# Compatible with Bourne shell syntax, so it can included there too.
|
||||
|
||||
# The version number of this release.
|
||||
MAKE_MAJOR_VERSION=0
|
||||
MAKE_MINOR_VERSION=9
|
||||
MAKE_SUBMINOR_VERSION=2
|
||||
MAKE_MAJOR_VERSION=1
|
||||
MAKE_MINOR_VERSION=0
|
||||
MAKE_SUBMINOR_VERSION=0
|
||||
GNUSTEP_MAKE_VERSION=${MAKE_MAJOR_VERSION}.${MAKE_MINOR_VERSION}.${MAKE_SUBMINOR_VERSION}
|
||||
|
||||
|
|
762
config.guess
vendored
762
config.guess
vendored
File diff suppressed because it is too large
Load diff
257
config.sub
vendored
257
config.sub
vendored
|
@ -1,8 +1,10 @@
|
|||
#! /bin/sh
|
||||
# Configuration validation subroutine script, version 1.1.
|
||||
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000
|
||||
# Configuration validation subroutine script.
|
||||
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
|
||||
# Free Software Foundation, Inc.
|
||||
#
|
||||
|
||||
timestamp='2001-03-30'
|
||||
|
||||
# This file is (in principle) common to ALL GNU software.
|
||||
# The presence of a machine in this file suggests that SOME GNU software
|
||||
# can handle that machine. It does not imply ALL GNU software can.
|
||||
|
@ -27,7 +29,6 @@
|
|||
# configuration script generated by Autoconf, you may include it under
|
||||
# the same distribution terms that you use for the rest of that program.
|
||||
|
||||
# Written by Per Bothner <bothner@cygnus.com>.
|
||||
# Please send patches to <config-patches@gnu.org>.
|
||||
#
|
||||
# Configuration subroutine to validate and canonicalize a configuration type.
|
||||
|
@ -50,30 +51,73 @@
|
|||
# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
|
||||
# It is wrong to echo any other type of specification.
|
||||
|
||||
if [ x$1 = x ]
|
||||
then
|
||||
echo Configuration name missing. 1>&2
|
||||
echo "Usage: $0 CPU-MFR-OPSYS" 1>&2
|
||||
echo "or $0 ALIAS" 1>&2
|
||||
echo where ALIAS is a recognized configuration type. 1>&2
|
||||
exit 1
|
||||
fi
|
||||
me=`echo "$0" | sed -e 's,.*/,,'`
|
||||
|
||||
# First pass through any local machine types.
|
||||
case $1 in
|
||||
*local*)
|
||||
echo $1
|
||||
exit 0
|
||||
;;
|
||||
*)
|
||||
;;
|
||||
usage="\
|
||||
Usage: $0 [OPTION] CPU-MFR-OPSYS
|
||||
$0 [OPTION] ALIAS
|
||||
|
||||
Canonicalize a configuration name.
|
||||
|
||||
Operation modes:
|
||||
-h, --help print this help, then exit
|
||||
-t, --time-stamp print date of last modification, then exit
|
||||
-v, --version print version number, then exit
|
||||
|
||||
Report bugs and patches to <config-patches@gnu.org>."
|
||||
|
||||
version="\
|
||||
GNU config.sub ($timestamp)
|
||||
|
||||
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
|
||||
Free Software Foundation, Inc.
|
||||
|
||||
This is free software; see the source for copying conditions. There is NO
|
||||
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
|
||||
|
||||
help="
|
||||
Try \`$me --help' for more information."
|
||||
|
||||
# Parse command line
|
||||
while test $# -gt 0 ; do
|
||||
case $1 in
|
||||
--time-stamp | --time* | -t )
|
||||
echo "$timestamp" ; exit 0 ;;
|
||||
--version | -v )
|
||||
echo "$version" ; exit 0 ;;
|
||||
--help | --h* | -h )
|
||||
echo "$usage"; exit 0 ;;
|
||||
-- ) # Stop option processing
|
||||
shift; break ;;
|
||||
- ) # Use stdin as input.
|
||||
break ;;
|
||||
-* )
|
||||
echo "$me: invalid option $1$help"
|
||||
exit 1 ;;
|
||||
|
||||
*local*)
|
||||
# First pass through any local machine types.
|
||||
echo $1
|
||||
exit 0;;
|
||||
|
||||
* )
|
||||
break ;;
|
||||
esac
|
||||
done
|
||||
|
||||
case $# in
|
||||
0) echo "$me: missing argument$help" >&2
|
||||
exit 1;;
|
||||
1) ;;
|
||||
*) echo "$me: too many arguments$help" >&2
|
||||
exit 1;;
|
||||
esac
|
||||
|
||||
# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
|
||||
# Here we must recognize all the valid KERNEL-OS combinations.
|
||||
maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
|
||||
case $maybe_os in
|
||||
linux-gnu*)
|
||||
nto-qnx* | linux-gnu* | storm-chaos* | os2-emx*)
|
||||
os=-$maybe_os
|
||||
basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
|
||||
;;
|
||||
|
@ -99,7 +143,7 @@ case $os in
|
|||
-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
|
||||
-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
|
||||
-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
|
||||
-apple)
|
||||
-apple | -axis)
|
||||
os=
|
||||
basic_machine=$1
|
||||
;;
|
||||
|
@ -171,27 +215,39 @@ esac
|
|||
case $basic_machine in
|
||||
# Recognize the basic CPU types without company name.
|
||||
# Some are omitted here because they have special meanings below.
|
||||
tahoe | i860 | ia64 | m32r | m68k | m68000 | m88k | ns32k | arc | arm \
|
||||
| arme[lb] | pyramid | mn10200 | mn10300 | tron | a29k \
|
||||
tahoe | i860 | ia64 | m32r | m68k | m68000 | m88k | ns32k | arc \
|
||||
| arm | arme[lb] | arm[bl]e | armv[2345] | armv[345][lb] | strongarm | xscale \
|
||||
| pyramid | mn10200 | mn10300 | tron | a29k \
|
||||
| 580 | i960 | h8300 \
|
||||
| x86 | ppcbe | mipsbe | mipsle | shbe | shle \
|
||||
| hppa | hppa1.0 | hppa1.1 | hppa2.0 | hppa2.0w | hppa2.0n \
|
||||
| alpha | alphaev[4-7] | alphaev56 | alphapca5[67] \
|
||||
| we32k | ns16k | clipper | i370 | sh | powerpc | powerpcle \
|
||||
| 1750a | dsp16xx | pdp11 | mips16 | mips64 | mipsel | mips64el \
|
||||
| hppa64 \
|
||||
| alpha | alphaev[4-8] | alphaev56 | alphapca5[67] \
|
||||
| alphaev6[78] \
|
||||
| we32k | ns16k | clipper | i370 | sh | sh[34] \
|
||||
| powerpc | powerpcle \
|
||||
| 1750a | dsp16xx | pdp10 | pdp11 \
|
||||
| mips16 | mips64 | mipsel | mips64el \
|
||||
| mips64orion | mips64orionel | mipstx39 | mipstx39el \
|
||||
| mips64vr4300 | mips64vr4300el | mips64vr4100 | mips64vr4100el \
|
||||
| mips64vr5000 | miprs64vr5000el | mcore \
|
||||
| mips64vr5000 | miprs64vr5000el | mcore | s390 | s390x \
|
||||
| sparc | sparclet | sparclite | sparc64 | sparcv9 | v850 | c4x \
|
||||
| thumb | d10v | fr30)
|
||||
| thumb | d10v | d30v | fr30 | avr | openrisc | tic80 \
|
||||
| pj | pjl | h8500)
|
||||
basic_machine=$basic_machine-unknown
|
||||
;;
|
||||
m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | z8k | v70 | h8500 | w65 | pj | pjl)
|
||||
m6811 | m68hc11 | m6812 | m68hc12)
|
||||
# Motorola 68HC11/12.
|
||||
basic_machine=$basic_machine-unknown
|
||||
os=-none
|
||||
;;
|
||||
m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | z8k | v70 | w65)
|
||||
;;
|
||||
|
||||
# We use `pc' rather than `unknown'
|
||||
# because (1) that's what they normally are, and
|
||||
# (2) the word "unknown" tends to confuse beginning users.
|
||||
i[34567]86)
|
||||
i[234567]86 | x86_64)
|
||||
basic_machine=$basic_machine-pc
|
||||
;;
|
||||
# Object if more than one company name word.
|
||||
|
@ -201,23 +257,29 @@ case $basic_machine in
|
|||
;;
|
||||
# Recognize the basic CPU types with company name.
|
||||
# FIXME: clean up the formatting here.
|
||||
vax-* | tahoe-* | i[34567]86-* | i860-* | ia64-* | m32r-* | m68k-* | m68000-* \
|
||||
| m88k-* | sparc-* | ns32k-* | fx80-* | arc-* | arm-* | c[123]* \
|
||||
vax-* | tahoe-* | i[234567]86-* | i860-* | ia64-* | m32r-* | m68k-* | m68000-* \
|
||||
| m88k-* | sparc-* | ns32k-* | fx80-* | arc-* | c[123]* \
|
||||
| arm-* | armbe-* | armle-* | armv*-* | strongarm-* | xscale-* \
|
||||
| mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* \
|
||||
| power-* | none-* | 580-* | cray2-* | h8300-* | h8500-* | i960-* \
|
||||
| xmp-* | ymp-* \
|
||||
| hppa-* | hppa1.0-* | hppa1.1-* | hppa2.0-* | hppa2.0w-* | hppa2.0n-* \
|
||||
| alpha-* | alphaev[4-7]-* | alphaev56-* | alphapca5[67]-* \
|
||||
| x86-* | ppcbe-* | mipsbe-* | mipsle-* | shbe-* | shle-* \
|
||||
| hppa-* | hppa1.0-* | hppa1.1-* | hppa2.0-* | hppa2.0w-* \
|
||||
| hppa2.0n-* | hppa64-* \
|
||||
| alpha-* | alphaev[4-8]-* | alphaev56-* | alphapca5[67]-* \
|
||||
| alphaev6[78]-* \
|
||||
| we32k-* | cydra-* | ns16k-* | pn-* | np1-* | xps100-* \
|
||||
| clipper-* | orion-* \
|
||||
| sparclite-* | pdp11-* | sh-* | powerpc-* | powerpcle-* \
|
||||
| sparclite-* | pdp10-* | pdp11-* | sh-* | powerpc-* | powerpcle-* \
|
||||
| sparc64-* | sparcv9-* | sparc86x-* | mips16-* | mips64-* | mipsel-* \
|
||||
| mips64el-* | mips64orion-* | mips64orionel-* \
|
||||
| mips64vr4100-* | mips64vr4100el-* | mips64vr4300-* | mips64vr4300el-* \
|
||||
| mipstx39-* | mipstx39el-* | mcore-* \
|
||||
| f301-* | armv*-* | t3e-* \
|
||||
| f30[01]-* | f700-* | s390-* | s390x-* | sv1-* | t3e-* \
|
||||
| [cjt]90-* \
|
||||
| m88110-* | m680[01234]0-* | m683?2-* | m68360-* | z8k-* | d10v-* \
|
||||
| thumb-* | v850-* | d30v-* | tic30-* | c30-* | fr30-* )
|
||||
| thumb-* | v850-* | d30v-* | tic30-* | tic80-* | c30-* | fr30-* \
|
||||
| bs2000-* | tic54x-* | c54x-* | x86_64-* | pj-* | pjl-*)
|
||||
;;
|
||||
# Recognize the various machine names and aliases which stand
|
||||
# for a CPU type and a company and sometimes even an OS.
|
||||
|
@ -254,14 +316,14 @@ case $basic_machine in
|
|||
os=-sysv
|
||||
;;
|
||||
amiga | amiga-*)
|
||||
basic_machine=m68k-cbm
|
||||
basic_machine=m68k-unknown
|
||||
;;
|
||||
amigaos | amigados)
|
||||
basic_machine=m68k-cbm
|
||||
basic_machine=m68k-unknown
|
||||
os=-amigaos
|
||||
;;
|
||||
amigaunix | amix)
|
||||
basic_machine=m68k-cbm
|
||||
basic_machine=m68k-unknown
|
||||
os=-sysv4
|
||||
;;
|
||||
apollo68)
|
||||
|
@ -308,13 +370,16 @@ case $basic_machine in
|
|||
basic_machine=cray2-cray
|
||||
os=-unicos
|
||||
;;
|
||||
[ctj]90-cray)
|
||||
basic_machine=c90-cray
|
||||
[cjt]90)
|
||||
basic_machine=${basic_machine}-cray
|
||||
os=-unicos
|
||||
;;
|
||||
crds | unos)
|
||||
basic_machine=m68k-crds
|
||||
;;
|
||||
cris | cris-* | etrax*)
|
||||
basic_machine=cris-axis
|
||||
;;
|
||||
da30 | da30-*)
|
||||
basic_machine=m68k-da30
|
||||
;;
|
||||
|
@ -362,6 +427,10 @@ case $basic_machine in
|
|||
basic_machine=tron-gmicro
|
||||
os=-sysv
|
||||
;;
|
||||
go32)
|
||||
basic_machine=i386-pc
|
||||
os=-go32
|
||||
;;
|
||||
h3050r* | hiux*)
|
||||
basic_machine=hppa1.1-hitachi
|
||||
os=-hiuxwe2
|
||||
|
@ -461,17 +530,6 @@ case $basic_machine in
|
|||
basic_machine=i386-unknown
|
||||
os=-vsta
|
||||
;;
|
||||
i386-go32 | go32)
|
||||
basic_machine=i386-unknown
|
||||
os=-go32
|
||||
;;
|
||||
i386-mingw32 | mingw32)
|
||||
basic_machine=i386-unknown
|
||||
os=-mingw32
|
||||
;;
|
||||
i386-qnx | qnx)
|
||||
basic_machine=i386-qnx
|
||||
;;
|
||||
iris | iris4d)
|
||||
basic_machine=mips-sgi
|
||||
case $os in
|
||||
|
@ -497,6 +555,10 @@ case $basic_machine in
|
|||
basic_machine=ns32k-utek
|
||||
os=-sysv
|
||||
;;
|
||||
mingw32)
|
||||
basic_machine=i386-pc
|
||||
os=-mingw32
|
||||
;;
|
||||
miniframe)
|
||||
basic_machine=m68000-convergent
|
||||
;;
|
||||
|
@ -527,7 +589,7 @@ case $basic_machine in
|
|||
os=-coff
|
||||
;;
|
||||
msdos)
|
||||
basic_machine=i386-unknown
|
||||
basic_machine=i386-pc
|
||||
os=-msdos
|
||||
;;
|
||||
mvs)
|
||||
|
@ -591,9 +653,16 @@ case $basic_machine in
|
|||
basic_machine=i960-intel
|
||||
os=-mon960
|
||||
;;
|
||||
nonstopux)
|
||||
basic_machine=mips-compaq
|
||||
os=-nonstopux
|
||||
;;
|
||||
np1)
|
||||
basic_machine=np1-gould
|
||||
;;
|
||||
nsr-tandem)
|
||||
basic_machine=nsr-tandem
|
||||
;;
|
||||
op50n-* | op60c-*)
|
||||
basic_machine=hppa1.1-oki
|
||||
os=-proelf
|
||||
|
@ -623,28 +692,28 @@ case $basic_machine in
|
|||
pc532 | pc532-*)
|
||||
basic_machine=ns32k-pc532
|
||||
;;
|
||||
pentium | p5 | k5 | k6 | nexen)
|
||||
pentium | p5 | k5 | k6 | nexgen)
|
||||
basic_machine=i586-pc
|
||||
;;
|
||||
pentiumpro | p6 | 6x86)
|
||||
pentiumpro | p6 | 6x86 | athlon)
|
||||
basic_machine=i686-pc
|
||||
;;
|
||||
pentiumii | pentium2)
|
||||
basic_machine=i786-pc
|
||||
basic_machine=i686-pc
|
||||
;;
|
||||
pentium-* | p5-* | k5-* | k6-* | nexen-*)
|
||||
pentium-* | p5-* | k5-* | k6-* | nexgen-*)
|
||||
basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
|
||||
;;
|
||||
pentiumpro-* | p6-* | 6x86-*)
|
||||
pentiumpro-* | p6-* | 6x86-* | athlon-*)
|
||||
basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
|
||||
;;
|
||||
pentiumii-* | pentium2-*)
|
||||
basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
|
||||
basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
|
||||
;;
|
||||
pn)
|
||||
basic_machine=pn-gould
|
||||
;;
|
||||
power) basic_machine=rs6000-ibm
|
||||
power) basic_machine=power-ibm
|
||||
;;
|
||||
ppc) basic_machine=powerpc-unknown
|
||||
;;
|
||||
|
@ -659,6 +728,10 @@ case $basic_machine in
|
|||
ps2)
|
||||
basic_machine=i386-ibm
|
||||
;;
|
||||
pw32)
|
||||
basic_machine=i586-unknown
|
||||
os=-pw32
|
||||
;;
|
||||
rom68k)
|
||||
basic_machine=m68k-rom68k
|
||||
os=-coff
|
||||
|
@ -738,6 +811,10 @@ case $basic_machine in
|
|||
sun386 | sun386i | roadrunner)
|
||||
basic_machine=i386-sun
|
||||
;;
|
||||
sv1)
|
||||
basic_machine=sv1-cray
|
||||
os=-unicos
|
||||
;;
|
||||
symmetry)
|
||||
basic_machine=i386-sequent
|
||||
os=-dynix
|
||||
|
@ -746,6 +823,10 @@ case $basic_machine in
|
|||
basic_machine=t3e-cray
|
||||
os=-unicos
|
||||
;;
|
||||
tic54x | c54x*)
|
||||
basic_machine=tic54x-unknown
|
||||
os=-coff
|
||||
;;
|
||||
tx39)
|
||||
basic_machine=mipstx39-unknown
|
||||
;;
|
||||
|
@ -841,12 +922,19 @@ case $basic_machine in
|
|||
vax)
|
||||
basic_machine=vax-dec
|
||||
;;
|
||||
pdp10)
|
||||
# there are many clones, so DEC is not a safe bet
|
||||
basic_machine=pdp10-unknown
|
||||
;;
|
||||
pdp11)
|
||||
basic_machine=pdp11-dec
|
||||
;;
|
||||
we32k)
|
||||
basic_machine=we32k-att
|
||||
;;
|
||||
sh3 | sh4)
|
||||
basic_machine=sh-unknown
|
||||
;;
|
||||
sparc | sparcv9)
|
||||
basic_machine=sparc-sun
|
||||
;;
|
||||
|
@ -869,6 +957,9 @@ case $basic_machine in
|
|||
basic_machine=c4x-none
|
||||
os=-coff
|
||||
;;
|
||||
*-unknown)
|
||||
# Make sure to match an already-canonicalized machine name.
|
||||
;;
|
||||
*)
|
||||
echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
|
||||
exit 1
|
||||
|
@ -927,9 +1018,23 @@ case $os in
|
|||
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
|
||||
| -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
|
||||
| -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \
|
||||
| -interix* | -uwin* | -rhapsody* | -opened* | -openstep* | -oskit*)
|
||||
| -interix* | -uwin* | -rhapsody* | -darwin* | -opened* \
|
||||
| -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
|
||||
| -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* | -os2*)
|
||||
# Remember, each alternative MUST END IN *, to match a version number.
|
||||
;;
|
||||
-qnx*)
|
||||
case $basic_machine in
|
||||
x86-* | i[34567]86-*)
|
||||
;;
|
||||
*)
|
||||
os=-nto$os
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
-nto*)
|
||||
os=-nto-qnx
|
||||
;;
|
||||
-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
|
||||
| -windows* | -osx | -abug | -netware* | -os9* | -beos* \
|
||||
| -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
|
||||
|
@ -949,6 +1054,9 @@ case $os in
|
|||
-opened*)
|
||||
os=-openedition
|
||||
;;
|
||||
-wince*)
|
||||
os=-wince
|
||||
;;
|
||||
-osfrose*)
|
||||
os=-osfrose
|
||||
;;
|
||||
|
@ -973,6 +1081,9 @@ case $os in
|
|||
-ns2 )
|
||||
os=-nextstep2
|
||||
;;
|
||||
-nsk*)
|
||||
os=-nsk
|
||||
;;
|
||||
# Preserve the version number of sinix5.
|
||||
-sinix5.*)
|
||||
os=`echo $os | sed -e 's|sinix|sysv|'`
|
||||
|
@ -986,9 +1097,6 @@ case $os in
|
|||
-oss*)
|
||||
os=-sysv3
|
||||
;;
|
||||
-qnx)
|
||||
os=-qnx4
|
||||
;;
|
||||
-svr4)
|
||||
os=-sysv4
|
||||
;;
|
||||
|
@ -1010,7 +1118,7 @@ case $os in
|
|||
-xenix)
|
||||
os=-xenix
|
||||
;;
|
||||
-*mint | -*MiNT)
|
||||
-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
|
||||
os=-mint
|
||||
;;
|
||||
-none)
|
||||
|
@ -1044,6 +1152,9 @@ case $basic_machine in
|
|||
arm*-semi)
|
||||
os=-aout
|
||||
;;
|
||||
pdp10-*)
|
||||
os=-tops20
|
||||
;;
|
||||
pdp11-*)
|
||||
os=-none
|
||||
;;
|
||||
|
@ -1152,7 +1263,7 @@ case $basic_machine in
|
|||
*-masscomp)
|
||||
os=-rtu
|
||||
;;
|
||||
f301-fujitsu)
|
||||
f30[01]-fujitsu | f700-fujitsu)
|
||||
os=-uxpv
|
||||
;;
|
||||
*-rom68k)
|
||||
|
@ -1230,7 +1341,7 @@ case $basic_machine in
|
|||
-mpw* | -macos*)
|
||||
vendor=apple
|
||||
;;
|
||||
-*mint | -*MiNT)
|
||||
-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
|
||||
vendor=atari
|
||||
;;
|
||||
esac
|
||||
|
@ -1239,3 +1350,11 @@ case $basic_machine in
|
|||
esac
|
||||
|
||||
echo $basic_machine$os
|
||||
exit 0
|
||||
|
||||
# Local variables:
|
||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||
# time-stamp-start: "timestamp='"
|
||||
# time-stamp-format: "%:y-%02m-%02d"
|
||||
# time-stamp-end: "'"
|
||||
# End:
|
||||
|
|
4
configure
vendored
4
configure
vendored
|
@ -1878,7 +1878,7 @@ esac
|
|||
saved_CFLAGS="$CFLAGS"
|
||||
CFLAGS="$CFLAGS -x objective-c"
|
||||
saved_LIBS="$LIBS"
|
||||
if test $host_os = linux-gnu; then
|
||||
if test "$host_os" = linux-gnu; then
|
||||
LIBS="-lobjc -lpthread"
|
||||
if test "$cross_compiling" = yes; then
|
||||
objc_threaded="-lpthread"
|
||||
|
@ -2021,7 +2021,7 @@ if test x"$objc_threaded" = x""; then
|
|||
else
|
||||
echo "$ac_t""yes" 1>&6
|
||||
if test x"$objc_threaded" = x"works"; then
|
||||
objc_threaded="",
|
||||
objc_threaded=""
|
||||
fi
|
||||
fi
|
||||
ac_cv_objc_threaded="$objc_threaded"
|
||||
|
|
|
@ -284,7 +284,7 @@ esac
|
|||
saved_CFLAGS="$CFLAGS"
|
||||
CFLAGS="$CFLAGS -x objective-c"
|
||||
saved_LIBS="$LIBS"
|
||||
if test $host_os = linux-gnu; then
|
||||
if test "$host_os" = linux-gnu; then
|
||||
LIBS="-lobjc -lpthread"
|
||||
AC_TRY_RUN([#include "config_thread.m"], objc_threaded="-lpthread",
|
||||
objc_threaded="", objc_threaded="-lpthread")
|
||||
|
@ -321,7 +321,7 @@ if test x"$objc_threaded" = x""; then
|
|||
else
|
||||
AC_MSG_RESULT(yes)
|
||||
if test x"$objc_threaded" = x"works"; then
|
||||
objc_threaded="",
|
||||
objc_threaded=""
|
||||
fi
|
||||
fi
|
||||
ac_cv_objc_threaded="$objc_threaded"
|
||||
|
|
111
target.make
111
target.make
|
@ -35,11 +35,15 @@ endif
|
|||
#
|
||||
# Target specific libraries
|
||||
#
|
||||
TARGET_SYSTEM_LIBS = $(CONFIG_SYSTEM_LIBS) -lm
|
||||
|
||||
ifeq ($(findstring mingw32, $(GNUSTEP_TARGET_OS)), mingw32)
|
||||
TARGET_SYSTEM_LIBS := $(CONFIG_SYSTEM_LIBS) \
|
||||
-lwsock32 -ladvapi32 -lcomctl32 -luser32 -lcomdlg32 \
|
||||
-lmpr -lnetapi32 -lm -I. # the -I is a dummy to avoid -lm^M
|
||||
EXEEXT := .exe
|
||||
endif
|
||||
ifeq ($(findstring cygwin, $(GNUSTEP_TARGET_OS)), cygwin)
|
||||
TARGET_SYSTEM_LIBS := $(CONFIG_SYSTEM_LIBS) -lm -I.
|
||||
endif
|
||||
ifeq ($(GNUSTEP_TARGET_OS),linux-gnu)
|
||||
ifeq ("$(objc_threaded)","")
|
||||
|
@ -200,6 +204,111 @@ endif
|
|||
#
|
||||
####################################################
|
||||
|
||||
####################################################
|
||||
#
|
||||
# MacOSX public beta, darwin1.2
|
||||
#
|
||||
ifeq ($(findstring darwin1.2, $(GNUSTEP_TARGET_OS)), darwin1.2)
|
||||
ifeq ($(OBJC_RUNTIME), NeXT)
|
||||
HAVE_BUNDLES = yes
|
||||
endif
|
||||
|
||||
HAVE_SHARED_LIBS = yes
|
||||
SHARED_LIBEXT = .dylib
|
||||
|
||||
ifeq ($(FOUNDATION_LIB),nx)
|
||||
# Use the NeXT compiler
|
||||
CC = cc -traditional-cpp
|
||||
OBJC_COMPILER = NeXT
|
||||
ifneq ($(arch),)
|
||||
ARCH_FLAGS = $(foreach a, $(arch), -arch $(a))
|
||||
INTERNAL_OBJCFLAGS += $(ARCH_FLAGS)
|
||||
INTERNAL_CFLAGS += $(ARCH_FLAGS)
|
||||
INTERNAL_LDFLAGS += $(ARCH_FLAGS)
|
||||
endif
|
||||
endif
|
||||
|
||||
TARGET_LIB_DIR = \
|
||||
Libraries/$(GNUSTEP_TARGET_CPU)/$(GNUSTEP_TARGET_OS)/$(LIBRARY_COMBO)
|
||||
|
||||
DYLIB_COMPATIBILITY_VERSION = -compatibility_version 1
|
||||
DYLIB_CURRENT_VERSION = -current_version 1
|
||||
DYLIB_INSTALL_NAME = \
|
||||
$(GNUSTEP_SYSTEM_ROOT)/$(TARGET_LIB_DIR)/$(LIBRARY_FILE)
|
||||
|
||||
ifeq ($(FOUNDATION_LIB),nx)
|
||||
DYLIB_DEF_FRAMEWORKS += -framework Foundation
|
||||
endif
|
||||
|
||||
ifneq ($(OBJC_COMPILER), NeXT)
|
||||
# GNU compiler
|
||||
|
||||
DYLIB_DEF_FRAMEWORKS += -framework System
|
||||
|
||||
SHARED_LIB_LINK_CMD = \
|
||||
$(CC) $(SHARED_LD_PREFLAGS) \
|
||||
-dynamiclib $(ARCH_FLAGS) -dynamic \
|
||||
$(DYLIB_COMPATIBILITY_VERSION) \
|
||||
$(DYLIB_CURRENT_VERSION) \
|
||||
-install_name $(DYLIB_INSTALL_NAME) \
|
||||
-o $@ \
|
||||
$(DYLIB_DEF_FRAMEWORKS) \
|
||||
$(LIBRARIES_DEPEND_UPON) $(LIBRARIES_FOUNDATION_DEPEND_UPON) \
|
||||
-lobjc -lgcc $^ $(SHARED_LD_POSTFLAGS); \
|
||||
(cd $(GNUSTEP_OBJ_DIR); rm -f $(LIBRARY_FILE); \
|
||||
$(LN_S) $(VERSION_LIBRARY_FILE) $(LIBRARY_FILE))
|
||||
|
||||
else # OBJC_COMPILER=NeXT
|
||||
|
||||
DYLIB_EXTRA_FLAGS = -read_only_relocs warning -undefined warning
|
||||
-fno-common
|
||||
DYLIB_DEF_FRAMEWORKS += #-framework Foundation
|
||||
DYLIB_DEF_LIBS = -lobjc
|
||||
|
||||
SHARED_LIB_LINK_CMD = \
|
||||
$(CC) $(SHARED_LD_PREFLAGS) \
|
||||
-dynamiclib $(ARCH_FLAGS) -dynamic \
|
||||
$(DYLIB_COMPATIBILITY_VERSION) \
|
||||
$(DYLIB_CURRENT_VERSION) \
|
||||
$(DYLIB_EXTRA_FLAGS) \
|
||||
-install_name $(DYLIB_INSTALL_NAME) \
|
||||
-o $@ \
|
||||
$(LIBRARIES_DEPEND_UPON) $(LIBRARIES_FOUNDATION_DEPEND_UPON) \
|
||||
$(DYLIB_DEF_FRAMEWORKS) \
|
||||
$(DYLIB_DEF_LIBS) \
|
||||
$^ $(SHARED_LD_POSTFLAGS); \
|
||||
(cd $(GNUSTEP_OBJ_DIR); rm -f $(LIBRARY_FILE); \
|
||||
$(LN_S) $(VERSION_LIBRARY_FILE) $(LIBRARY_FILE))
|
||||
endif # OBJC_COMPILER
|
||||
|
||||
OBJ_MERGE_CMD = \
|
||||
$(CC) -nostdlib -r -d -o $(GNUSTEP_OBJ_DIR)/$(SUBPROJECT_PRODUCT) $^ ;
|
||||
|
||||
STATIC_LIB_LINK_CMD = \
|
||||
/usr/bin/libtool $(STATIC_LD_PREFLAGS) -static $(ARCH_FLAGS) -o $@ $^ \
|
||||
$(STATIC_LD_POSTFLAGS)
|
||||
|
||||
# This doesn't work with 4.1, what about others?
|
||||
#ADDITIONAL_LDFLAGS += -Wl,-read_only_relocs,suppress
|
||||
|
||||
AFTER_INSTALL_STATIC_LIB_COMMAND =
|
||||
|
||||
SHARED_CFLAGS += -dynamic -fno-common
|
||||
SHARED_LIBEXT = .dylib
|
||||
|
||||
ifneq ($(OBJC_COMPILER), NeXT)
|
||||
TARGET_SYSTEM_LIBS += $(CONFIG_SYSTEM_LIBS) -lgcc
|
||||
endif
|
||||
|
||||
BUNDLE_LD = $(CC)
|
||||
BUNDLE_CFLAGS +=
|
||||
BUNDLE_LDFLAGS += -bundle -undefined suppress $(ARCH_FLAGS)
|
||||
endif
|
||||
#
|
||||
# end MacOSX public beta, darwin1.2
|
||||
#
|
||||
####################################################
|
||||
|
||||
####################################################
|
||||
#
|
||||
# OpenStep 4.x
|
||||
|
|
22
which_lib.c
22
which_lib.c
|
@ -369,14 +369,32 @@ int search_for_library_with_type_in_directory(char type, char* path, char* ext)
|
|||
int search_for_library_in_directory (char* path)
|
||||
{
|
||||
struct stat statbuf;
|
||||
char path_rep[PATH_MAX + 1];
|
||||
char full_filename[PATH_MAX + 1];
|
||||
|
||||
if (stat (path, &statbuf) < 0) /* An error occured or the dir doesn't exist */
|
||||
#ifdef __MINGW32__
|
||||
if (path[0] == '/' && path[1] == '/')
|
||||
{
|
||||
/* Convert //server/ to a format Windows functions understand */
|
||||
char *s;
|
||||
strcpy(path_rep, &(path[2]));
|
||||
s = strchr(path_rep, '/');
|
||||
if (s)
|
||||
{
|
||||
*s = ':';
|
||||
strcpy((s+1), &(path[(int)(s-path_rep+2)]));
|
||||
}
|
||||
}
|
||||
else
|
||||
#endif
|
||||
strcpy(path_rep, path);
|
||||
|
||||
if (stat (path_rep, &statbuf) < 0) /* Error occured or dir doesn't exist */
|
||||
return 0;
|
||||
else if ((statbuf.st_mode & S_IFMT) != S_IFDIR) /* Not a directory */
|
||||
return 0;
|
||||
|
||||
strcpy (full_filename, path);
|
||||
strcpy (full_filename, path_rep);
|
||||
strcat (full_filename, PATH_SEP);
|
||||
strcat (full_filename, "lib");
|
||||
strcat (full_filename, library_name);
|
||||
|
|
Loading…
Reference in a new issue