bug-gnustep
[Top][All Lists]
Advanced

[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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]