delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp-workers/1999/12/23/15:19:43

Date: Thu, 23 Dec 1999 21:40:19 +0200 (WET)
From: Andris Pavenis <pavenis AT lanet DOT lv>
To: =?iso-8859-2?Q?Wojciech_Ga=B3=B1zka?= <wojciech DOT galazka AT polkomtel DOT com DOT pl>
cc: "'djgpp-workers AT delorie DOT com'" <djgpp-workers AT delorie DOT com>
Subject: Re: Fwd new release of LFN for Windows NT 4.0 - attached file
In-Reply-To: <13288F4408ADD11186FF0060B06A431303341245@MSGWAW1>
Message-ID: <Pine.A41.4.05.9912232118410.62264-100000@ieva01.lanet.lv>
MIME-Version: 1.0
X-MIME-Autoconverted: from QUOTED-PRINTABLE to 8bit by delorie.com id OAA17582
Reply-To: djgpp-workers AT delorie DOT com
X-Mailing-List: djgpp-workers AT delorie DOT com
X-Unsubscribes-To: listserv AT delorie DOT com


On Thu, 23 Dec 1999, [iso-8859-2] Wojciech Gał±zka wrote:

> Hi,
> This is the file that was to be attacjed to my previous message
> --
> PAckages under fire :-)
> 	autocnf2.12	bash1147	binutil-2.81
> 	bison-1.25	filutil3.16	findutil.41
> 	flex-2.5-4	gawk-3.0-3	gcc-2.81
> 	gdb-4.16	grep-2.2	gzip-1.24a
> 	less-332	libgxx-2.811	m4-1.4
> 	make-3.77	patch-2.5	perl-5.005
> 	sed-3.02	sh-util1.12	tar-1.12
> 	texinfo3.12	txtutil1.22
> 
> autocnf
> 	didin't find perl, had to write info about perl manually
> 	make completed
> 	make check not possibke due to lack of DejaGNU

> binutils
> 	not been able to run even configure.bat
> 	test abandoned

Forget binutils-2.8.1. 

Try script I'm including below (build-binutils.sh) with binutils-2.9.1
or recent development snapshots. It is rather long as
I'm using it both for building native binutils for DJGPP and
cross-binutils under Linux.
           
