This e-mail contains: - a patch to make/GNUmakefile.in - a new file make/cygpath.sh - a patch to make/GNUstep.sh.in
The patch to make/GNUmakefile.in installs a new mini-utility called "cygpath.sh", used for MinGW32 targets. cygpath.sh emulates the cygpath utility provided with CygWin on Windows, and is included here in case the cygpath functionality is removed from a future version of CygWin. cygpath (whether provided by CygWin or cygpath.sh) converts to and from unix paths and the funny mounting system used by cygwin to get around Windows drive letters. This proves to be a pain when compiling GNUstep and I have found the best way to compile things is to specify absolute paths with drive letters, since they are unambiguous. Unfortunately the PATH environment variable gets confused if you use "C:/foo" paths since the ":" is the path separator as well. So cygpath is used to mangle the absolute paths to put into $PATH. The patch to make/GNUstep.sh.in uses cygpath or the cygpath utility to mangle the absolute Windows paths into the PATH environment variable, and also uses a Windows-aware method of getting a user's home directory: instead of "~" it uses $HOMEDRIVE/$HOMEPATH Stephen Brandon [EMAIL PROTECTED]
Index: make/GNUmakefile.in =================================================================== RCS file: /cvsroot/gnustep/gnustep/core/make/GNUmakefile.in,v retrieving revision 1.52 diff -r1.52 GNUmakefile.in 123c123 < GNUstep.csh ld_lib_path.csh ; do \ --- > GNUstep.csh ld_lib_path.csh cygpath.sh ; do \
#! /bin/sh # # cygpath.sh # # Cygwin "cygpath" emulation script for use when cross-compiling # to a Windows target from a non-Cygwin environment. # # Copyright (C) 2001 Free Software Foundation, Inc. # # Author: Stephen Brandon <[EMAIL PROTECTED]> # # This file is part of the GNUstep Makefile Package. # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License # as published by the Free Software Foundation; either version 2 # of the License, or (at your option) any later version. # # You should have received a copy of the GNU General Public # License along with this library; see the file COPYING.LIB. # If not, write to the Free Software Foundation, # 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # if [ ! $# -eq 2 ]; then quit="yes" fi test "$1" = '-u' || test "$1" = '-w' || quit="yes" if [ "$quit" = "yes" ]; then echo "Usage: $0 (-u)|(-w) filename" echo "Options:" echo " -u print Unix form of filename" echo " -w print Windows form of filename" exit 1 fi operation=$1 file=$2 # convert to Unix style file name if [ "$operation" = "-u" ]; then file=`echo "$file" | tr '\\\' '/'` echo $file | sed 's/^\([a-zA-Z]\):\(.*\)$/\/cygdrive\/\1\2/' exit 0 fi # convert to Windows style file name file=`echo $file | sed 's/^\(\/cygdrive\)\?\/\([a-zA-Z]\)\(\/.*\)$/\2:\3/'` file=`echo "$file" | tr '/' '\\\'` echo $file
Index: make/GNUstep.sh.in =================================================================== RCS file: /cvsroot/gnustep/gnustep/core/make/GNUstep.sh.in,v retrieving revision 1.50 diff -r1.50 GNUstep.sh.in 34a35,37 > GNUSTEP_MAKEFILES=$GNUSTEP_SYSTEM_ROOT/Makefiles > export GNUSTEP_MAKEFILES > 37c40,70 < GNUSTEP_USER_ROOT=~/GNUstep --- > > if [ ! -z "$WINDIR" ]; then > GNUSTEP_USER_ROOT=`echo $HOMEDRIVE/$HOMEPATH/GNUstep | tr '\\\' '/'` > else > GNUSTEP_USER_ROOT=~/GNUstep > fi > > ac_save_ifs="$IFS"; IFS=":" > > CYGPATH= > ac_word=cygpath.exe > ac_dummy="$PATH" > for ac_dir in $ac_dummy; do > test -z "$ac_dir" && ac_dir=. > if test -f $ac_dir/$ac_word; then > CYGPATH=$ac_word > break > fi > done > > IFS="$ac_save_ifs" > > if [ -z "$CYGPATH" ]; then > CYGPATH=$GNUSTEP_MAKEFILES/cygpath.sh > fi > > # test to see if GNUSTEP_ROOT is in Win32 standard form and flag it > if [ -z "`echo $GNUSTEP_SYSTEM_ROOT | sed 's|^[a-zA-Z]:/.*$||'`" ]; then > CONVERT_WIN_PATHS=yes > fi > 40,41d72 < GNUSTEP_MAKEFILES=$GNUSTEP_SYSTEM_ROOT/Makefiles < export GNUSTEP_MAKEFILES 75c106,114 < GNUSTEP_PATHPREFIX_LIST=$GNUSTEP_USER_ROOT:$GNUSTEP_LOCAL_ROOT:$GNUSTEP_NETWORK_ROOT:$GNUSTEP_SYSTEM_ROOT --- > if [ "$CONVERT_WIN_PATHS" = "yes" ]; then > G_U_R=`$CYGPATH -u "$GNUSTEP_USER_ROOT"` > G_L_R=`$CYGPATH -u "$GNUSTEP_LOCAL_ROOT"` > G_N_R=`$CYGPATH -u "$GNUSTEP_NETWORK_ROOT"` > G_S_R=`$CYGPATH -u "$GNUSTEP_SYSTEM_ROOT"` > GNUSTEP_PATHPREFIX_LIST=$G_U_R:$G_L_R:$G_N_R:$G_S_R > else > >GNUSTEP_PATHPREFIX_LIST=$GNUSTEP_USER_ROOT:$GNUSTEP_LOCAL_ROOT:$GNUSTEP_NETWORK_ROOT:$GNUSTEP_SYSTEM_ROOT > fi 77a117 > 103c143,147 < gnustep_class_path="$GNUSTEP_USER_ROOT/Libraries/Java:$GNUSTEP_LOCAL_ROOT/Libraries/Java:$GNUSTEP_NETWORK_ROOT/Libraries/Java:$GNUSTEP_SYSTEM_ROOT/Libraries/Java" --- > if [ "$CONVERT_WIN_PATHS" = "yes" ]; then > >gnustep_class_path="$G_U_R/Libraries/Java:$G_L_R/Libraries/Java:$G_N_R/Libraries/Java:$G_S_R/Libraries/Java" > else > >gnustep_class_path="$GNUSTEP_USER_ROOT/Libraries/Java:$GNUSTEP_LOCAL_ROOT/Libraries/Java:$GNUSTEP_NETWORK_ROOT/Libraries/Java:$GNUSTEP_SYSTEM_ROOT/Libraries/Java" > fi
