Mail Archives: djgpp-workers/1999/12/23/15:19:43
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 -