> gdb
> `	with the current port of GDB to DOS it is impossible to use LFN
> under NT
> 	for example calls are made to 'libiberty.sed' while 'libibert.sed'
> only
> 	exists
> 	further tests abandoned

As I remeber building gdb-4.16 were like a nightmare. 
DJGPP port of gdb-4.18 builds Ok for me with LFN=Y
(at least under Win95) 

> gcc
> 	not even though of running build.djg/configure.bat 
> 	make check completed, reported 'No DOS memory' 
> 	touch complains about 'Input or output error EIO'
> 	near the end of makefile execution a message appears
> 	'c:/djgpp/lib/libc.a (doprnt.o) doprnt.o indefined reference to
> 		__umoddi3, __udivdi3'
> 	further tests abandoned	

I suggest getting gcc2952s.zip and trying once more. 

Or even better: get gcc2952s2.zip, gcc-2.95.2.tar.gz,
libg++-2.8.1.3.tar.gz and generate gcc2952s.zip and build
gcc using bat files and scripts I put there.

At least under Win95 I 
	- unpack gcc2952s2.zip in some directory
	- copy gcc-2.95.2.tar.gz and libg++-2.8.1.3.tar.gz to the
	  same directory
        - run all.bat and after about 3 hours (on P200MMX) I have all
          distribution archives (last time there were no changes before
	  uploading them to ftp.delorie.com)     

You need INFO-ZIP compiled with DJGPP for that.

Under Win9X the descriptor leaks related problems are actual. So
I had to split all process into parts and run them from bat file
as returning to bat file seems to reset DPMI server.

One more note: You need DJGPP port of bash-2.0.3. Old bash-1.14.7 may work
and may also not work.

Andris


-------------------  build-binutils.sh  ---------------------
#! /bin/sh
########################################################
#  Edit the next line and specify actual version of
#  binutils (eg. VERSION=2.9.1 for binutils-2.9.1)
########################################################
#
VERSION=${1-991027}
#
#-------------------------------------------------------
#
NAME=binutils-${VERSION}
PWD=`pwd`
CONF_OPT="--target=i586-pc-msdosdjgpp"
PREFIX=/usr
#
#-------------------------------------------------------
#
HOST=`(cd binutils-$VERSION; ./config.guess)`
########################################################
#  For native build we should check whether new features of
#  DJGPP v2.03 are supported.
########################################################
case ${HOST} in i[3456]86-*-msdosdjgpp) 
	CONF_OPT="--target=${HOST}"
	(
	   echo '#include <unistd.h>'
	   echo 'int main(void) { access("/dev/env/DJDIR/bin/gcc.exe",0) ? 0 : 1; }'
	) | gcc -x c -O2 - -o ${TMPDIR}/test1.exe

	${TMPDIR}/test1.exe && PREFIX=/dev/env/DJDIR
	rm ${TMPDIR}/test1.exe
	;; 
esac
#
#-------------------------------------------------------
#
case ${VERSION} in 2.8.*|2.9.0) echo Version not supported. Exitting; exit 1;;
                   2.9.1) ;;
		   *) CONF_OPT="$CONF_OPT --with-included-gettext --disable-nls" ;;
esac
#
#-------------------------------------------------------
#
( cd ${NAME} 

########################################################
#  For 2.9.1 we need some additional patches
########################################################
case ${VERSION} in 2.9.1)
patch --verbose --backup -N -p1 << 'EOF'
--- binutils-2.9.1/gas/config/te-go32.h.orig	Fri May  1 15:44:48 1998
+++ binutils-2.9.1/gas/config/te-go32.h	Thu Mar  4 20:13:56 1999
@@ -6,7 +6,7 @@
 #define LOCAL_LABELS_FB 1
 
 #define TARGET_FORMAT "coff-go32"
-
+#define TE_GO32
 /* GAS should treat '.align value' as an alignment of 2**value */
 #define USE_ALIGN_PTWO
 
--- binutils-2.9.1/gas/config/tc-i386.h.orig	Fri May  1 15:44:40 1998
+++ binutils-2.9.1/gas/config/tc-i386.h	Thu Mar  4 20:13:56 1999
@@ -141,9 +141,11 @@
 #ifndef BFD_ASSEMBLER
 #ifndef OBJ_AOUT
 #ifndef TE_PE
+#ifndef TE_GO32
 /* Local labels starts with .L */
 #define LOCAL_LABEL(name) (name[0] == '.' \
 		 && (name[1] == 'L' || name[1] == 'X' || name[1] == '.'))
+#endif
 #endif
 #endif
 #endif
EOF
;;
esac
)
########################################################
case x-$HOST in 
	x-*-pc-msdosdjgpp) 
		CONFIG_SHELL=`echo 'echo $0' | bash.exe -`
		case ${CONFIG_SHELL} in *.exe) ;;
			*) echo "Seems that ${CONFIG_SHELL} is symbolic link: Appending '.exe'";
			   CONFIG_SHELL=${CONFIG_SHELL}.exe;
			   test -f ${CONFIG_SHELL} || exit 1
			   ;;
		esac;
		
		export CONFIG_SHELL		
		export LD=ld
		export CC=gcc
		export ac_cv_prog_LN_S=cp
		export ac_cv_prog_LN=cp
		export AWK=gawk
		export am_cv_exeext=.exe
		export ac_cv_path_install="ginstall -c"
		export MSGFMT=msgfmt
		test -f $DJDIR/bin/msgfmt.exe && export ac_cv_path_MSGFMT=msgfmt
		test -f $DJDIR/bin/xgettext.exe && export ac_cv_path_XGETTEXT=xgettext
		export LEX=flex
		export RANLIB=ranlib
		CONF_OPT="--prefix=${PREFIX} --host=$HOST $CONF_OPT"
		DTOU=dtou
		INSTALL_DIR=`pwd | sed -e 's,[a-z][:],,g'`/install.djg
	        ;;
	*) 
		CONF_OPT="--prefix=${PREFIX} --disable-shared ${CONF_OPT}" 
		DTOU=touch
		INSTALL_DIR=`pwd`/install.djg/usr
		;;
esac;
#
(
  mkdir build.djg;
  mkdir install.djg;
  cd build.djg;
  case x-$HOST in 
	x-*-pc-msdosdjgpp) 
		echo CONFIG_SHELL=${CONFIG_SHELL}
		CFLAGS=-O2 PATH_SEPARATOR=: ../${NAME}/configure ${CONF_OPT}; 
		for file in `find . -name 'libtool'`; do 
			${DTOU} $file; 
		done
		;;
	*)
	        CFLAGS=-O2 ../${NAME}/configure ${CONF_OPT}; 
		;;
  esac;

  make;
  
  make install install-info prefix=${INSTALL_DIR}
)


case x-$HOST in x-*-pc-msdosdjgpp)
	case ${VERSION} in 2.9.1) VER1=2.91; VER2=291b ;; 
			   *) VER1=${VERSION}; VER2=${VERSION} ;;
	esac;

	top=`pwd`
	cd install.djg
	mkdir manifest
	mkdir gnu
	mkdir gnu/bnu-${VER1}
	touch manifest/bnu-${VER2}.mft
	echo "bnu-${VER2}.zip : Binutils ${VERSION} binary archive for DJGPP" >manifest/bnu-${VER2}.ver
	cp ${top}/build-binutils.sh gnu/bnu-${VER1}/build-binutils.sh

	#############################################################################
	#  With LFN enabled info files are installed with names that are not valid
	#  for MS-DOS. Let's fix that
	#############################################################################
	for file in info/*.info*; do
		echo Processing $file
		case ${file} in
			*.info) cat $file | \
				awk 'substr($0,1,9)=="Indirect:" { active=1; } \
				     substr($0,1,10)=="Tag Table:" { active=0; } \
				     { if (active) gsub("info-","i"); \
			               print $0 }' > $file;
				;;
			*)	mv ${file} `echo $file | sed -e 's,[.]info-,.i,g'`
				;;
		esac
	done
	#############################################################################
	#	Strip executables 
	#############################################################################
	for file in bin/*.exe; do
		strip -v ${file}
	done
	#############################################################################


	(
		find man -type f
		find lib -name '*.a'
		find info -name '*.i*'
		find include -name '*.h'
		find bin -name '*.exe'
		find manifest -name "/bnu_${VER}.*"
		echo gnu/bnu-${VER1}/build-binutils.sh
	) | sort >manifest/bnu-${VER2}.mft

	
	zip -9 ../bnu-${VER2}.zip `cat manifest/bnu-${VER2}.mft`
	cd ${top}
;;

*) 
#  Building binary package not supported for cross-compiling

;;
esac;
--------------------------------------------------------------------

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019