* configure.ac: Disable SHARED_SOLARIS on solaris2.[67]. Use

redirect to /dev/null rather than grep -q (due to non-Posix grep
on many OSs).
* Documentation/machines.texi: Update
* Documentation/README.Darwin: Update.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/tools/make/trunk@24526 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Adam Fedor 2007-02-13 15:44:34 +00:00
parent 7d76d18ac2
commit 02b1e5e2da
5 changed files with 63 additions and 52 deletions

View file

@ -1,3 +1,11 @@
2007-02-13 Adam Fedor <fedor@gnu.org>
* configure.ac: Disable SHARED_SOLARIS on solaris2.[67]. Use
redirect to /dev/null rather than grep -q (due to non-Posix grep
on many OSs).
* Documentation/machines.texi: Update
* Documentation/README.Darwin: Update.
2007-02-13 Nicola Pero <nicola.pero@meta-innovation.com>
* filesystem.sh: New file.

View file

@ -1,6 +1,5 @@
Date : 15-Jan-2004
Last update: 20041227 (tested under Mac OS X 10.3 / Darwin 7)
--> must be verified on x86-darwin-7, powerpc-apple-darwin-6
Last update: 20061231 (tested under Mac OS X 10.4 / Darwin 8)
Authors: Adam Fedor <fedor@gnu.org>
Quentin Mathé <qmathe@club-internet.fr>
Lars S.-Helldorf <lars.sonchocky-helldorf@hamburg.de>
@ -11,10 +10,6 @@ PURPOSE
This document is intended to provide a step by step instruction on how to get
the GNUstep installed on Mac OS X and Darwin.
Note: GNUstep seems to install on Mac OS X 10.2 / Darwin 6, but the bundles
support seems to be broken, then applications based on GNUstep-gui will not
work. (Must be verified)
COMMONLY USED SYMBOLS
---------------------
@ -55,19 +50,19 @@ see an instruction like 'make install', you usually need to use sudo
('sudo make install') or be logged in as root (not recommended).
libxml2 (Optional, highly recommended, already in
Mac OS X 10.3 / Darwin 7)
Mac OS X 10.3 / Darwin 7 and later)
libxslt (Optional)
libtiff (Required)
libjpeg (Optional, highly recommended)
libjpeg (Optional, highly recommended - don't get from fink!)
libpng (Optional, highly recommended)
libffi (Required, only contained in the GCC distributions and pyobjc)
ffcall (On Darwin x86 - use instead of libffi)
Xfree86 (Required, already in Mac OS X 10.3/Darwin 7)
Xfree86 (Required, already in Mac OS X 10.3/Darwin 7 and later)
libart2 (Optional, but required for art backend)
freetype2 (Optional, but required for art backend)
libart2 (Required for art backend)
freetype2 (Required for art backend)
dlcompat (Required, already in Mac OS X 10.3 or later)
@ -131,13 +126,6 @@ instead.
GNUstep on Darwin PowerPC
-------------------------
Haven't been able to get Apple GCC on Mac OS X 10.2 / Darwin 6 to compile
GNUstep-base. The compiler crashes with various errors. You need the FSF GCC
compiler here. You need at least version 3.3.2.
Version 3.3.5 seems to cause the fewest headaches, but later versions 3.4.x
don't work on Mac OS X / Darwin (because libobjc cannot be compiled, the
related GCC bug report is http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11572).
Building FSF-GCC
----------------
@ -188,6 +176,7 @@ Configure and build as follows (tested using gcc-3.3.2 on Mac OS X 10.2 and
make install
cd <gcc install dir>/lib
ln -s libobjc.a libobjc.dylib # So the linker sees us
# Note when using gcc 4 or greater, make sure this is libobjc-gnu.dylib
Setting up the GNUstep make environment
---------------------------------------
@ -284,8 +273,6 @@ Building and installing GNUstep-base
Go to GNUstep-base (or from CVS into the core/base directory).
Note: If you are using .
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:
@ -339,7 +326,7 @@ 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 --disable-gsnd [CC=<gcc install dir>/bin/gcc]
./configure [CC=<gcc install dir>/bin/gcc]
followed by:
@ -352,10 +339,10 @@ 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 with Fink:
Example:
./configure --disable-gsnd --with-jpeg-library=/sw/lib
--with-jpeg-include=/sw/include
./configure --with-jpeg-library=/usr/local/lib
--with-jpeg-include=/usr/local/include
Building and installing GNUstep-back
@ -386,7 +373,7 @@ it is missing a crucial include file and also has some undefined symbols. I
had to install the freetype2-dev package from fink and add this to my path
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>)
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:

View file

