Adam Fedor wrote:

 >> -----Original Message----- From: Fred Kiefer
 >> [mailto:[EMAIL PROTECTED]] Sent: Wednesday, March 06, 2002 7:11 PM 
To: [EMAIL PROTECTED]
 >>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 
[EMAIL PROTECTED])"
  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