mirror of
https://github.com/gnustep/tools-make.git
synced 2025-04-22 22:00:49 +00:00
Backports from trunk
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/tools/make/branches/stable@25809 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
5da19ef8c8
commit
e9d2c268bc
17 changed files with 3569 additions and 2684 deletions
110
ChangeLog
110
ChangeLog
|
@ -1,3 +1,111 @@
|
|||
2007-12-30 Adam Fedor <fedor@gnu.org>
|
||||
|
||||
* Documentation/README.Darwin: Update for compiling with
|
||||
Apple gcc.
|
||||
|
||||
2007-12-26 Nicola Pero <nicola.pero@meta-innovation.com>
|
||||
|
||||
* Documentation/debugapp.1: Minor updates.
|
||||
* Documentation/gnustep-config.1: Same.
|
||||
* Documentation/openapp.1: Same.
|
||||
* Documentation/opentool.1: Same.
|
||||
* Documentation/library-combo.7: Same.
|
||||
|
||||
2007-12-26 Nicola Pero <nicola.pero@meta-innovation.com>
|
||||
|
||||
* GNUmakefile.in (install): Install the new debugapp.1,
|
||||
gnustep-config.1, opentool.1 and library-combo.7 manpages.
|
||||
(uninstall): Uninstall them.
|
||||
(uninstall): Remove mandir, mandir/man1, mandir/man7, tooldir and
|
||||
GNUSTEP_CONFIG_FILE_DIR if empty.
|
||||
|
||||
2007-12-26 Dennis Leeuw <dleeuw@made-it.com>
|
||||
|
||||
* Documentation/debugapp.1: New file.
|
||||
* Documentation/gnustep-config.1: New file.
|
||||
* Documentation/opentool.1: New file.
|
||||
* Documentation/library-combo.7: New file.
|
||||
* Documentation/openapp.1: Rewritten.
|
||||
* Documentation/GNUstep.7: Rewritten.
|
||||
|
||||
2007-12-20 Adam Fedor <fedor@gnu.org>
|
||||
|
||||
* Master/nsis.make: Generalize to install in other than Applications.
|
||||
* Master/rules.make: Remove nsis include for now
|
||||
* nsi-app.template, Documentation/make.texi: updates.
|
||||
|
||||
2007-12-20 Nicola Pero <nicola.pero@meta-innovation.com>
|
||||
|
||||
* configure.ac: Emit a warning if GNUSTEP_MAKEFILES contains a
|
||||
space.
|
||||
* configure: Regenerated.
|
||||
|
||||
2007-12-20 Nicola Pero <nicola.pero@meta-innovation.com>
|
||||
|
||||
* configure.ac (GNUSTEP_PREFIX): Removed double-quoting around
|
||||
`...` expression on the right-hand side of assignment. It is
|
||||
unnecessary and seems to be adding additional unwanted quotes on
|
||||
netbsd.
|
||||
* openapp.in: Similar changes.
|
||||
* opentool.in: Similar changes.
|
||||
* GNUstep.sh.in: Similar changes.
|
||||
* configure: Regenerated.
|
||||
|
||||
* GNUmakefile.in: Quote most paths in shell expressions.
|
||||
* openapp.in: Similar changes.
|
||||
|
||||
2007-12-17 Adam Fedor <fedor@gnu.org>
|
||||
|
||||
* nsi-app.template, Master/nsis.make, Documenation/make.texi,
|
||||
GNUmakefile.in: Add automatic NSIS Windows installer script generator.
|
||||
|
||||
2007-12-17 Nicola Pero <nicola.pero@meta-innovation.com>
|
||||
|
||||
* GNUmakefile.in (uninstall): Remove filesystem.make
|
||||
and GNUstep.conf.
|
||||
|
||||
2007-12-17 Nicola Pero <nicola.pero@meta-innovation.com>
|
||||
|
||||
* GNUmakefile.in (install): Always install the manpages included
|
||||
in the Documentation directory; they don't need building.
|
||||
(uninstall): Uninstall them.
|
||||
* Documentation/GNUmakefile (after-install): Do not install
|
||||
the manpages.
|
||||
(after-uninstall): Do not uninstall them.
|
||||
|
||||
2007-12-15 Nicola Pero <nicola.pero@meta-innovation.com>
|
||||
|
||||
Rewritten config-precomp-test to work when the build directory is
|
||||
separate from the source directory.
|
||||
* config-precomp-test/run-test.sh: Updated to allow a separate
|
||||
build directory; more pervasive quoting of paths and filenames.
|
||||
* config-precomp-test/config-precomp-test.h: Renamed from
|
||||
gs_precomp_test.h.
|
||||
* config-precomp-test/config-precomp-test.m: Renamed from
|
||||
gs_precomp_test.m. Updated include for header filename change.
|
||||
* GNUmakefile.in (distclean): Updated deleting config-precomp-test
|
||||
files.
|
||||
* configure.ac: Updated the way config-precomp-test/run-test.sh is
|
||||
executed.
|
||||
* configure: Regenerated.
|
||||
|
||||
2007-12-15 Nicola Pero <nicola.pero@meta-innovation.com>
|
||||
|
||||
* GNUmakefile.in (distclean): Remove
|
||||
config-precomp-test/gs_precomp_test.h.gch and
|
||||
config-precomp-test/a.out.
|
||||
|
||||
2007-12-12 Hubert Chathi <uhoreg@debian.org>
|
||||
|
||||
* relative_path.sh: Fixed check for start of string so that we
|
||||
output '../xxx' instead of the clumsy './../xxx'.
|
||||
|
||||
2007-12-12 Nicola Pero <nicola.pero@meta-innovation.com>
|
||||
|
||||
* GNUmakefile.in (install): Fixed installation when a separate
|
||||
source dir is used. (Patch by Hubert Chathi <uhoreg@debian.org>
|
||||
with modifications).
|
||||
|
||||
2007-10-30 Adam Fedor <fedor@gnu.org>
|
||||
|
||||
* Version 2.0.2
|
||||
|
@ -9,7 +117,7 @@
|
|||
|
||||
2007-10-30 Adam Fedor <fedor@gnu.org>
|
||||
|
||||
* Update licesnse to GPL 3
|
||||
* Update license to GPL 3
|
||||
* gnustep-make.spec.in: Change Copyright to License.
|
||||
|
||||
2007-09-13 Fred Kiefer <FredKiefer@gmx.de>
|
||||
|
|
|
@ -141,9 +141,7 @@ ANNOUNCE_TEXI_FILES = version.texi
|
|||
ANNOUNCE_TEXT_MAIN = announce.texi
|
||||
ANNOUNCE_DOC_INSTALL_DIR = Developer/Make/ReleaseNotes/$(GNUSTEP_MAKE_VERSION)
|
||||
|
||||
# Manual pages to install
|
||||
MAN1_PAGES = openapp.1
|
||||
MAN7_PAGES = GNUstep.7
|
||||
# The manpages are now installed when gnustep-make itself is installed.
|
||||
|
||||
include $(GNUSTEP_MAKEFILES)/documentation.make
|
||||
|
||||
|
@ -162,49 +160,15 @@ version.texi: ../Version
|
|||
echo '@set GNUSTEP-MAKE-VERSION' $(GNUSTEP_MAKE_VERSION) \
|
||||
> version.texi
|
||||
|
||||
# Install manually man pages
|
||||
after-install:: $(GNUSTEP_DOC)/Developer/Make/Manual $(GNUSTEP_DOC)/User/GNUstep
|
||||
$(INSTALL_DATA) DESIGN $(GNUSTEP_DOC)/Developer/Make/Manual
|
||||
for file in $(README_FILES); do \
|
||||
$(INSTALL_DATA) $$file $(GNUSTEP_DOC)/User/GNUstep/$$file; \
|
||||
done;
|
||||
if [ ! -f $(GNUSTEP_DOC_MAN) ]; then \
|
||||
$(MKDIRS) $(GNUSTEP_DOC_MAN); \
|
||||
fi; \
|
||||
if [ ! -f $(GNUSTEP_DOC_MAN)/man1 ]; then \
|
||||
$(MKDIRS) $(GNUSTEP_DOC_MAN)/man1; \
|
||||
fi; \
|
||||
for file in $(MAN1_PAGES) __done; do \
|
||||
if [ $$file != __done ]; then \
|
||||
$(INSTALL_DATA) $$file $(GNUSTEP_DOC_MAN)/man1/$$file; \
|
||||
which gzip && rm -f $(GNUSTEP_DOC_MAN)/man1/$$file.gz \
|
||||
&& gzip -9 $(GNUSTEP_DOC_MAN)/man1/$$file; \
|
||||
fi; \
|
||||
done;
|
||||
if [ ! -f $(GNUSTEP_DOC_MAN)/man7 ]; then \
|
||||
$(MKDIRS) $(GNUSTEP_DOC_MAN)/man7; \
|
||||
fi; \
|
||||
for file in $(MAN7_PAGES) __done; do \
|
||||
if [ $$file != __done ]; then \
|
||||
$(INSTALL_DATA) $$file $(GNUSTEP_DOC_MAN)/man7/$$file; \
|
||||
which gzip && rm -f $(GNUSTEP_DOC_MAN)/man7/$$file.gz \
|
||||
&& gzip -9 $(GNUSTEP_DOC_MAN)/man7/$$file; \
|
||||
fi; \
|
||||
done;
|
||||
done
|
||||
|
||||
# Uninstall manually man pages
|
||||
after-uninstall::
|
||||
rm -f $(GNUSTEP_DOC)/Developer/Make/Manual/DESIGN
|
||||
for file in $(MAN1_PAGES) __done; do \
|
||||
if [ $$file != __done ]; then \
|
||||
rm -f $(GNUSTEP_DOC_MAN)/man1/$$file; \
|
||||
fi; \
|
||||
done;
|
||||
for file in $(MAN7_PAGES) __done; do \
|
||||
if [ $$file != __done ]; then \
|
||||
rm -f $(GNUSTEP_DOC_MAN)/man7/$$file; \
|
||||
fi; \
|
||||
done;
|
||||
|
||||
after-distclean::
|
||||
rm -f version.texi
|
||||
|
|
|
@ -1,66 +1,74 @@
|
|||
.\"GNUstep(7) man page
|
||||
.\"put together by Martin Brecher <martin@gnustep.de>
|
||||
.\"
|
||||
.\"Process this file with
|
||||
.\"groff -man -Tascii GNUstep.7
|
||||
.\"
|
||||
.TH GNUSTEP 7 "August 2003" GNUstep "GNUstep System Manual"
|
||||
.\" Process this file with
|
||||
.\" groff -man -Tascii GNUstep.7
|
||||
.\"
|
||||
.TH GNUstep 7 "15/12/2007" gnustep-core "GNUstep System Manual"
|
||||
.SH NAME
|
||||
GNUstep \- A free implementation of the OpenStep standard
|
||||
|
||||
.SH DESCRIPTION
|
||||
GNUstep provides an Object-Oriented application development framework
|
||||
and toolset for use on a wide variety of computer platforms.
|
||||
GNUstep is based on the original OpenStep specification provided by
|
||||
NeXT, Inc. (now Apple).
|
||||
.B GNUstep
|
||||
provides an Object-Oriented application development framework and toolset for use on a wide variety of computer platforms.
|
||||
.B GNUstep
|
||||
is based on the original OpenStep specification provided by NeXT, Inc. (now Apple).
|
||||
.P
|
||||
GNUstep is written in Objective-C, an object-oriented superset of the C
|
||||
programming language, similar to SmallTalk. However there exist a number
|
||||
of brigdes and interfaces to develop GNUstep programs using other languages
|
||||
like JAVA or Ruby.
|
||||
.B GNUstep
|
||||
is written in Objective-C, an object-oriented superset of the C programming language, similar to SmallTalk. However there exist a number of brigdes and interfaces to develop
|
||||
.B GNUstep
|
||||
programs using other languages like JAVA or Ruby.
|
||||
|
||||
.P
|
||||
.B The GNUstep Core System
|
||||
.P
|
||||
The GNUstep core system consists of the following parts:
|
||||
.IP gnustep-make
|
||||
A set of scripts and makefiles that heavily ease the
|
||||
creation and maintenance of software projects.
|
||||
.IP gnustep-base
|
||||
The FoundationKit libraries for non-GUI tools providing
|
||||
everything from string
|
||||
and array classes, filemanager classes to distributed objects.
|
||||
.IP gnustep-gui
|
||||
The ApplicationKit containing widgets, workspace classes and
|
||||
means for
|
||||
applications to interact with the user. This is the frontend of
|
||||
GNUstep's GUI part.
|
||||
.IP gnustep-back
|
||||
This is the backend of GNUstep's GUI part which does the actual
|
||||
rendering and event handling. It acts as a layer between
|
||||
gnustep-gui and the operating/drawing system. Backends exist
|
||||
for X11 (one using libart, one using xlib drawing) and win32.
|
||||
|
||||
Apart from the above, there exist a number of addon libraries, like Renaissance
|
||||
which allows developers to specify an application's user interface in xml.
|
||||
For database access, there is gdl2 - the GNUstep Database Library.
|
||||
Please refer to the GNUstep website for more information.
|
||||
|
||||
|
||||
GNUstep is self-containing. That means that all GNUstep applications, tools,
|
||||
libraries and add-ons are installed into the GNUstep directory hierarchy.
|
||||
The
|
||||
.B GNUstep
|
||||
core system consists of the following parts, which are jointly refered to as
|
||||
.I gnustep-core
|
||||
:
|
||||
.TP
|
||||
.I gnustep-make
|
||||
A set of scripts and makefiles that heavily ease the creation and maintenance of software projects.
|
||||
.TP
|
||||
.I gnustep-base
|
||||
The FoundationKit libraries for non-GUI tools providing everything from string and array classes, filemanager classes to distributed objects.
|
||||
.TP
|
||||
.I gnustep-gui
|
||||
The ApplicationKit containing widgets, workspace classes and means for applications to interact with the user. This is the frontend of \fBGNUstep\fR's GUI part.
|
||||
.TP
|
||||
.I gnustep-back
|
||||
This is the backend of
|
||||
.BR GNUstep 's
|
||||
GUI part which does the actual rendering and event handling. It acts as a layer between gnustep-gui and the operating/drawing system. Backends exist for X11 (one using cairo, one using libart, one using xlib drawing) and win32.
|
||||
.PP
|
||||
Apart from the above, there exist a number of addon libraries, like
|
||||
.B Renaissance
|
||||
which allows developers to specify an application's user interface in xml. For database access, there is
|
||||
.B GDL2
|
||||
\- the GNUstep Database Library. Please refer to the
|
||||
.B GNUstep
|
||||
website for more information.
|
||||
.PP
|
||||
.B GNUstep
|
||||
per default is self-contained. That means that all
|
||||
.B GNUstep
|
||||
applications, tools, libraries and add-ons are installed into the
|
||||
.B GNUstep
|
||||
directory hierarchy. However as of
|
||||
.I gnustep-make-2.0.0
|
||||
it is also possible to install everything in compliance with other filesystem hierarchies. See the
|
||||
.I FilesystemLayouts
|
||||
directory in the source package of
|
||||
.I gnustep-make
|
||||
for more information.
|
||||
.PP
|
||||
There are four domains which are searched for files: the System domain, which
|
||||
should only contain the core system files, the Local domain which stores all
|
||||
that has later been installed on the system, the Network domain which should
|
||||
be used for importing data from a remote system, and the User domain which resides in the user's home directory (mostly ~/GNUstep).
|
||||
See the filesystem.texi document for more information.
|
||||
be used for importing data from a remote system, and the User domain which resides in the user's home directory (mostly
|
||||
.IR ~/GNUstep ).
|
||||
.PP
|
||||
A complete description of the default
|
||||
.B GNUstep
|
||||
layout can be found in the
|
||||
.IR filesystem.pdf .
|
||||
|
||||
.P
|
||||
.B Some Basic Terms:
|
||||
|
||||
.P
|
||||
.B Tools and Applications
|
||||
.P
|
||||
.SS TOOLS AND APPLICATIONS
|
||||
In the world of GNUstep the term
|
||||
.I tool
|
||||
refers to command line programs whereas
|
||||
|
@ -73,26 +81,37 @@ reside in the domains' Tools folder,
|
|||
can be
|
||||
found in the domains' Applications folder.
|
||||
|
||||
Applications are either launched using the openapp command or from the
|
||||
Workspace.
|
||||
Applications are either launched using the
|
||||
.B openapp
|
||||
command or from the Workspace.
|
||||
|
||||
|
||||
.P
|
||||
.B Services
|
||||
.P
|
||||
In GNUstep applications globally offer functionality to other applications
|
||||
through
|
||||
.I services
|
||||
. They can be reached through the Services menu entry in an
|
||||
application's main menu.
|
||||
Apart from
|
||||
.SS SERVICES
|
||||
.RB "In " GNUstep
|
||||
applications globally offer functionality to other applications through
|
||||
.IR services .
|
||||
They can be reached through the Services menu entry in an
|
||||
application's main menu. Apart from
|
||||
.I services
|
||||
offered by applications, there may
|
||||
be programs whose sole purpose is the offering of services. They can be found
|
||||
in the domains' Libary/Services folders.
|
||||
.PP
|
||||
The
|
||||
.B make_services
|
||||
tool makes sure the services are known to other applications when a application is newly installed.
|
||||
|
||||
.SS BUNDLES
|
||||
A bundle is a collection of resources making up a discrete package for use. There are currently three types of bundles: applications, frameworks and loadable bundles.
|
||||
.P
|
||||
.B The Workspace
|
||||
A loadable bundle is a kind of plug-in. There are two types of loadable bundles, namely plug-ins and palettes. The plug-in is noramlly refered to as a bundle, which can make it a bit confusing. A plug-in is a bundle that can be loaded by an application to provide additional functionality, while a palette is a plug-in for
|
||||
.BR GORM ,
|
||||
the interface builder. A palette is used to extend
|
||||
.B GORM
|
||||
with custom UI objects. Palettes have a
|
||||
.I .palette
|
||||
extension.
|
||||
|
||||
.SS THE WORKSPACE
|
||||
.P
|
||||
The central place of the user interface is the
|
||||
.I Workspace
|
||||
|
@ -102,46 +121,66 @@ which acts as an interface between the user and parts of the system like
|
|||
files, processes, etc. The GWorkspace application provides this functionality
|
||||
in GNUstep. See the GWorkspace website for more details.
|
||||
|
||||
.SS DEVELOPER APPLICATIONS
|
||||
.P
|
||||
.P
|
||||
.B Getting More Help
|
||||
.P
|
||||
Most discussion and support is taking place on the GNUstep mailinglists
|
||||
<http://www.gnustep.org/information/gethelp.html>. Additionally, most larger
|
||||
projects have their own mailing lists. Consult the appropriate websites for
|
||||
details.
|
||||
.P
|
||||
Alternatively you are invited to join the #GNUstep IRC channel on
|
||||
FreeNode (irc.freenode.net).
|
||||
.P
|
||||
What would a development environment be without the applications to create applications? The applications provided by GNUstep for Rapid Application Developement are:
|
||||
.TP
|
||||
GORM
|
||||
.B GORM
|
||||
is the interface modeler. With
|
||||
.B GORM
|
||||
you can quickly create the graphical interface of your application.
|
||||
.TP
|
||||
Project Center
|
||||
.B Project Center
|
||||
is the program where you can develop your program. It offers you automatic generation of
|
||||
.I GNUmakefiles
|
||||
, project maintenance and of course a code editor.
|
||||
|
||||
.SH SEE ALSO
|
||||
gcc(1), gdnc(1), gdomap(8), gopen(1), gpbs(1), make(1), openapp(1)
|
||||
.PP
|
||||
.B GNUstep Websites:
|
||||
.PP
|
||||
Official GNUstep website <http://www.gnustep.org/> -
|
||||
GNUstep Wiki (lots of useful information) <http://wiki.gnustep.org/> -
|
||||
GNUstep Project Page <http://savannah.gnu.org/projects/gnustep/> -
|
||||
GNUstep Community Page <http://www.gnustep.net/> -
|
||||
GNUstep Documentation Library <http://gnustep.made-it.com/> -
|
||||
GNUstep Build Guide <http://gnustep.made-it.com/BuildGuide/>
|
||||
.PP
|
||||
Collaboration World <http://www.collaboration-world.com/> -
|
||||
GNUstep.de <http://www.gnustep.de/> -
|
||||
GNUstep.it <http://www.gnustep.it/> -
|
||||
GNUstep.us <http://www.gnustep.us/> -
|
||||
GWorkspace Website <http://www.gnustep.it/enrico/gworkspace/>
|
||||
.PP
|
||||
.B Mailinglists:
|
||||
.PP
|
||||
<http://www.gnu.org/software/gnustep/information/gethelp.html> -
|
||||
Archives can be found at <http://mail.gnu.org/archive/html/>
|
||||
.TP
|
||||
http://www.gnustep.org/
|
||||
Official GNUstep website
|
||||
.TP
|
||||
http://wiki.gnustep.org/
|
||||
GNUstep Wiki (lots of useful information)
|
||||
.TP
|
||||
http://savannah.gnu.org/projects/gnustep/
|
||||
GNUstep Project Page
|
||||
.TP
|
||||
http://gnustep.made-it.com/
|
||||
GNUstep Documentation Library
|
||||
.TP
|
||||
http://www.collaboration-world.com
|
||||
Collaboration World, the home of GNUmail
|
||||
.TP
|
||||
http://www.gnustep.it/
|
||||
The home of GWorkspace, JIGS, Renaissance and programming tutorials.
|
||||
.P
|
||||
.SH AUTHORS
|
||||
.B Mailinglists
|
||||
.TP
|
||||
http://www.gnustep.org/information/gethelp.html
|
||||
Mailing lists and mailing list archives.
|
||||
.P
|
||||
.B IRC
|
||||
.TP
|
||||
#GNUstep on FreeNode
|
||||
You are invited to join the #GNUstep IRC channel on FreeNode (irc.freenode.net).
|
||||
.SH HISTORY
|
||||
.B GNUstep
|
||||
was at first a collaboration of two projects that wanted to create a single
|
||||
.B GNUstep
|
||||
project that complied to the OpenStep specification provided by NeXT Computer, Inc. and SunSoft, Inc. Development of this joint effort started around 1993-1994. For a more detailed history description see the GNUstep Documentation Library referenced in the
|
||||
.B SEE ALSO
|
||||
section.
|
||||
.PP
|
||||
GNUstep is developed and maintained by a large number of people. Please
|
||||
see <http://www.gnustep.org/developers/whoiswho.html> for a list.
|
||||
|
||||
.SH AUTHORS
|
||||
This man-page was first written by Martin Brecher <martin@mb-itconsulting.com> in august of 2003.
|
||||
.PP
|
||||
GWorkspace is developed by Enrico Sersale. Please see the GWorkspace Website
|
||||
for details.
|
||||
.PP
|
||||
This man page was written by Martin Brecher <martin@mb-itconsulting.com>.
|
||||
In December 2007 it was expanded by Dennis Leeuw <dleeuw@made-it.com> and made to comply with the gnustep-make-2.0.x releases.
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
Date : 15-Jan-2004
|
||||
Last update: 20070507
|
||||
Last update: 20071229
|
||||
Authors: Adam Fedor <fedor@gnu.org>
|
||||
Quentin Mathé <qmathe@club-internet.fr>
|
||||
Lars S.-Helldorf <lars.sonchocky-helldorf@hamburg.de>
|
||||
|
@ -37,10 +37,15 @@ or:
|
|||
PRELIMINAIRES
|
||||
-------------
|
||||
|
||||
For all targets, get the following software. I'd recommend installing Fink (and
|
||||
FinkCommander on Mac OS X) or MacPorts to get all this software. Make sure that
|
||||
Fink or MacPorts is in your path; newer versions do a good job of doing this for
|
||||
you.
|
||||
For all targets, get the following software. I'd recommend installing
|
||||
Fink (and FinkCommander on Mac OS X) or MacPorts to get all this
|
||||
software. Make sure that Fink or MacPorts is in your path; newer
|
||||
versions do a good job of doing this for you. It's quite possible for
|
||||
libraries installed via Fink/Macports to conflict with Apple
|
||||
libraries, which cause strange errors running GNUstep apps (like odd
|
||||
crashes and seg faults). In that cause you might want to hand-compile
|
||||
the libraries you need (only the tiff and libffi libraries are REALLY needed,
|
||||
everything else is basically optional).
|
||||
|
||||
Remember you usually need root access to install software. That means when you
|
||||
see an instruction like 'make install', you usually need to use sudo
|
||||
|
@ -53,7 +58,7 @@ see an instruction like 'make install', you usually need to use sudo
|
|||
libjpeg (Optional, highly recommended - don't get from fink!)
|
||||
libpng (Optional, highly recommended)
|
||||
|
||||
libffi (Required, only contained in the GCC distributions and pyobjc)
|
||||
libffi (Required, from ftp.gnustep.org/pub/gnustep/libs)
|
||||
ffcall (On Darwin x86 - use instead of libffi)
|
||||
|
||||
Xfree86 (Required, already in Mac OS X 10.3/Darwin 7 and later)
|
||||
|
@ -66,9 +71,9 @@ see an instruction like 'make install', you usually need to use sudo
|
|||
Obtaining GNUstep
|
||||
-----------------
|
||||
|
||||
The main GNUstep project pages tell you how to get hold of this. You can get the
|
||||
latest release of the following libraries.
|
||||
You need these gnustep packages:
|
||||
The main GNUstep project pages tell you how to get hold of this. You
|
||||
can get the latest release of the following libraries. You need these
|
||||
gnustep packages:
|
||||
|
||||
GNUstep-make
|
||||
GNUstep-base
|
||||
|
@ -89,7 +94,7 @@ Theoretically possible are:
|
|||
gnu-gnu-gnu # gnu-objc runtime with gnustep-base and gnustep-gui.
|
||||
# Most widely tested.
|
||||
apple-gnu-gnu # apple-objc runtime with gnustep libraries. Does
|
||||
# currently not work.
|
||||
# not work.
|
||||
apple-apple-gnu # Apple Foundation with gnustep-gui on the top. Only of
|
||||
# academic interest.
|
||||
apple-apple-apple # Cocoa with GNUstep additions. For porting GNUstep apps
|
||||
|
@ -103,11 +108,9 @@ potentially gives two different targets:
|
|||
Apple GCC, gnu-gnu-gnu
|
||||
FSF GCC, gnu-gnu-gnu
|
||||
|
||||
Unfortunately, using Apple GCC with gnu-gnu-gnu doesn't appear to work currently
|
||||
(see below for more info), so this option really isn't open now. In addition,
|
||||
if you are on Mac OS X, you can also use the Apple Foundation and AppKit
|
||||
frameworks to do GNUstep development with Cocoa, but this only works with the
|
||||
Apple compiler:
|
||||
In addition, if you are on Mac OS X, you can also use the Apple
|
||||
Foundation and AppKit frameworks to do GNUstep development with Cocoa,
|
||||
but this only works with the Apple compiler:
|
||||
|
||||
Apple GCC, apple-apple-apple
|
||||
|
||||
|
@ -118,16 +121,19 @@ For GNUstep on Darwin x86, Apple GCC compiles GNUstep-base, but causes strange
|
|||
problems when running programs (e.g. the program hangs while allocating memory
|
||||
or executes methods multiple times). So we have to use FSF GCC. Additionally,
|
||||
libffi has not been ported to Darwin x86, so you will need to install ffcall
|
||||
instead.
|
||||
instead. NOTE: Has not been tested in a long time...
|
||||
|
||||
GNUstep on Darwin PowerPC
|
||||
-------------------------
|
||||
|
||||
You can use either the Apple compiler of the FSF compiler. For the Apple
|
||||
compiler, you need at least Mac OS X 10.4 with XCode 2.5 release.
|
||||
|
||||
Building FSF-GCC
|
||||
----------------
|
||||
|
||||
The easiest way to get FSF GCC is through Fink or MacPorts. If you would like to
|
||||
compile by hand, follow these directions:
|
||||
The easiest way to get FSF GCC is through Fink or MacPorts. If you
|
||||
would like to compile by hand, follow these directions:
|
||||
|
||||
Darwin x86:
|
||||
|
||||
|
@ -197,8 +203,9 @@ then:
|
|||
./configure --with-library-combo=gnu-gnu-gnu \
|
||||
[--prefix=<GNUstep install dir>] [CC=<gcc install dir>/bin/gcc]
|
||||
|
||||
(apple-apple-apple is the default if you don't specify gnu-gnu-gnu). If you want
|
||||
to be able to compile for different targets/platforms together. Do this:
|
||||
(apple-apple-apple is the default if you don't specify
|
||||
gnu-gnu-gnu). If you want to be able to compile for different
|
||||
targets/platforms together. Do this:
|
||||
|
||||
./configure --with-library-combo=gnu-gnu-gnu --disable-flattened \
|
||||
--enable-multi-platform [--prefix=<GNUstep install dir>] \
|
||||
|
@ -209,54 +216,6 @@ Now:
|
|||
make
|
||||
make install
|
||||
|
||||
Building and installing libobjc (target Apple GCC, gnu-gnu-gnu only !!!)
|
||||
-------------------------------
|
||||
|
||||
Warning ! Don't compile libobjc if you are using FSF GCC. Go to gnustep-objc
|
||||
(or from CVS, into dev-libs/libobjc), and type:
|
||||
|
||||
make install
|
||||
|
||||
This should build and install the GNU Objective-C runtime and headers for you.
|
||||
|
||||
Building and installing libffi (on Darwin PowerPC only !!!)
|
||||
------------------------------
|
||||
|
||||
Untar the GNU GCC distribution, at least a version 3.4.x (even if you are not
|
||||
compiling the compiler) and:
|
||||
|
||||
mkdir libffi-build
|
||||
cd libffi-build
|
||||
<gcc-3.4.x install dir>/libffi/configure [CC=<gcc install dir>/bin/gcc]
|
||||
make
|
||||
make install
|
||||
|
||||
Note: some 3.4.x versions doesn't have a working libffi on Mac OS X / Darwin.
|
||||
Use PyObjC libffi from http://pyobjc.sourceforge.net, in the case libffi
|
||||
install doesn't work with the 3.4.x version.
|
||||
(This libffi issue needs to be tested with the various GCC 3.4.x versions)
|
||||
|
||||
mkdir libffi-build
|
||||
cd libffi-build
|
||||
<pyobjc dir>/libffi-src/configure [CC=<gcc install dir>/bin/gcc]
|
||||
make
|
||||
make install
|
||||
|
||||
Warning ! Don't install libffi in <gcc install dir>, let it just install in
|
||||
/usr/local
|
||||
|
||||
Building and installing ffcall (on Darwin x86 only !!!)
|
||||
------------------------------
|
||||
|
||||
./configure --prefix=$GNUSTEP_SYSTEM_ROOT \
|
||||
--libdir=$GNUSTEP_SYSTEM_ROOT/Library/Libraries \
|
||||
--includedir=$GNUSTEP_SYSTEM_ROOT/Library/Headers
|
||||
|
||||
Now you can now build and install it simply by typing:
|
||||
|
||||
make
|
||||
make install
|
||||
|
||||
Source GNUstep.sh
|
||||
-----------------
|
||||
|
||||
|
@ -268,21 +227,48 @@ If you are using c shell like tcsh, type:
|
|||
|
||||
source <GNUstep install dir>/System/Library/Makefiles/GNUstep.csh
|
||||
|
||||
Building and installing libobjc (target Apple GCC, gnu-gnu-gnu only !!!)
|
||||
-------------------------------
|
||||
|
||||
Warning ! Don't compile libobjc if you are using FSF GCC. Go to gnustep-objc
|
||||
(or from CVS, into dev-libs/libobjc), and type:
|
||||
|
||||
make install
|
||||
cd $GNUSTEP_SYSTEM_ROOT/Library/Libraries
|
||||
ln -s libobjc.dylib libobjc-gnu.dylib
|
||||
|
||||
This should build and install the GNU Objective-C runtime and headers for you.
|
||||
|
||||
Building and installing libffi (on Darwin PowerPC only !!!)
|
||||
------------------------------
|
||||
|
||||
There's no official libffi release. Get the one from the GNUstep ftp site
|
||||
|
||||
./configure --prefix=$GNUSTEP_SYSTEM_ROOT \
|
||||
--libdir=$GNUSTEP_SYSTEM_ROOT/Library/Libraries \
|
||||
--includedir=$GNUSTEP_SYSTEM_ROOT/Library/Headers
|
||||
make
|
||||
make install
|
||||
|
||||
Building and installing ffcall (on Darwin x86 only (may work on PPC))
|
||||
------------------------------
|
||||
|
||||
./configure --prefix=$GNUSTEP_SYSTEM_ROOT \
|
||||
--libdir=$GNUSTEP_SYSTEM_ROOT/Library/Libraries \
|
||||
--includedir=$GNUSTEP_SYSTEM_ROOT/Library/Headers
|
||||
make
|
||||
make install
|
||||
|
||||
Building and installing GNUstep-base
|
||||
------------------------------------
|
||||
|
||||
Go to GNUstep-base (or from CVS into the core/base directory).
|
||||
|
||||
If you are using the FSF GCC (with the Apple GCC which only works currently
|
||||
with the apple-apple-apple library combo, you don't need to run the configure
|
||||
yourself unless you need special options), type:
|
||||
|
||||
./configure [--with-xml-prefix=/usr] [--disable-xmltest] [--disable-do] \
|
||||
[LDFLAGS=-L/sw/lib] [CPPFLAGS=-I/sw/include] [CC=<gcc install dir>/bin/gcc]
|
||||
[LDFLAGS=-L/sw/lib] [CPPFLAGS=-I/sw/include] [CC=<gcc install dir>/bin/gcc] \
|
||||
[CPPFLAGS=-fnested-functions]
|
||||
|
||||
To know which options you need to use with your environment:
|
||||
|
||||
--disable-xmltest is needed with the latest Mac OS X 10.3 / Darwin 7
|
||||
--disable-xmltest is needed with Mac OS X 10.3 / Darwin 7
|
||||
versions xml2-config tool and libxml2 headers reports differents versions,
|
||||
because of this versions conflict the GNUstep xmltest fails.
|
||||
|
||||
|
@ -302,15 +288,9 @@ To know which options you need to use with your environment:
|
|||
CPPFLAGS=-I/sw/include is needed when you installed libxslt with Fink and
|
||||
you want to compile the base library with libxslt support.
|
||||
|
||||
|
||||
followed when you are using the Apple GCC by:
|
||||
CPPFLAGS=-fnested-functions is required when using Apple gcc
|
||||
|
||||
make install
|
||||
|
||||
Note: this should automatically run the configure script for you (in the case
|
||||
you haven't done it).
|
||||
|
||||
otherwise (with the FSF GCC) followed by:
|
||||
followed by:
|
||||
|
||||
make
|
||||
make install
|
||||
|
@ -325,9 +305,7 @@ Building and installing GNUstep-gui
|
|||
|
||||
Go to GNUstep-gui (or from CVS into the core/gui directory).
|
||||
|
||||
If you are using the Apple GCC (doesn't work currently) or the FSF GCC type:
|
||||
|
||||
./configure [CC=<gcc install dir>/bin/gcc]
|
||||
./configure --disable-gsnd
|
||||
|
||||
followed by:
|
||||
|
||||
|
@ -336,22 +314,18 @@ followed by:
|
|||
|
||||
Note: The gsnd server hasn't been ported to Mac OS X / Darwin yet.
|
||||
|
||||
In the case configure didn't found libjpeg, use
|
||||
--with-jpeg-library=<jpeg libdir> --with-jpeg-include=<jpeg include dir> to have
|
||||
the libjpeg detected.
|
||||
|
||||
Example:
|
||||
|
||||
./configure --with-jpeg-library=/usr/local/lib
|
||||
--with-jpeg-include=/usr/local/include
|
||||
|
||||
Some other configure options:
|
||||
--with-jpeg-library=<jpeg libdir>
|
||||
--with-jpeg-include=<jpeg include dir>
|
||||
to have the libjpeg detected.
|
||||
--disable-jpeg
|
||||
|
||||
Building and installing GNUstep-back
|
||||
------------------------------------
|
||||
|
||||
Warning ! You must have installed X11User.pkg from the Panther install disc and
|
||||
also X11SDK.pkg from the xCode Tools install disc to be able to compile
|
||||
GNUstep-back under Mac OS X 10.3.
|
||||
Warning ! You must have installed X11User.pkg from the Panther
|
||||
install disc and also X11SDK.pkg from the xCode Tools install disc to
|
||||
be able to compile GNUstep-back under Mac OS X 10.3.
|
||||
|
||||
If you aren't installing GNUstep under Mac OS X 10.3 / Darwin 7, you can use
|
||||
XDarwin (ftp://ftp.xfree86.org/pub/XFree86/4.3.0/binaries/Darwin-ppc-6.x/) for
|
||||
|
@ -359,7 +333,7 @@ the X server, take a look at http://www.xdarwin.org
|
|||
|
||||
In the back directory, type:
|
||||
|
||||
./configure [CC=<gcc install dir>/bin/gcc]
|
||||
./configure
|
||||
make
|
||||
make install
|
||||
|
||||
|
@ -376,12 +350,6 @@ so that it could be found:
|
|||
PATH=/sw/lib/freetype/bin:$PATH
|
||||
make sure in config.make that -L/sw/lib/freetype2/lib is included before -L/usr/X11R6/lib (Adam Fedor <fedor@gnu.org>) Mac OS X 10.4 doesn't have this problem.
|
||||
|
||||
Then you should be able to configure back and install it:
|
||||
|
||||
./configure --enable-graphics=art [CC='<gcc install dir>/bin/gcc']
|
||||
make
|
||||
make install
|
||||
|
||||
You also need to have /sw/lib in your library path before running GNUstep apps
|
||||
with the art backend, as it needs to find libart2, so put the above export
|
||||
DYLD_LIBRARY_PATH somewhere in your .profile (or do the export before launching
|
||||
|
|
|
@ -43,9 +43,9 @@ any later version published by the Free Software Foundation.
|
|||
* Makefile Introduction::
|
||||
* Makefile Structure::
|
||||
* Running Make::
|
||||
* Project Types::
|
||||
* GNUmakefile.preamble::
|
||||
* GNUmakefile.postamble::
|
||||
* Project Types::
|
||||
* Common Variables::
|
||||
@end menu
|
||||
|
||||
|
@ -89,7 +89,7 @@ include $(GNUSTEP_MAKEFILES)/tool.make
|
|||
This is all that is necessary to define the project.
|
||||
|
||||
|
||||
@node Running Make, GNUmakefile.preamble, Makefile Structure, Top
|
||||
@node Running Make, Project Types, Makefile Structure, Top
|
||||
@section Running Make
|
||||
@menu
|
||||
* Debug Information::
|
||||
|
@ -148,7 +148,7 @@ libraries (DLL) which are a form of shared libraries; on these systems,
|
|||
DLLs will be built by default unless the Makefile Package is told to
|
||||
build using static libraries instead, as in the above command.
|
||||
|
||||
@node Project Types, Common Variables, GNUmakefile.postamble, Top
|
||||
@node Project Types, GNUmakefile.preamble, Running Make, Top
|
||||
@section Project Types
|
||||
@menu
|
||||
* aggregate.make::
|
||||
|
@ -159,7 +159,8 @@ build using static libraries instead, as in the above command.
|
|||
* framework.make::
|
||||
* java.make::
|
||||
* library.make::
|
||||
* native-library.make::
|
||||
* native-library.make::
|
||||
* nsis.make::
|
||||
* objc.make::
|
||||
* palette.make::
|
||||
* rpm.make::
|
||||
|
@ -170,7 +171,7 @@ build using static libraries instead, as in the above command.
|
|||
|
||||
Projects are divided into different types described below. To create a
|
||||
project of a specific type, just include the particular makefile. For
|
||||
example, to create an application, include this line in your make make
|
||||
example, to create an application, include this line in your main make
|
||||
file:
|
||||
|
||||
@example
|
||||
|
@ -454,7 +455,7 @@ library reside in the @file{two} subdirectory from where the sources are
|
|||
located, and the header files will be installed into the @file{two}
|
||||
subdirectory within @code{GNUSTEP_HEADERS}.
|
||||
|
||||
@node native-library.make, objc.make, library.make, Project Types
|
||||
@node native-library.make, nsis.make, library.make, Project Types
|
||||
@subsection Native Library (@file{native-library.make})
|
||||
|
||||
A "native library" is a project which is to be built as a shared
|
||||
|
@ -481,7 +482,58 @@ To add the corresponding flags, you can use
|
|||
This will be converted into -L../MyPath/$(GNUSTEP_OBJ_DIR) flag
|
||||
on for most targets and into -F../MyPath flag for apple-apple-apple.
|
||||
|
||||
@node objc.make, palette.make, native-library.make, Project Types
|
||||
@node nsis.make, objc.make, native-library.make, Project Types
|
||||
@subsection NSIS Installer (@file{nsis.make})
|
||||
|
||||
The NSIS make project provides rules for automatically generating NSIS
|
||||
installers for Windows operating systems. In order to get this functionality,
|
||||
include @file{Master/nsis.make} from the Makefiles directory in your
|
||||
GNUmakefile.
|
||||
|
||||
@example
|
||||
include $(GNUSTEP_MAKEFILES)/Master/nsis.make
|
||||
@end example
|
||||
|
||||
To create an installer file by itself, run @code{make nsifile}. To
|
||||
create the full installer executable, run @code{make nsis}. Note that in
|
||||
order to do this, you must be either running on a Windows computer with
|
||||
a release of the NSIS compiler (from @url{http://nsis.sourceforge.net}) or you
|
||||
need to be using a cross-compiler and cross-compiled NSIS script compiler.
|
||||
(NOTE: This does not currently work - you need to use the GUI NSIS compiler
|
||||
to compile the installer scripts).
|
||||
|
||||
Currently the nsis make package only makes installers for
|
||||
Applications. It will use the @file{nsi-app.template} file in the
|
||||
GNUstep Makefiles directory. If you want, you can provide your own
|
||||
template with customized script instructions by creating a file called
|
||||
@file{PACKAGE_NAME.nsi.in}, where @code{PACKAGE_NAME} is the same as the
|
||||
name of your package (see below).
|
||||
|
||||
You also need to define several variables in your main make file.
|
||||
Except for @code{PACKAGE_NAME}, which is required, all the following
|
||||
variables are optional.
|
||||
|
||||
@defvr {NSIS} PACKAGE_NAME
|
||||
@code{PACKAGE_NAME} defines the name of the NSIS installer. In most
|
||||
cases this will be the same as the name of your project type. For
|
||||
instance, if you are creating a application, and have set
|
||||
@code{APP_NAME} to @samp{MyApplication}, Then set @code{PACKAGE_NAME} to
|
||||
the same thing, or just use @code{PACKAGE_NAME=$(APP_NAME)}. if
|
||||
@code{PACKAGE_NAME} is not set, it defaults to @code{unnamed-package}
|
||||
@end defvr
|
||||
|
||||
@defvr {NSIS} PACKAGE_VERSION
|
||||
Set @code{PACKAGE_VERSION} to the release version number of your package. If not
|
||||
set, it defaults to 0.0.1
|
||||
@end defvr
|
||||
|
||||
@defvr {NSIS} GNUSTEP_INSTALLATION_DOMAIN
|
||||
Set @code{GNUSTEP_INSTALLATION_DOMAIN} to the domain where you want to install
|
||||
the software. This should be either @code{SYSTEM}), @code{LOCAL}, or @code{USER}.
|
||||
If not set it defaults to @code{LOCAL}.
|
||||
@end defvr
|
||||
|
||||
@node objc.make, palette.make, nsis.make, Project Types
|
||||
@subsection Objective-C Programs (@file{objc.make})
|
||||
@menu
|
||||
* objc.make variables::
|
||||
|
@ -647,7 +699,7 @@ or application.
|
|||
A tool is an ObjC project that by default links in the GNUstep base
|
||||
library. Otherwise it is similar to the ObjC project type.
|
||||
|
||||
@node GNUmakefile.preamble, GNUmakefile.postamble, Running Make, Top
|
||||
@node GNUmakefile.preamble, GNUmakefile.postamble, Project Types, Top
|
||||
@section Global Variables (@file{GNUmakefile.preamble})
|
||||
|
||||
@file{GNUmakefile.preamble} is an optional file that may be put within the
|
||||
|
@ -865,7 +917,7 @@ directories can be created during installation.
|
|||
ADDITIONAL_INSTALL_DIRS = $(GNUSTEP_RESOURCES)/MyProject
|
||||
@end smallexample
|
||||
|
||||
@node GNUmakefile.postamble, Project Types, GNUmakefile.preamble, Top
|
||||
@node GNUmakefile.postamble, Common Variables, GNUmakefile.preamble, Top
|
||||
@section Global Rules (@file{GNUmakefile.postamble})
|
||||
|
||||
The @file{GNUmakefile.postamble} file is an optional file you may
|
||||
|
@ -881,7 +933,7 @@ define things that should happen after a process is complete.
|
|||
You can even define additional rules such as ones that a particular to
|
||||
your specific package or that are to be used by developers only.
|
||||
|
||||
@node Common Variables, , Project Types, Top
|
||||
@node Common Variables, , GNUmakefile.postamble, Top
|
||||
@section Common Variables (@file{common.make})
|
||||
@menu
|
||||
* Directory Paths::
|
||||
|
|
|
@ -1,106 +1,113 @@
|
|||
.\"openapp(1) man page
|
||||
.\"put together by Martin Brecher <martin@gnustep.de>
|
||||
.\" Process this file with
|
||||
.\" groff -man -Tascii openpp.1
|
||||
.\"
|
||||
.\"Process this file with
|
||||
.\"groff -man -Tascii openpp.1
|
||||
.\"
|
||||
.TH OPENAPP 1 "August 2003" GNUstep "GNUstep System Manual"
|
||||
.TH openapp 1 "12/12/2007" gnustep-make "GNUstep System Manual"
|
||||
.SH NAME
|
||||
openapp \- launch applications from the command line
|
||||
|
||||
.SH SYNOPSIS
|
||||
.B openapp
|
||||
.RB [ --find ]
|
||||
.IR application
|
||||
.RB [ "\fIarguments..." ]
|
||||
.P
|
||||
.RB [ \-\-find ]
|
||||
.RB [ \-\-debug " [" \-\-gdb=
|
||||
.IR debuger "]] ["
|
||||
.BI \-\-library-combo= library-combo
|
||||
]
|
||||
.I application
|
||||
.RI [ arguments... ]
|
||||
|
||||
.SH DESCRIPTION
|
||||
The
|
||||
.B openapp
|
||||
command allows you launch graphical GNUstep applications from the command
|
||||
line.a
|
||||
command allows you to launch graphical GNUstep applications from the command line.
|
||||
.PP
|
||||
.I application
|
||||
is the complete or relative name of the application program with or
|
||||
without the .app extension, like Ink.app.
|
||||
is the complete or relative name of the application program with or without the .app extension, like
|
||||
.B Ink.app.
|
||||
.PP
|
||||
.I arguments
|
||||
are the arguments passed to the application.
|
||||
.PP
|
||||
.B openapp
|
||||
first checks whether the application is in the current working directory.
|
||||
If not then searches the GNUstep domains' Applications folders in the
|
||||
following order:
|
||||
User (i.e. ~/GNUstep/Applications), Local, Network, System. First match wins.
|
||||
.PP
|
||||
If
|
||||
.I application
|
||||
is given without extension (i.e. Ink instead of Ink.app),
|
||||
.B openapp
|
||||
searches for
|
||||
.I application.app
|
||||
,
|
||||
.I application.debug
|
||||
,
|
||||
.I application.profile
|
||||
(in that order).
|
||||
.PP
|
||||
If
|
||||
.I --find
|
||||
is used as first argument,
|
||||
.B openapp
|
||||
prints out
|
||||
the full path of the application executable which would be
|
||||
executed, without actually executing it as it would normally do.
|
||||
.PP
|
||||
first checks whether the application is in the current working directory. If not then searches the GNUstep domains' Applications folders in the following order:
|
||||
User
|
||||
.RI "(i.e. " ~/GNUstep/Applications ),
|
||||
Local, Network, System. First match wins.
|
||||
|
||||
.SH OPTIONS
|
||||
.IP "\fB--find"
|
||||
print complete path of the executable which would be launched.
|
||||
.IP "\fB--help"
|
||||
.TP
|
||||
.BI \-\-find " application"
|
||||
will print out the full path of the application executable which would be executed, without actually executing it. It will also list all paths that are attempted.
|
||||
.TP
|
||||
.BI \-\-debug " application"
|
||||
starts the application in the debugger. By default
|
||||
.BR gdb ,
|
||||
but this can be changed with the
|
||||
.B \-\-gdb=
|
||||
argument or through the
|
||||
.B GDB
|
||||
shell variable.
|
||||
.TP
|
||||
.BI \-\-library-combo= library-combo
|
||||
Starts the application with the specified library combo. This is a rarely used option in a non-flattened setup. See the
|
||||
.BR library-combo (7)
|
||||
man-page for more information about the different library combinations.
|
||||
.TP
|
||||
.B \-\-help
|
||||
print above usage description.
|
||||
.PP
|
||||
|
||||
.SH EXAMPLES
|
||||
Start Ink.app without additional parameters:
|
||||
Start
|
||||
.B Ink.app
|
||||
without additional parameters:
|
||||
.PP
|
||||
.I openapp Ink.app
|
||||
.B openapp Ink.app
|
||||
.PP
|
||||
Launch Ink.app and pass it the --GNU-Debug argument:
|
||||
Launch
|
||||
.B Ink.app
|
||||
and pass it the
|
||||
.B \-\-debug
|
||||
argument:
|
||||
.PP
|
||||
.I openapp Ink.app --GNU-Debug=NSTextView
|
||||
.B openapp \-\-debug Ink.app
|
||||
.PP
|
||||
To determine which executable is launched by openapp, type:
|
||||
.PP
|
||||
.I openapp --find Ink.app
|
||||
.B openapp \-\-find Ink.app
|
||||
.PP
|
||||
The output of the abovecommand might be something like:
|
||||
The output of the above command might be something like:
|
||||
.I /usr/GNUstep/Local/Applications/Ink.app/Ink
|
||||
.PP
|
||||
.SH BUGS
|
||||
.B openapp
|
||||
does currently not handle library combos.
|
||||
.PP
|
||||
|
||||
.SH ENVIRONMENT
|
||||
.IP "\fBGNUSTEP_PATHLIST"
|
||||
This variable contains the paths of the domains in which
|
||||
.B gopen
|
||||
tries to find applications to open the files with. Entries are
|
||||
separated by a colon.
|
||||
.IP
|
||||
.IP Example:
|
||||
.I /home/foo/GNUstep:/usr/GNUstep/Local:/usr/GNUstep/Network:/usr/GNUstep/System
|
||||
.PP
|
||||
.TP
|
||||
.B GNUSTEP_CONFIG_FILE
|
||||
is used to determine where the
|
||||
.B GNUstep.sh
|
||||
configuration file is located. If the variable is not set
|
||||
.B openapp
|
||||
tries to locate it in the folder where
|
||||
.B openapp
|
||||
was started, then in the user domain, and as a last resort in the system domain (or actually the place you configured
|
||||
.RI ( \-\-with-config-file= )
|
||||
during building).
|
||||
.TP
|
||||
.B GDB
|
||||
Sets the debugger to use when
|
||||
.B \-\-debug
|
||||
is used.
|
||||
|
||||
.SH SEE ALSO
|
||||
GNUstep(7), gopen(1)
|
||||
.P
|
||||
debugapp(1), GNUstep(7), gopen(1), library-combo(7), opentool(1)
|
||||
|
||||
.SH HISTORY
|
||||
Work on
|
||||
.B openapp
|
||||
started October 1997.
|
||||
.P
|
||||
This manual page was first written July 2003.
|
||||
.P
|
||||
.PP
|
||||
.B openapp
|
||||
was originally written by Ovidiu Predescu <ovidiu@net-community.com>
|
||||
and is now maintained by Nicola Pero <nicola.pero@meta-innovation.com>
|
||||
|
||||
.SH AUTHORS
|
||||
openapp was originally written by Ovidiu Predescu <ovidiu@net-community.com>
|
||||
and is now maintained by Nicola Pero <n.pero@mi.flashnet.it>.
|
||||
.P
|
||||
This man page was written by Martin Brecher <martin@mb-itconsulting.com>.
|
||||
This manual page was first written July 2003 by Martin Brecher <martin@mb-itconsulting.com>.
|
||||
.PP
|
||||
Updated with notes from Hubert Chathi <uhoreg@debian.org> and Dennis Leeuw <dleeuw@made-it.com>, December 2007 by Dennis Leeuw.
|
||||
|
|
170
GNUmakefile.in
170
GNUmakefile.in
|
@ -44,6 +44,7 @@ override GNUSTEP_CONFIG_FILE = $(DESTDIR)@GNUSTEP_CONFIG_FILE@
|
|||
override GNUSTEP_CONFIG_FILE_DIR = $(dir $(GNUSTEP_CONFIG_FILE))
|
||||
tooldir = $(DESTDIR)@GNUSTEP_SYSTEM_TOOLS@
|
||||
makedir = $(DESTDIR)@GNUSTEP_MAKEFILES@
|
||||
mandir = $(DESTDIR)@GNUSTEP_SYSTEM_DOC_MAN@
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
|
||||
|
@ -77,7 +78,7 @@ VERTAG = $(subst .,_,$(GNUSTEP_MAKE_VERSION))
|
|||
SVNPREFIX=svn+ssh://svn.gna.org/svn/gnustep/tools/make
|
||||
|
||||
MAKE_FILES = aggregate.make application.make bundle.make service.make \
|
||||
common.make empty.make filesystem.make library-combo.make java.make jni.make library.make \
|
||||
common.make empty.make library-combo.make java.make jni.make library.make \
|
||||
messages.make rules.make target.make names.make resource-set.make \
|
||||
tool.make ctool.make test-library.make \
|
||||
objc.make test-application.make test-tool.make subproject.make \
|
||||
|
@ -91,7 +92,7 @@ MASTER_MAKE_FILES = \
|
|||
aggregate.make source-distribution.make rpm.make rules.make \
|
||||
application.make bundle.make clibrary.make ctool.make \
|
||||
documentation.make framework.make gswapp.make gswbundle.make \
|
||||
library.make objc.make java.make java-tool.make palette.make \
|
||||
library.make nsis.make objc.make java.make java-tool.make palette.make \
|
||||
resource-set.make service.make subproject.make test-application.make \
|
||||
test-library.make test-tool.make tool.make
|
||||
|
||||
|
@ -120,21 +121,21 @@ all: generated-files
|
|||
|
||||
install: generated-files
|
||||
$(EC)(echo "Creating system tools directory: $(tooldir)"; \
|
||||
$(srcdir)/mkinstalldirs $(tooldir); \
|
||||
"$(srcdir)/mkinstalldirs" "$(tooldir)"; \
|
||||
echo "Creating makefile directories in: $(makedir)"; \
|
||||
$(srcdir)/mkinstalldirs \
|
||||
$(makedir) \
|
||||
$(makedir)/$(GNUSTEP_TARGET_CPU) \
|
||||
$(makedir)/$(GNUSTEP_TARGET_DIR) \
|
||||
$(makedir)/$(GNUSTEP_TARGET_LDIR) \
|
||||
$(makedir)/Additional \
|
||||
$(makedir)/Auxiliary \
|
||||
$(makedir)/Master \
|
||||
$(makedir)/Instance \
|
||||
$(makedir)/Instance/Shared \
|
||||
$(makedir)/Instance/Documentation)
|
||||
"$(srcdir)/mkinstalldirs" \
|
||||
"$(makedir)" \
|
||||
"$(makedir)/$(GNUSTEP_TARGET_CPU)" \
|
||||
"$(makedir)/$(GNUSTEP_TARGET_DIR)" \
|
||||
"$(makedir)/$(GNUSTEP_TARGET_LDIR)" \
|
||||
"$(makedir)/Additional" \
|
||||
"$(makedir)/Auxiliary" \
|
||||
"$(makedir)/Master" \
|
||||
"$(makedir)/Instance" \
|
||||
"$(makedir)/Instance/Shared" \
|
||||
"$(makedir)/Instance/Documentation")
|
||||
$(EC)(echo "Installing GNUstep configuration file in $(GNUSTEP_CONFIG_FILE)"; \
|
||||
$(srcdir)/mkinstalldirs "$(GNUSTEP_CONFIG_FILE_DIR)"; \
|
||||
"$(srcdir)/mkinstalldirs" "$(GNUSTEP_CONFIG_FILE_DIR)"; \
|
||||
$(INSTALL_DATA) GNUstep.conf "$(GNUSTEP_CONFIG_FILE)")
|
||||
$(EC)(echo "Installing gnustep-make support software")
|
||||
$(EC)(for f in config.guess config.sub install-sh mkinstalldirs \
|
||||
|
@ -142,45 +143,62 @@ install: generated-files
|
|||
clean_vendor.sh cpu.sh os.sh vendor.sh \
|
||||
print_unique_pathlist.sh \
|
||||
relative_path.sh strip_makefiles.sh; do \
|
||||
$(INSTALL_PROGRAM) -m 755 $(srcdir)/$$f $(makedir); \
|
||||
$(INSTALL_PROGRAM) -m 755 "$(srcdir)/$$f" "$(makedir)"; \
|
||||
done)
|
||||
$(EC)($(INSTALL_DATA) GNUstep.sh $(makedir); \
|
||||
$(INSTALL_DATA) GNUstep.csh $(makedir); \
|
||||
$(INSTALL_DATA) filesystem.sh $(makedir); \
|
||||
$(INSTALL_DATA) filesystem.csh $(makedir); \
|
||||
$(INSTALL_DATA) $(srcdir)/ld_lib_path.sh $(makedir); \
|
||||
$(INSTALL_DATA) $(srcdir)/ld_lib_path.csh $(makedir); \
|
||||
$(INSTALL_DATA) $(srcdir)/GNUstep-reset.sh $(makedir); \
|
||||
$(INSTALL_PROGRAM) -m 755 fixpath.sh $(makedir); \
|
||||
$(INSTALL_PROGRAM) -m 755 openapp $(tooldir); \
|
||||
$(INSTALL_PROGRAM) -m 755 debugapp $(tooldir); \
|
||||
$(INSTALL_PROGRAM) -m 755 opentool $(tooldir); \
|
||||
$(INSTALL_PROGRAM) -m 755 gnustep-config $(tooldir))
|
||||
$(EC)($(INSTALL_DATA) GNUstep.sh "$(makedir)"; \
|
||||
$(INSTALL_DATA) GNUstep.csh "$(makedir)"; \
|
||||
$(INSTALL_DATA) filesystem.sh "$(makedir)"; \
|
||||
$(INSTALL_DATA) filesystem.csh "$(makedir)"; \
|
||||
$(INSTALL_DATA) "$(srcdir)/ld_lib_path.sh" "$(makedir)"; \
|
||||
$(INSTALL_DATA) "$(srcdir)/ld_lib_path.csh" "$(makedir)"; \
|
||||
$(INSTALL_DATA) "$(srcdir)/GNUstep-reset.sh" "$(makedir)"; \
|
||||
$(INSTALL_PROGRAM) -m 755 fixpath.sh "$(makedir)"; \
|
||||
$(INSTALL_PROGRAM) -m 755 openapp "$(tooldir)"; \
|
||||
$(INSTALL_PROGRAM) -m 755 "$(srcdir)/debugapp" "$(tooldir)"; \
|
||||
$(INSTALL_PROGRAM) -m 755 opentool "$(tooldir)"; \
|
||||
$(INSTALL_PROGRAM) -m 755 gnustep-config "$(tooldir)")
|
||||
$(EC)(echo "Installing makefiles"; \
|
||||
for f in $(MAKE_FILES); do \
|
||||
$(INSTALL_DATA) $(srcdir)/$$f $(makedir); \
|
||||
$(INSTALL_DATA) "$(srcdir)/$$f" "$(makedir)"; \
|
||||
done; \
|
||||
for f in $(MASTER_MAKE_FILES); do \
|
||||
$(INSTALL_DATA) $(srcdir)/Master/$$f $(makedir)/Master; \
|
||||
$(INSTALL_DATA) "$(srcdir)/Master/$$f" "$(makedir)/Master"; \
|
||||
done; \
|
||||
for f in $(INSTANCE_MAKE_FILES); do \
|
||||
$(INSTALL_DATA) $(srcdir)/Instance/$$f $(makedir)/Instance; \
|
||||
$(INSTALL_DATA) "$(srcdir)/Instance/$$f" "$(makedir)/Instance"; \
|
||||
done; \
|
||||
for f in $(INSTANCE_SHARED_MAKE_FILES); do \
|
||||
$(INSTALL_DATA) $(srcdir)/Instance/Shared/$$f \
|
||||
$(makedir)/Instance/Shared; \
|
||||
$(INSTALL_DATA) "$(srcdir)/Instance/Shared/$$f" \
|
||||
"$(makedir)/Instance/Shared"; \
|
||||
done; \
|
||||
for f in $(INSTANCE_DOC_MAKE_FILES); do \
|
||||
$(INSTALL_DATA) $(srcdir)/Instance/Documentation/$$f \
|
||||
$(makedir)/Instance/Documentation; \
|
||||
$(INSTALL_DATA) "$(srcdir)/Instance/Documentation/$$f" \
|
||||
"$(makedir)/Instance/Documentation"; \
|
||||
done; \
|
||||
$(INSTALL_DATA) app-wrapper.template $(makedir); \
|
||||
$(INSTALL_DATA) executable.template $(makedir); \
|
||||
$(INSTALL_DATA) config-noarch.make $(makedir); \
|
||||
$(INSTALL_DATA) config.make $(makedir)/$(GNUSTEP_TARGET_LDIR))
|
||||
$(INSTALL_DATA) "$(srcdir)/app-wrapper.template" "$(makedir)"; \
|
||||
$(INSTALL_DATA) "$(srcdir)/nsi-app.template" "$(makedir)"; \
|
||||
$(INSTALL_DATA) executable.template "$(makedir)"; \
|
||||
$(INSTALL_DATA) config-noarch.make "$(makedir)"; \
|
||||
$(INSTALL_DATA) filesystem.make "$(makedir)"; \
|
||||
$(INSTALL_DATA) config.make "$(makedir)/$(GNUSTEP_TARGET_LDIR)")
|
||||
$(EC)(echo "Installing manpages"; \
|
||||
"$(srcdir)/mkinstalldirs" "$(mandir)/man1" \
|
||||
"$(mandir)/man7"; \
|
||||
$(INSTALL_DATA) "$(srcdir)/Documentation/debugapp.1" "$(mandir)/man1"; \
|
||||
which gzip > /dev/null 2>&1 && rm -f "$(mandir)/man1/debugapp.1.gz" && gzip -9 "$(mandir)/man1/debugapp.1"; \
|
||||
$(INSTALL_DATA) "$(srcdir)/Documentation/gnustep-config.1" "$(mandir)/man1"; \
|
||||
which gzip > /dev/null 2>&1 && rm -f "$(mandir)/man1/gnustep-config.1.gz" && gzip -9 "$(mandir)/man1/gnustep-config.1"; \
|
||||
$(INSTALL_DATA) "$(srcdir)/Documentation/openapp.1" "$(mandir)/man1"; \
|
||||
which gzip > /dev/null 2>&1 && rm -f "$(mandir)/man1/openapp.1.gz" && gzip -9 "$(mandir)/man1/openapp.1"; \
|
||||
$(INSTALL_DATA) "$(srcdir)/Documentation/opentool.1" "$(mandir)/man1"; \
|
||||
which gzip > /dev/null 2>&1 && rm -f "$(mandir)/man1/opentool.1.gz" && gzip -9 "$(mandir)/man1/opentool.1"; \
|
||||
$(INSTALL_DATA) "$(srcdir)/Documentation/GNUstep.7" "$(mandir)/man7"; \
|
||||
which gzip > /dev/null 2>&1 && rm -f "$(mandir)/man7/GNUstep.7.gz" && gzip -9 "$(mandir)/man7/GNUstep.7"; \
|
||||
$(INSTALL_DATA) "$(srcdir)/Documentation/library-combo.7" "$(mandir)/man7"; \
|
||||
which gzip > /dev/null 2>&1 && rm -f "$(mandir)/man7/library-combo.7.gz" && gzip -9 "$(mandir)/man7/library-combo.7")
|
||||
$(EC)(if [ "@GNUSTEP_STRIP_MAKEFILES@" = "strip" ]; then \
|
||||
echo "Stripping makefiles and shell scripts..."; \
|
||||
cd $(makedir); ./strip_makefiles.sh; \
|
||||
cd "$(makedir)"; ./strip_makefiles.sh; \
|
||||
fi)
|
||||
|
||||
# FIXME - review the issue of this config.site. What is it used for ?
|
||||
|
@ -188,6 +206,15 @@ install: generated-files
|
|||
# $(INSTALL_DATA) $(srcdir)/config.site $(GNUSTEP_SYSTEM_ROOT)/share)
|
||||
|
||||
uninstall:
|
||||
rm -f "$(mandir)/man1/debugapp.1" "$(mandir)/man1/debugapp.1.gz"; \
|
||||
rm -f "$(mandir)/man1/gnustep-config.1" "$(mandir)/man1/gnustep-config.1.gz"; \
|
||||
rm -f "$(mandir)/man1/openapp.1" "$(mandir)/man1/openapp.1.gz"; \
|
||||
rm -f "$(mandir)/man1/opentool.1" "$(mandir)/man1/opentool.1.gz"; \
|
||||
rm -f "$(mandir)/man7/GNUstep.7" "$(mandir)/man7/GNUstep.7.gz"; \
|
||||
rm -f "$(mandir)/man7/library-combo.7" "$(mandir)/man7/library-combo.7.gz"
|
||||
-rmdir "$(mandir)/man1"
|
||||
-rmdir "$(mandir)/man7"
|
||||
-rmdir "$(mandir)"
|
||||
for f in config.guess config.sub install-sh mkinstalldirs \
|
||||
clean_cpu.sh clean_os.sh \
|
||||
clean_vendor.sh cpu.sh ld_lib_path.sh os.sh \
|
||||
|
@ -197,43 +224,48 @@ uninstall:
|
|||
filesystem.sh filesystem.csh \
|
||||
GNUstep.sh GNUstep.csh GNUstep-reset.sh \
|
||||
relative_path.sh strip_makefiles.sh; do \
|
||||
rm -f $(makedir)/$$f; \
|
||||
rm -f "$(makedir)/$$f"; \
|
||||
done
|
||||
rm -f $(tooldir)/openapp; \
|
||||
rm -f $(tooldir)/debugapp; \
|
||||
rm -f $(tooldir)/opentool; \
|
||||
rm -f $(tooldir)/gnustep-config; \
|
||||
rm -f "$(tooldir)/openapp"; \
|
||||
rm -f "$(tooldir)/debugapp"; \
|
||||
rm -f "$(tooldir)/opentool"; \
|
||||
rm -f "$(tooldir)/gnustep-config"; \
|
||||
for f in $(MAKE_FILES); do \
|
||||
rm -f $(makedir)/$$f; \
|
||||
rm -f "$(makedir)/$$f"; \
|
||||
done
|
||||
for f in $(MASTER_MAKE_FILES); do \
|
||||
rm -f $(makedir)/Master/$$f; \
|
||||
rm -f "$(makedir)/Master/$$f"; \
|
||||
done
|
||||
for f in $(INSTANCE_MAKE_FILES); do \
|
||||
rm -f $(makedir)/Instance/$$f; \
|
||||
rm -f "$(makedir)/Instance/$$f"; \
|
||||
done
|
||||
for f in $(INSTANCE_SHARED_MAKE_FILES); do \
|
||||
rm -f $(makedir)/Instance/Shared/$$f; \
|
||||
rm -f "$(makedir)/Instance/Shared/$$f"; \
|
||||
done
|
||||
for f in $(INSTANCE_DOC_MAKE_FILES); do \
|
||||
rm -f $(makedir)/Instance/Documentation/$$f; \
|
||||
rm -f "$(makedir)/Instance/Documentation/$$f"; \
|
||||
done
|
||||
rm -f $(makedir)/executable.template
|
||||
rm -f $(makedir)/app-wrapper.template
|
||||
rm -f $(GNUSTEP_SYSTEM_ROOT)/share/config.site
|
||||
rm -f $(makedir)/config-noarch.make
|
||||
rm -f $(makedir)/$(GNUSTEP_TARGET_LDIR)/config.make
|
||||
-for f in $(makedir)/Instance/Documentation \
|
||||
$(makedir)/Instance/Shared \
|
||||
$(makedir)/Instance \
|
||||
$(makedir)/Master \
|
||||
$(makedir)/Auxiliary \
|
||||
$(makedir)/Additional \
|
||||
$(makedir)/$(GNUSTEP_TARGET_LDIR) \
|
||||
$(makedir)/$(GNUSTEP_TARGET_DIR) \
|
||||
$(makedir)/$(GNUSTEP_TARGET_CPU) \
|
||||
$(makedir); do \
|
||||
test -d $$f && rmdir $$f; \
|
||||
rm -f "$(makedir)/executable.template"
|
||||
rm -f "$(makedir)/app-wrapper.template"
|
||||
rm -f "$(makedir)/nsi-app.template"
|
||||
rm -f "$(GNUSTEP_SYSTEM_ROOT)/share/config.site"
|
||||
rm -f "$(makedir)/config-noarch.make"
|
||||
rm -f "$(makedir)/filesystem.make"
|
||||
rm -f "$(makedir)/$(GNUSTEP_TARGET_LDIR)/config.make"
|
||||
rm -f "$(GNUSTEP_CONFIG_FILE)"
|
||||
-rmdir "$(GNUSTEP_CONFIG_FILE_DIR)"
|
||||
-for f in "$(makedir)/Instance/Documentation" \
|
||||
"$(makedir)/Instance/Shared" \
|
||||
"$(makedir)/Instance" \
|
||||
"$(makedir)/Master" \
|
||||
"$(makedir)/Auxiliary" \
|
||||
"$(makedir)/Additional" \
|
||||
"$(makedir)/$(GNUSTEP_TARGET_LDIR)" \
|
||||
"$(makedir)/$(GNUSTEP_TARGET_DIR)" \
|
||||
"$(makedir)/$(GNUSTEP_TARGET_CPU)" \
|
||||
"$(makedir)" \
|
||||
"$(tooldir)"; do \
|
||||
test -d "$$f" && rmdir "$$f"; \
|
||||
done
|
||||
|
||||
clean:
|
||||
|
@ -246,12 +278,16 @@ distclean: clean
|
|||
rm -f GNUstep.sh GNUstep.csh fixpath.sh gnustep-config
|
||||
rm -f filesystem.make filesystem.sh filesystem.csh
|
||||
rm -f gnustep-make.spec GNUstep.conf
|
||||
rm -f config-precomp-test.log
|
||||
rm -f config-precomp-test.out config-precomp-test.h.gch config-precomp-test.log
|
||||
|
||||
svn-tag:
|
||||
svn copy $(SVNPREFIX)/trunk $(SVNPREFIX)/tags/make-$(VERTAG) \
|
||||
-m "Tag version $(VERTAG)"
|
||||
|
||||
svn-tag-stable:
|
||||
svn copy $(SVNPREFIX)/branches/stable $(SVNPREFIX)/tags/make-$(VERTAG) \
|
||||
-m "Tag version $(VERTAG)"
|
||||
|
||||
svn-dist:
|
||||
svn export $(SVNPREFIX)/tags/make-$(VERTAG) \
|
||||
gnustep-make-$(GNUSTEP_MAKE_VERSION)
|
||||
|
|
|
@ -214,9 +214,15 @@ unset GNUSTEP_HOME
|
|||
|
||||
# Determine if the paths look like Windows paths that need fixing
|
||||
fixup_paths=no
|
||||
if [ -z "`echo $GNUSTEP_MAKEFILES | sed 's|^[a-zA-Z]:/.*$||'`" ]; then
|
||||
# Here we want to use `...` but the only portable way to use it when
|
||||
# there are "..." inside the expression (ie, it's actually
|
||||
# `..."..."...`) seems to be to use it in variable assignments. So we
|
||||
# use a temporary variable and assign the result of `...` to it
|
||||
path_check=`echo "$GNUSTEP_MAKEFILES" | sed 's|^[a-zA-Z]:/.*$||'`
|
||||
if [ -z "$path_check" ]; then
|
||||
fixup_paths=yes
|
||||
fi
|
||||
unset path_check
|
||||
|
||||
# GNUSTEP_PATHLIST is deprecated and will be removed.
|
||||
#
|
||||
|
|
|
@ -434,3 +434,4 @@ include $(GNUSTEP_MAKEFILES)/Master/rpm.make
|
|||
# Rules for building debian/* scripts for DEBs, and DEBs
|
||||
#
|
||||
#include $(GNUSTEP_MAKEFILES)/Master/deb.make <TODO>
|
||||
|
||||
|
|
|
@ -1,3 +0,0 @@
|
|||
@interface TestClass
|
||||
+ (int) test;
|
||||
@end
|
|
@ -1,13 +0,0 @@
|
|||
#include "gs_precomp_test.h"
|
||||
|
||||
@implementation TestClass
|
||||
+ (int) test
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
@end
|
||||
|
||||
int main (void)
|
||||
{
|
||||
return [TestClass test];
|
||||
}
|
|
@ -33,80 +33,82 @@
|
|||
# return 0 if gcc supports ObjC precompiled headers
|
||||
# return 1 if gcc does not
|
||||
|
||||
# It will also log everything it does to a log file that can be
|
||||
# specified as the first argument to the script. If there is
|
||||
# no log file specified, ./log will be used.
|
||||
# The script takes a single argument, which is the directory where
|
||||
# the temporary files and the log file will be written. If there
|
||||
# is no argument specified, ./ will be used.
|
||||
|
||||
# This is the file where everything will be logged
|
||||
gs_logfile="$1"
|
||||
gs_builddir="$1"
|
||||
|
||||
if test "$gs_logfile" = ""; then
|
||||
gs_logfile="./log"
|
||||
if test "$gs_builddir" = ""; then
|
||||
gs_builddir="."
|
||||
fi
|
||||
|
||||
gs_logfile="$gs_builddir/config-precomp-test.log"
|
||||
|
||||
# Clear logs
|
||||
rm -f $gs_logfile
|
||||
rm -f "$gs_logfile"
|
||||
|
||||
# Clear compilation results
|
||||
rm -f gs_precomp_test.h.gch a.out *~
|
||||
rm -f "$gs_builddir/config-precomp-test.h.gch" "$gs_builddir/config-precomp-test.out"
|
||||
|
||||
echo "** Environment" >>$gs_logfile 2>&1
|
||||
echo " CC: $CC" >>$gs_logfile 2>&1
|
||||
echo " CFLAGS: $CFLAGS" >>$gs_logfile 2>&1
|
||||
echo " CPPFLAGS: $CPPFLAGS" >>$gs_logfile 2>&1
|
||||
echo " LDFLAGS: $LDFLAGS" >>$gs_logfile 2>&1
|
||||
echo " LIBS: $LIBS" >>$gs_logfile 2>&1
|
||||
echo "" >>$gs_logfile 2>&1
|
||||
echo " current directory: `pwd`" >>$gs_logfile 2>&1
|
||||
echo " log file: $gs_logfile" >>$gs_logfile 2>&1
|
||||
echo "" >>$gs_logfile 2>&1
|
||||
echo "** Environment" >>"$gs_logfile" 2>&1
|
||||
echo " CC: $CC" >>"$gs_logfile" 2>&1
|
||||
echo " CFLAGS: $CFLAGS" >>"$gs_logfile" 2>&1
|
||||
echo " CPPFLAGS: $CPPFLAGS" >>"$gs_logfile" 2>&1
|
||||
echo " LDFLAGS: $LDFLAGS" >>"$gs_logfile" 2>&1
|
||||
echo " LIBS: $LIBS" >>"$gs_logfile" 2>&1
|
||||
echo "" >>"$gs_logfile" 2>&1
|
||||
echo " current directory: `pwd`" >>"$gs_logfile" 2>&1
|
||||
echo " log file: $gs_logfile" >>"$gs_logfile" 2>&1
|
||||
echo "" >>"$gs_logfile" 2>&1
|
||||
|
||||
# Get rid of '-x objective-c' in CFLAGS that we don't need and would
|
||||
# prevent our '-x objective-c-headers' flag from working.
|
||||
CFLAGS=`echo $CFLAGS | sed -e 's/-x objective-c//'`
|
||||
echo " CFLAGS without -x objective-c: $CFLAGS" >>$gs_logfile 2>&1
|
||||
echo " CFLAGS without -x objective-c: $CFLAGS" >>"$gs_logfile" 2>&1
|
||||
|
||||
echo "" >>$gs_logfile 2>&1
|
||||
echo "" >>"$gs_logfile" 2>&1
|
||||
|
||||
if test "$CC" = ""; then
|
||||
echo "CC is not set: failure" >>$gs_logfile 2>&1
|
||||
echo "CC is not set: failure" >>"$gs_logfile" 2>&1
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Try to compile the file first
|
||||
echo "** Compile the file without precompiled headers" >>$gs_logfile 2>&1
|
||||
echo "$CC -o a.out $CFLAGS $CPPFLAGS $LDFLAGS $LIBS gs_precomp_test.m" >>$gs_logfile 2>&1
|
||||
$CC -o a.out $CFLAGS $CPPFLAGS $LDFLAGS $LIBS gs_precomp_test.m >>$gs_logfile 2>&1
|
||||
# Try to compile the file first.
|
||||
echo "** Compile the file without precompiled headers" >>"$gs_logfile" 2>&1
|
||||
echo "$CC -o \"$gs_builddir/config-precomp-test.out\" $CFLAGS $CPPFLAGS $LDFLAGS $LIBS config-precomp-test.m" >>"$gs_logfile" 2>&1
|
||||
$CC -o "$gs_builddir/config-precomp-test.out" $CFLAGS $CPPFLAGS $LDFLAGS $LIBS config-precomp-test.m >>"$gs_logfile" 2>&1
|
||||
if test ! "$?" = "0"; then
|
||||
echo "Failure" >>$gs_logfile 2>&1
|
||||
rm -f a.out
|
||||
echo "Failure" >>"$gs_logfile" 2>&1
|
||||
rm -f "$gs_builddir/config-precomp-test.out"
|
||||
exit 1
|
||||
fi
|
||||
echo "Success" >>$gs_logfile 2>&1
|
||||
echo "" >>$gs_logfile 2>&1
|
||||
echo "Success" >>"$gs_logfile" 2>&1
|
||||
echo "" >>"$gs_logfile" 2>&1
|
||||
|
||||
# Now try to preprocess the header
|
||||
echo "** Preprocess the header" >>$gs_logfile 2>&1
|
||||
echo "$CC -c -x objective-c-header $CFLAGS $CPPFLAGS $LDFLAGS gs_precomp_test.h" >>$gs_logfile 2>&1
|
||||
$CC -x objective-c-header $CFLAGS $CPPFLAGS $LDFLAGS gs_precomp_test.h >>$gs_logfile 2>&1
|
||||
echo "** Preprocess the header" >>"$gs_logfile" 2>&1
|
||||
echo "$CC -o \"$gs_builddir/config-precomp-test.h.gch\" -c -x objective-c-header $CFLAGS $CPPFLAGS $LDFLAGS config-precomp-test.h" >>"$gs_logfile" 2>&1
|
||||
$CC -o "$gs_builddir/config-precomp-test.h.gch" -c -x objective-c-header $CFLAGS $CPPFLAGS $LDFLAGS config-precomp-test.h >>"$gs_logfile" 2>&1
|
||||
if test ! "$?" = "0"; then
|
||||
echo "Failure" >>$gs_logfile 2>&1
|
||||
rm -f a.out gs_precomp_test.h.gch
|
||||
echo "Failure" >>"$gs_logfile" 2>&1
|
||||
rm -f "$gs_builddir/config-precomp-test.out" "$gs_builddir/config-precomp-test.h.gch"
|
||||
exit 1
|
||||
fi
|
||||
echo "Success" >>$gs_logfile 2>&1
|
||||
echo "" >>$gs_logfile 2>&1
|
||||
echo "Success" >>"$gs_logfile" 2>&1
|
||||
echo "" >>"$gs_logfile" 2>&1
|
||||
|
||||
# Now try to compile again with the preprocessed header
|
||||
echo "** Compile the file with precompiled headers" >>$gs_logfile 2>&1
|
||||
echo "$CC -o a.out $CFLAGS $CPPFLAGS $LDFLAGS $LIBS gs_precomp_test.m" >>$gs_logfile 2>&1
|
||||
$CC -o a.out $CFLAGS $CPPFLAGS $LDFLAGS $LIBS gs_precomp_test.m >>$gs_logfile 2>&1
|
||||
# Now try to compile again with the preprocessed header. It might get ignored - which is fine.
|
||||
echo "** Compile the file with precompiled headers" >>"$gs_logfile" 2>&1
|
||||
echo "$CC -o \"$gs_builddir/config-precomp-test.out\" $CFLAGS $CPPFLAGS $LDFLAGS $LIBS -I\"$gs_builddir\" config-precomp-test.m" >>"$gs_logfile" 2>&1
|
||||
$CC -o "$gs_builddir/config-precomp-test.out" $CFLAGS $CPPFLAGS $LDFLAGS $LIBS -I"$gs_builddir" config-precomp-test.m >>"$gs_logfile" 2>&1
|
||||
if test ! "$?" = "0"; then
|
||||
echo "Failure" >>$gs_logfile 2>&1
|
||||
rm -f a.out gs_precomp_test.h.gch
|
||||
echo "Failure" >>"$gs_logfile" 2>&1
|
||||
rm -f "$gs_builddir/config-precomp-test.out" "$gs_builddir/config-precomp-test.h.gch"
|
||||
exit 1
|
||||
fi
|
||||
echo "Success" >>$gs_logfile 2>&1
|
||||
echo "Success" >>"$gs_logfile" 2>&1
|
||||
|
||||
# Everything looks OK.
|
||||
exit 0
|
||||
|
|
11
configure.ac
11
configure.ac
|
@ -291,7 +291,7 @@ fi
|
|||
# PATH (on some systems at least) and so comparing them won't find a
|
||||
# match and the check will fail even if GNUSTEP_SYSTEM_TOOLS is in
|
||||
# PATH and a spurious warning will be produced.
|
||||
GNUSTEP_PREFIX="`echo \"$GNUSTEP_PREFIX\" | sed 's%/*$%%'`"
|
||||
GNUSTEP_PREFIX=`echo "$GNUSTEP_PREFIX" | sed 's%/*$%%'`
|
||||
|
||||
AC_MSG_RESULT($GNUSTEP_PREFIX)
|
||||
|
||||
|
@ -586,6 +586,11 @@ AC_SUBST(GNUSTEP_USER_DEFAULTS_DIR)
|
|||
AC_MSG_CHECKING(for GNUSTEP_MAKEFILES to use)
|
||||
AC_SUBST(GNUSTEP_MAKEFILES)
|
||||
AC_MSG_RESULT($GNUSTEP_MAKEFILES)
|
||||
# If GNUSTEP_MAKEFILES contains a space, we may have problems later
|
||||
# because make does not really support having spaces in filenames
|
||||
if echo "$GNUSTEP_MAKEFILES" | grep " " >/dev/null 2>&1; then
|
||||
AC_MSG_WARN([GNUSTEP_MAKEFILES ($GNUSTEP_MAKEFILES) contains spaces: this may not work])
|
||||
fi
|
||||
|
||||
#--------------------------------------------------------------------
|
||||
# Setting up the install-sh script
|
||||
|
@ -1208,8 +1213,8 @@ GCC_WITH_PRECOMPILED_HEADERS="no"
|
|||
if test ! "${GCC}" = "yes" ; then
|
||||
AC_MSG_RESULT(no: it's not gcc)
|
||||
else
|
||||
gs_precomp_test_log_file="`pwd`/config-precomp-test.log"
|
||||
gs_precomp_test_results=`(CC="$CC"; export CC; CFLAGS="$CFLAGS"; export CFLAGS; CPPLAGS="$CPPFLAGS"; export CPPFLAGS; LDFLAGS="$LDFLAGS"; export LDFLAGS; LIBS="$LIBS"; export LIBS; cd "$srcdir/config-precomp-test/"; ./run-test.sh "$gs_precomp_test_log_file"; echo $?) 2>&5`
|
||||
gs_precomp_test_builddir="`pwd`"
|
||||
gs_precomp_test_results=`(CC="$CC"; export CC; CFLAGS="$CFLAGS"; export CFLAGS; CPPLAGS="$CPPFLAGS"; export CPPFLAGS; LDFLAGS="$LDFLAGS"; export LDFLAGS; LIBS="$LIBS"; export LIBS; cd "$srcdir/config-precomp-test/"; ./run-test.sh "$gs_precomp_test_builddir"; echo $?) 2>&5`
|
||||
if test "$gs_precomp_test_results" = "0"; then
|
||||
GCC_WITH_PRECOMPILED_HEADERS="yes"
|
||||
AC_MSG_RESULT(yes)
|
||||
|
|
26
openapp.in
26
openapp.in
|
@ -32,8 +32,8 @@
|
|||
# (originally we had a separate script, called debugapp, for that).
|
||||
|
||||
if [ -z "$1" ]; then
|
||||
echo "usage: `basename "$0"` [--find] [--debug] application [arguments...]"
|
||||
echo "`basename "$0"` --help for more help"
|
||||
echo usage: `basename "$0"` [--find] [--debug] application [arguments...]
|
||||
echo `basename "$0"` --help for more help
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
@ -45,12 +45,12 @@ fi
|
|||
while [ x"$1" != x ]; do
|
||||
case "$1" in
|
||||
--help)
|
||||
echo "usage: `basename "$0"` [--find] [--debug] application [arguments...]"
|
||||
echo usage: `basename "$0"` [--find] [--debug] application [arguments...]
|
||||
echo
|
||||
echo "application is the complete or relative name of the application"
|
||||
echo "program with or without the .app extension, like Ink.app."
|
||||
echo
|
||||
echo "[arguments...] are the arguments to the application."
|
||||
echo "[arguments...] are the arguments to the application."
|
||||
echo
|
||||
echo "If --find is used, openapp prints out the full path of the application "
|
||||
echo "executable which would be executed, without actually executing it. It"
|
||||
|
@ -139,7 +139,7 @@ if [ -n "$GNUSTEP_USER_CONFIG_FILE" ]; then
|
|||
fi
|
||||
|
||||
if [ -z "$GNUSTEP_MAKEFILES" ]; then
|
||||
GNUSTEP_MAKEFILES=@GNUSTEP_MAKEFILES@
|
||||
GNUSTEP_MAKEFILES="@GNUSTEP_MAKEFILES@"
|
||||
fi
|
||||
# OK, we now have GNUSTEP_MAKEFILES, source GNUstep.sh
|
||||
|
||||
|
@ -150,7 +150,7 @@ fi
|
|||
# Also, we'd like to get the GNUSTEP_*_APPS directories so we can
|
||||
# search them, so tell GNUstep.sh to export all variabes.
|
||||
GNUSTEP_SH_EXPORT_ALL_VARIABLES=yes
|
||||
. $GNUSTEP_MAKEFILES/GNUstep.sh
|
||||
. "$GNUSTEP_MAKEFILES/GNUstep.sh"
|
||||
unset GNUSTEP_SH_EXPORT_ALL_VARIABLES
|
||||
|
||||
if [ -z "$GNUSTEP_IS_FLATTENED" ]; then
|
||||
|
@ -162,7 +162,7 @@ if [ -z "$GDB" ]; then
|
|||
fi
|
||||
|
||||
# Remove leading slashes at the end of the application name
|
||||
openapp_app="`echo \"$openapp_app\" | sed 's%/*$%%'`"
|
||||
openapp_app=`echo "$openapp_app" | sed 's%/*$%%'`
|
||||
|
||||
# Check if the user has provided the .app suffix; if not, add it.
|
||||
# Save the appname (without the .app suffix) if we have it, so
|
||||
|
@ -186,7 +186,7 @@ case "$openapp_app" in
|
|||
echo "Trying $openapp_app..."
|
||||
fi
|
||||
if [ -d "$openapp_app" ]; then
|
||||
openapp_full_appname="`(cd \"$openapp_app\"; pwd)`"
|
||||
openapp_full_appname=`(cd "$openapp_app"; pwd)`
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
|
@ -197,7 +197,7 @@ case "$openapp_app" in
|
|||
echo "Trying $openapp_dir/$openapp_app..."
|
||||
fi
|
||||
if [ -d "$openapp_dir/$openapp_app" ]; then
|
||||
openapp_full_appname="`(cd \"$openapp_dir/$openapp_app\"; pwd)`"
|
||||
openapp_full_appname=`(cd "$openapp_dir/$openapp_app"; pwd)`
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
@ -220,7 +220,7 @@ case "$openapp_app" in
|
|||
echo "Trying $openapp_dir/$openapp_app..."
|
||||
fi
|
||||
if [ -d "$openapp_dir/$openapp_app" ]; then
|
||||
openapp_full_appname="`(cd \"$openapp_dir/$openapp_app\"; pwd)`"
|
||||
openapp_full_appname=`(cd "$openapp_dir/$openapp_app"; pwd)`
|
||||
break
|
||||
fi
|
||||
fi
|
||||
|
@ -234,7 +234,7 @@ case "$openapp_app" in
|
|||
echo "Trying $openapp_dir/$openapp_app..."
|
||||
fi
|
||||
if [ -d "$openapp_dir/$openapp_app" ]; then
|
||||
openapp_full_appname="`(cd \"$openapp_dir/$openapp_app\"; pwd)`"
|
||||
openapp_full_appname=`(cd "$openapp_dir/$openapp_app"; pwd)`
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
@ -253,9 +253,9 @@ fi
|
|||
|
||||
# get base app name
|
||||
if [ -z "$openapp_appname" ]; then
|
||||
openapp_appname="`echo \"$openapp_app\" | sed 's/\.app$//'`"
|
||||
openapp_appname=`echo "$openapp_app" | sed 's/\.app$//'`
|
||||
fi
|
||||
openapp_appname="`basename \"$openapp_appname\"`"
|
||||
openapp_appname=`basename "$openapp_appname"`
|
||||
|
||||
if [ -z "$EXEEXT" ]; then
|
||||
EXEEXT=@EXEEXT@
|
||||
|
|
|
@ -116,9 +116,9 @@ case "$tool" in
|
|||
/*) # An absolute path.
|
||||
full_toolname="$tool";;
|
||||
*/*) # A relative path
|
||||
tool_dir="`dirname \"$tool\"`";
|
||||
tool_dir="`(cd \"$tool_dir\"; pwd)`";
|
||||
tool_name="`basename \"$tool\"`";
|
||||
tool_dir=`dirname "$tool"`;
|
||||
tool_dir=`(cd "$tool_dir"; pwd)`;
|
||||
tool_name=`basename "$tool"`;
|
||||
full_toolname="${tool_dir}/${tool_name}";;
|
||||
*) # A path that should be searched into GNUstep tool paths
|
||||
|
||||
|
|
|
@ -151,7 +151,7 @@ tmp_IFS="$IFS"
|
|||
IFS=/
|
||||
for component in $a; do
|
||||
if [ -n "$component" -a "$component" != "." ]; then
|
||||
if [ -z "$result" ]; then
|
||||
if [ "$result" = "." ]; then
|
||||
result=".."
|
||||
else
|
||||
result="$result/.."
|
||||
|
|
Loading…
Reference in a new issue