@ -86,12 +86,12 @@ Not an official gcc release. Some versions (Redhat, Mandrake) have problems
that prevent GNUstep from being compiled correctly and cause
mysterious errors. Not supported.
@item gcc 3.0.x
A fairly good compiler. Recommended.
A fairly good compiler.
@item gcc 3.1
Several bugs where introduced in the version. It's probably better to
avoid this one, although it might work fine.
@item gcc 3.2.x
Pretty good. Recommended.
Pretty good.
@item gcc 3.3.x
Recommended. Fixes some bugs relating to protocols as well as other
improvements.
@ -103,6 +103,8 @@ Probably OK. Did start triggering compiler errors on parts of base, but
there has been a workaround in base for that. Does not work on MacOSX.
@item gcc 4.0.1
Probably OK. This version should work on MacOSX.
@item gcc 4.1.x
4.1.0 and 4.1.1 don't work if you use precompiled headers.
@end table
If your having mysterious trouble with a machine, try compiling GNUstep
@ -172,33 +174,38 @@ complilers, different display systems, etc. For building GNUstep extensions
to be used with Mac OS X (for instance, if you want to build something based
on GNUstep, such as GSWeb or GNUMail), see the MacOSX/PowerPC section.
Currently tested on Darwin 6.x, 7.x
Currently tested on Darwin 6.x, 7.x, 8.x
@table @var
@item Recommended compiler
gcc 3.3.2 or greater 3.3.* versions.
gcc 4.x, gcc 3.3.2 or greater 3.3.* versions.
Older versions will not compile on Darwin and 3.4.* versions don't
support GNU runtime compilation on Darwin currently (The GCC bug report
is http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11572).
Default compiler (Apple GCC) has unknown problems.
Download the FSF GCC compiler and configure it with
Default compiler (Apple GCC) has problems, mostly because it tries
to link in Apple libraries that conflict with GNUstep.
Get the FSF gcc-4 compiler using fink or
download the FSF GCC compiler and configure it with
-enable-threads=posix. You don't need binutils or anything else.
Use the GNU runtime. Make sure to add
@example
export CC=/usr/local/bin/gcc (use the correct path to FSF gcc)
export CC=gcc-4 (or use the correct path to FSF gcc)
@end example
so that the correct compiler is found
@item Extra libs needed
Use libffi (not ffcall). This should be enabled by default in gnustep-base
so you don't have to type --enable-libffi. For 6.x, you need the dlcompat
library (from @url{www.opendarwin.org}) to load bundles (not needed for 7.x).
library (from @url{www.opendarwin.org}) to load bundles (not needed for 7.x
or later). libjpeg that comes with fink conflicts with the Apple libraries
and screw up other apps on Mac OSX (like X11).
@item Special Instructions
Read the @url{README.Darwin} file in the gnustep-make/Documentation
directory for complete instructions.
directory for complete instructions. If you compiled FSF gcc by hand,
make sure to rename to GNU libobjc library to libobjc-gnu.dylib
@end table

23
configure vendored
View file

