[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: GNUstep under mingw
From: |
Fred Kiefer |
Subject: |
Re: GNUstep under mingw |
Date: |
Fri, 08 Mar 2002 00:52:16 +0100 |
User-agent: |
Mozilla/5.0 (Windows; U; Windows NT 5.0; de-DE; rv:0.9.4) Gecko/20011019 Netscape6/6.2 |
Adam Fedor wrote:
>> -----Original Message----- From: Fred Kiefer
>> [mailto:fredkiefer@gmx.de] Sent: Wednesday, March 06, 2002 7:11 PM
To: bug-gnustep@gnu.org
>>Subject: GNUstep under mingw
>>
>>GNUSTEP_SYSTEM_ROOT/Tools directory. For this to work also the
>>environment variable GNUSTEP_TARGET_OS has to be set to
>>mingw32, which
>>is not mentioned in the README.mingw.
>>
>
> I think it says to use
>
> make target=i386-mingw32,
>
> which should work also
>
Yes it does say the following:
If you get tired of typing "target=i386-mingw32" all the time, then before
you exec the GNUstep.sh script, just set the GNUSTEP_HOST:
export GNUSTEP_HOST=i586-pc-mingw32
. $GNUSTEP_SYSTEM_ROOT/Makefiles/GNUstep.sh
And a simple mind, as I am one might think after that the setting
GNUSTEP_HOST would be equivalent to supplying target=XX which it is not.
So just for those stupid ones that take thinks just as they read out,
please correct those lines.
>
>>references
>>to `__nszone_private_hidden_default_zone' follow
>>make[1]: ***
>>[shared_obj/ix86/mingw32/gnu-gnu-gnu/benchmark.exe] Error 1
>>make: *** [benchmark.all.test-tool.variables] Error 2
>
> There is a mechanism for exporting functions and variables. See the
GS_EXPORT definition (NSObjCRuntime.h). There's
> one for __nszone_private... so I don't know why you got that error.
I haven't tried to compile anything recently on mingw, so it's possible
something has changed.
The question is, why is this not working out for me? There is also the
question if as the mail from Richard seems to suggest I am just too dump
to get it running, or if there is a real problem. Actually I don't mind
that tone of voice, as I happen to know Richard, but to another user of
GNUstep faced with a similar problem I would not find this appropriate.
GNUstep under mingw is basically un-tested Stephan Brandon and Richard
did get it running, but as far as I know there are not many other
positive reports on this. I tried to get it working using the
complie-mingw script from Stephan, which I did adjust to my needs. And I
also think that I have enough GNUstep (and MS Windows) experience to
tell that if I run into trouble something most be broken with GNUstep on
MS Windows.
For me it was not possible to build it without downloading the libxml2,
as the compilation would just stop. As these might also be caused by the
specific Windows version each of us is using, here is mine: W2000
Professional with a current cygwin and a mingw from November.
When runnin objdump I get the following:
$ objdump -t
c:/users/kiefer/GNUstep/cygwin/usr/GNUstep/System/Libraries/ix86/mingw32/gnu-gnu-gnu/libgnustep-base.a
| grep private
[ 7](sec 5)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000
__imp____nszone_private_hidden_default_zone
kiefer@XANTHUS ~/GNUstep/core/base/Testing
$ objdump -t
c:/users/kiefer/GNUstep/cygwin/usr/GNUstep/System/Tools/ix86/mingw
32/gnu-gnu-gnu/gnustep-base.dll | grep private
[21206](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00036664
___nszone_private_hidden_default_zone
This looks like there is one more underscore in the exported variable
than expected.
Cheers Fred
#!/bin/sh
#
# Run this script as root to configure, compile and install
# gnustep-make, gnustep-base, gnustep-gui, gnustep-xgps
# with a single command
#
# Examples:
#
# ./compile-mingw
#
# <uses `--prefix=c:/GNUstep' as option to configure>
#
# ./compile-all c:/usr/local/GNUstep
#
# <uses `--prefix=c:/usr/local/GNUstep' as option to configure>
#
if [ root != "`whoami`" -a Administrator != "`whoami`" ]; then
echo "You need to be Administrator or root"
# exit 1
fi
if [ "$1" != "" ]; then
prefix="$1"
else
prefix="c:/users/kiefer/GNUstep/cygwin/usr/GNUstep"
fi
if gmake -v >/dev/NULL 2>&1
then
MAKE=gmake
else
MAKE=/usr/bin/make
fi
cd make
export GNUSTEP_TARGET_OS=mingw32
export GNUSTEP_HOST_OS=mingw32
export GNUSTEP_HOST=i386-pc-mingw32
echo "**************************"
echo "* About to configure and *"
echo "* compile the makefile *"
echo "* package (gnustep-make) *"
echo "**************************"
./configure --target=i386-mingw32 --prefix=$prefix --host=mingw32
$MAKE
$MAKE install
. $prefix/System/Makefiles/GNUstep.sh
echo
echo "checking for updated libobjc in "$GNUSTEP_ROOT"..."
if [ ! -f $GNUSTEP_SYSTEM_ROOT/Libraries/ix86/mingw32/libobjc.a ]; then
echo "not installed yet"
echo
"*******************************************************************************"
echo "Before running this script again, please download the
gnustep-objc-1.0.1.tar.gz package from www.gnustep.org."
echo "... unpack it and do the following:"
echo "cd gnustep-objc-1.0.1"
echo "export GNUSTEP_HOST_OS=mingw32"
echo "." $GNUSTEP_SYSTEM_ROOT"/Makefiles/GNUstep.sh"
echo "make target=i386-mingw32 shared=yes install"
echo
echo "Then return to this directory and run this script again to continue."
echo
"*******************************************************************************"
exit
fi
echo "found"
echo "checking for libffcall libraries in "$GNUSTEP_ROOT"..."
if [ ! -f $GNUSTEP_SYSTEM_ROOT/Libraries/ix86/mingw32/libcallback.a ]; then
echo "not installed yet"
echo
echo
"*******************************************************************************"
echo "Before running this script again, please download the
ffcall-1.8b.tar.gz (or "
echo "later) package from www.gnustep.org."
echo "Unpack it and do the following:"
echo "./compile-mingw-ffcall"
echo "(if that script is not in the package, get one from
stephen@brandonitconsulting.co.uk)"
echo
echo "Then return to this directory and run this script again to continue."
echo
"*******************************************************************************"
exit
fi
echo "found"
echo "**************************"
echo "* About to configure and *"
echo "* compile the gnustep *"
echo "* foundation package *"
echo "* (gnustep-base) *"
echo "**************************"
cd ../base
./configure --target=i386-mingw32 --prefix=$prefix --host=mingw32
$MAKE shared=yes target=i386-mingw32 install
echo "**************************"
echo "* About to configure and *"
echo "* compile the gnustep *"
echo "* AppKit package *"
echo "* (gnustep-gui) *"
echo "**************************"
cd ../gui
./configure --target=i386-mingw32 --prefix=$prefix
$MAKE shared=yes target=i386-mingw32 install
#cd ../xgps
#./configure --prefix=$prefix
#$MAKE
#$MAKE install