@ -3297,7 +3297,7 @@ if test "$GNUSTEP_CONFIG_FILE" = "" -o "$GNUSTEP_CONFIG_FILE" = "no"; then
*) GNUSTEP_CONFIG_FILE=/etc/GNUstep/GNUstep.conf ;;
esac
fi
if echo "$GNUSTEP_CONFIG_FILE" | grep -q '[ \\]'
if echo "$GNUSTEP_CONFIG_FILE" | grep '[ \\] > /dev/null'
then
echo "found a backslash or space (illegal) in '$GNUSTEP_CONFIG_FILE'"
echo "Please try again using --with-config-file= to specify a valid path."
@ -3434,7 +3434,7 @@ fi;
if test "$GNUSTEP_SYSTEM_ROOT" = "" -o "$GNUSTEP_SYSTEM_ROOT" = "no"; then
GNUSTEP_SYSTEM_ROOT="$GNUSTEP_ROOT/System"
fi
if echo "$GNUSTEP_SYSTEM_ROOT" | grep -q '[ \\]'
if echo "$GNUSTEP_SYSTEM_ROOT" | grep '[ \\] > /dev/null'
then
echo "found a backslash or space (illegal) in '$GNUSTEP_SYSTEM_ROOT'"
echo "Please try again using --with-system-root= to specify a valid path."
@ -3469,7 +3469,7 @@ fi
if test "$GNUSTEP_LOCAL_ROOT" = ""; then
GNUSTEP_LOCAL_ROOT="$GNUSTEP_ROOT/Local"
fi
if echo "$GNUSTEP_LOCAL_ROOT" | grep -q '[ \\]'
if echo "$GNUSTEP_LOCAL_ROOT" | grep '[ \\] > /dev/null'
then
echo "found a backslash or space (illegal) in '$GNUSTEP_LOCAL_ROOT'"
echo "Please try again using --with-local-root= to specify a valid path."
@ -3506,7 +3506,7 @@ fi;
if test "$GNUSTEP_NETWORK_ROOT" = "" -o "$GNUSTEP_NETWORK_ROOT" = "no"; then
GNUSTEP_NETWORK_ROOT="$GNUSTEP_LOCAL_ROOT"
fi
if echo "$GNUSTEP_NETWORK_ROOT" | grep -q '[ \\]'
if echo "$GNUSTEP_NETWORK_ROOT" | grep '[ \\] > /dev/null'
then
echo "found a backslash or space (illegal) in '$GNUSTEP_NETWORK_ROOT'"
echo "Please try again using --with-network-root= to specify a valid path."
@ -3536,7 +3536,7 @@ fi;
if test "$GNUSTEP_USER_CONFIG_FILE" = "" -o "$GNUSTEP_USER_CONFIG_FILE" = "no"; then
GNUSTEP_USER_CONFIG_FILE=".GNUstep.conf"
fi
if echo "$GNUSTEP_USER_CONFIG_FILE" | grep -q '[ \\]'
if echo "$GNUSTEP_USER_CONFIG_FILE" | grep '[ \\] > /dev/null'
then
echo "found a backslash or space (illegal) in '$GNUSTEP_USER_CONFIG_FILE'"
echo "Please try again using --with-user-config-file= to specify a value."
@ -3568,7 +3568,7 @@ fi;
if test "$GNUSTEP_USER_DIR" = "" -o "$GNUSTEP_USER_DIR" = "no"; then
GNUSTEP_USER_DIR="GNUstep"
fi
if echo "$GNUSTEP_USER_DIR" | grep -q '[ \\]'
if echo "$GNUSTEP_USER_DIR" | grep '[ \\] > /dev/null'
then
echo "found a backslash or space (illegal) in '$GNUSTEP_USER_DIR'"
echo "Please try again using --with-user-dir= to specify a value."
@ -3598,7 +3598,7 @@ fi;
if test "$GNUSTEP_USER_DEFAULTS_DIR" = "" -o "$GNUSTEP_USER_DEFAULTS_DIR" = "no"; then
GNUSTEP_USER_DEFAULTS_DIR="GNUstep/Defaults"
fi
if echo "$GNUSTEP_USER_DEFAULTS_DIR" | grep -q '[ \\]'
if echo "$GNUSTEP_USER_DEFAULTS_DIR" | grep '[ \\] > /dev/null'
then
echo "found a backslash or space (illegal) in '$GNUSTEP_USER_DEFAULTS_DIR'"
echo "Please try again using --with-user-defaults-dir= to specify a value."
@ -4421,9 +4421,14 @@ if test ! ${GCC} = "yes" ; then
echo "${ECHO_T}no: it's not gcc" >&6
else
if test "${gs_cv_gcc_major_version}" -ge "4" ; then
SOLARIS_SHARED=yes
echo "$as_me:$LINENO: result: yes: gcc version is ${gs_cv_gcc_parsed_version} >= 4.0" >&5
if test "$host_os" = "solaris2.7" -o $"host_os" = "solaris2.6"; then
echo "$as_me:$LINENO: result: no: solaris 2.6 or 2.7" >&5
echo "${ECHO_T}no: solaris 2.6 or 2.7" >&6
else
SOLARIS_SHARED=yes
echo "$as_me:$LINENO: result: yes: gcc version is ${gs_cv_gcc_parsed_version} >= 4.0" >&5
echo "${ECHO_T}yes: gcc version is ${gs_cv_gcc_parsed_version} >= 4.0" >&6
fi
else
echo "$as_me:$LINENO: result: no: gcc version is ${gs_cv_gcc_parsed_version} < 4.0" >&5
echo "${ECHO_T}no: gcc version is ${gs_cv_gcc_parsed_version} < 4.0" >&6

View file

@ -208,7 +208,7 @@ if test "$GNUSTEP_CONFIG_FILE" = "" -o "$GNUSTEP_CONFIG_FILE" = "no"; then
*) GNUSTEP_CONFIG_FILE=/etc/GNUstep/GNUstep.conf ;;
esac
fi
if echo "$GNUSTEP_CONFIG_FILE" | grep -q '[[ \\]]'
if echo "$GNUSTEP_CONFIG_FILE" | grep '[[ \\]] > /dev/null'
then
echo "found a backslash or space (illegal) in '$GNUSTEP_CONFIG_FILE'"
echo "Please try again using --with-config-file= to specify a valid path."
@ -344,7 +344,7 @@ GNUSTEP_SYSTEM_ROOT="$withval",)
if test "$GNUSTEP_SYSTEM_ROOT" = "" -o "$GNUSTEP_SYSTEM_ROOT" = "no"; then
GNUSTEP_SYSTEM_ROOT="$GNUSTEP_ROOT/System"
fi
if echo "$GNUSTEP_SYSTEM_ROOT" | grep -q '[[ \\]]'
if echo "$GNUSTEP_SYSTEM_ROOT" | grep '[[ \\]] > /dev/null'
then
echo "found a backslash or space (illegal) in '$GNUSTEP_SYSTEM_ROOT'"
echo "Please try again using --with-system-root= to specify a valid path."
@ -378,7 +378,7 @@ fi
if test "$GNUSTEP_LOCAL_ROOT" = ""; then
GNUSTEP_LOCAL_ROOT="$GNUSTEP_ROOT/Local"
fi
if echo "$GNUSTEP_LOCAL_ROOT" | grep -q '[[ \\]]'
if echo "$GNUSTEP_LOCAL_ROOT" | grep '[[ \\]] > /dev/null'
then
echo "found a backslash or space (illegal) in '$GNUSTEP_LOCAL_ROOT'"
echo "Please try again using --with-local-root= to specify a valid path."
@ -414,7 +414,7 @@ GNUSTEP_NETWORK_ROOT="$withval",)
if test "$GNUSTEP_NETWORK_ROOT" = "" -o "$GNUSTEP_NETWORK_ROOT" = "no"; then
GNUSTEP_NETWORK_ROOT="$GNUSTEP_LOCAL_ROOT"
fi
if echo "$GNUSTEP_NETWORK_ROOT" | grep -q '[[ \\]]'
if echo "$GNUSTEP_NETWORK_ROOT" | grep '[[ \\]] > /dev/null'
then
echo "found a backslash or space (illegal) in '$GNUSTEP_NETWORK_ROOT'"
echo "Please try again using --with-network-root= to specify a valid path."
@ -446,7 +446,7 @@ GNUSTEP_USER_CONFIG_FILE="$withval",)
if test "$GNUSTEP_USER_CONFIG_FILE" = "" -o "$GNUSTEP_USER_CONFIG_FILE" = "no"; then
GNUSTEP_USER_CONFIG_FILE=".GNUstep.conf"
fi
if echo "$GNUSTEP_USER_CONFIG_FILE" | grep -q '[[ \\]]'
if echo "$GNUSTEP_USER_CONFIG_FILE" | grep '[[ \\]] > /dev/null'
then
echo "found a backslash or space (illegal) in '$GNUSTEP_USER_CONFIG_FILE'"
echo "Please try again using --with-user-config-file= to specify a value."
@ -480,7 +480,7 @@ GNUSTEP_USER_DIR="$withval",)
if test "$GNUSTEP_USER_DIR" = "" -o "$GNUSTEP_USER_DIR" = "no"; then
GNUSTEP_USER_DIR="GNUstep"
fi
if echo "$GNUSTEP_USER_DIR" | grep -q '[[ \\]]'
if echo "$GNUSTEP_USER_DIR" | grep '[[ \\]] > /dev/null'
then
echo "found a backslash or space (illegal) in '$GNUSTEP_USER_DIR'"
echo "Please try again using --with-user-dir= to specify a value."
@ -513,7 +513,7 @@ GNUSTEP_USER_DEFAULTS_DIR="$withval",)
if test "$GNUSTEP_USER_DEFAULTS_DIR" = "" -o "$GNUSTEP_USER_DEFAULTS_DIR" = "no"; then
GNUSTEP_USER_DEFAULTS_DIR="GNUstep/Defaults"
fi
if echo "$GNUSTEP_USER_DEFAULTS_DIR" | grep -q '[[ \\]]'
if echo "$GNUSTEP_USER_DEFAULTS_DIR" | grep '[[ \\]] > /dev/null'
then
echo "found a backslash or space (illegal) in '$GNUSTEP_USER_DEFAULTS_DIR'"
echo "Please try again using --with-user-defaults-dir= to specify a value."
@ -984,8 +984,12 @@ if test ! ${GCC} = "yes" ; then
AC_MSG_RESULT(no: it's not gcc)
else
if test "${gs_cv_gcc_major_version}" -ge "4" ; then
SOLARIS_SHARED=yes
AC_MSG_RESULT(yes: gcc version is ${gs_cv_gcc_parsed_version} >= 4.0)
if test "$host_os" = "solaris2.7" -o $"host_os" = "solaris2.6"; then
AC_MSG_RESULT(no: solaris 2.6 or 2.7)
else
SOLARIS_SHARED=yes
AC_MSG_RESULT(yes: gcc version is ${gs_cv_gcc_parsed_version} >= 4.0)
fi
else
AC_MSG_RESULT(no: gcc version is ${gs_cv_gcc_parsed_version} < 4.0)
fi