From: "Juan Manuel Guerrero" Organization: Darmstadt University of Technology To: Bruno Haible Date: Tue, 27 Feb 2001 18:29:41 +0200 MIME-Version: 1.0 Content-type: text/plain; charset=US-ASCII Content-transfer-encoding: 7BIT Subject: Re: DJGPP specific patch for libiconv-1.5.1 CC: Eli Zaretskii , djgpp-workers AT delorie DOT com X-mailer: Pegasus Mail for Windows (v2.54DE) Message-ID: <331228C51C9@HRZ1.hrz.tu-darmstadt.de> Reply-To: djgpp-workers AT delorie DOT com patch 3/4 diff -acprNC5 libiconv-20010226.orig/djgpp/makefile.sed libiconv-20010226/djgpp/makefile.sed *** libiconv-20010226.orig/djgpp/makefile.sed Thu Jan 1 00:00:00 1970 --- libiconv-20010226/djgpp/makefile.sed Mon Feb 26 23:42:36 2001 *************** *** 0 **** --- 1,16 ---- + # Fixes for lib/Makefile.in + s|encodings\.def|encodings/&|g + s|encodings_aix\.def|encodings/aix.def|g + s|encodings_dos\.def|encodings/dos\.def|g + s|encodings_local\.def|encodings/local\.def|g + s|aliases\.h|aliases/&|g + s|aliases_aix\.h|aliases/aix.h|g + s|aliases_dos\.h|aliases/dos\.h|g + s|aliases_local\.h|aliases/local\.h|g + + + # Fixes for tests/Makefile.in + /^check[ ]*:.*table-from[ ]*table-to/,/^$/ s,^ \+\$(srcdir)/, $(SHELL) $(srcdir)/, + s/check-stateless/stateless-check/g + s/check-stateful/stateful-check/g + s/check-translit/translit-check/g diff -acprNC5 libiconv-20010226.orig/djgpp/readme libiconv-20010226/djgpp/readme *** libiconv-20010226.orig/djgpp/readme Thu Jan 1 00:00:00 1970 --- libiconv-20010226/djgpp/readme Tue Feb 27 17:10:48 2001 *************** *** 0 **** --- 1,122 ---- + This is a port of GNU Libiconv 1.6 to MSDOS/DJGPP. + + 1.: DJGPP specific changes. + ======================= + There are no DJGPP specific changes. This package should + configure and compile out-of-the-box. + Please read the documentation to become familiar with this + product. + + + 2.: Installing the binary package. + ============================== + + 2.1.: Copy the binary distribution into the top DJGPP installation + directory and unzip the binary distribution running *ONE* of + the following commands: + unzip32 licv16b.zip or + djtarx licv16b.zip or + pkunzip -d licv16b.zip + + + + 3.: Building the binaries from sources. + =================================== + + 3.1.: To build the binaries you will need the following binary packages: + djdev203.zip, bsh204b.zip, gcc2952b.zip, + bnu210b.zip, mak3791b.zip, fil316b.zip, + shl112b.zip, txt20b.zip, txi40b.zip, + grep24b.zip and sed302b.zip + + + All this packages can be found in the v2gnu directory of any + Simtel.NET mirror. + You will need bsh204b.zip and *NOT* a prior version or the build will fail. + The same applies to djdev203.zip. You *MUST* use the updated versions of + fil316b.zip (date: 2000-05-30) and shl112b.zip (date: 2000-08-11). This + updated versions have been recompiled with djdev203.zip and know about + the "/dev/env" functionality introduced with djdev203.zip. All the other + packages are the ones I have used to build the binaries from this sources. + Previuos and/or later versions of this packages may do the job as well but + I have not tested this. + + 3.2.: Create a temporary directory and copy the source package: licv16s.zip + into the temporary directory. If you download the source distribution + from one of the DJGPP archives, just unzip it preserving the directory + structure, runnig ONE of the following commands: + unzip32 licv16s.zip or + djtarx licv16s.zip or + pkunzip -d licv16s.zip + + Source distributions downloaded from one of the GNU FTP sites need + some more work to unpack. First, you MUST use the `djtar' program to + unzip the package. That's because some file names in the official + distributions need to be changed to avoid problems on the various + platforms supported by DJGPP. `djtar' can rename files on the fly + given a file with name mappings. The distribution includes a file + `djgpp/fnchange.lst' with the necessary mappings. So you need first + to retrieve that file, and then invoke `djtar' to unpack the + distribution. Here's how: + + djtar -x -p -o libiconv-1.6/djgpp/fnchange.lst libiconv-1.6.tar.gz > lst + djtar -x -n lst libiconv-1.6.tar.gz + + (The name of the distribution archive and the top-level directory will + be different for versions other than 1.6.) + + 3.3.: The package is preconfigured for djdev203. To build the products you + should run the following command: + make + + After the compilation has finished, you can check the products + running the command: + make check + + To install the products run the command: + make install + + This will install the products (iconv.exe iconv.h libcharset.h libconv.a + libcharset.a iconv.1 iconv.3 iconv_open.3 iconv_close.3) into your DJGPP + installation tree. As usual, prefix is defined as "/dev/env/DJDIR". + If you prefer to install into same other directory run the command: + make install prefix=z:/some/other/dir + + Of course, you should replace "z:/some/other/dir" by an appropriate path + that will meet your requeriments. + + 3.4.: If you need/want to reconfigure the package you will have to run the + following commands: + make distclean + djgpp\config + + Please note that you *MUST* use the "distclean" option or the config.cache + file will *NOT* be deleted. In this case you are *NOT* reconfiguring + because the configuration informations is read from the cache file instead + of being newly computed. + To build the programs in a directory other than where the sources are, + you must add the parameter that specifies the source directory, + e.g: + x:\src\gnu\libiconv.16\djgpp\config x:/src/gnu/libiconv.16 + + Lets assume you want to build the binaries in a directory placed on a + different drive (z:\build in this case) from where the sources are, + then you will run the following commands: + z: + md \build + cd \build + x:\src\gnu\libiconv.16\djgpp\config x:/src/gnu/libiconv.16 + + You *MUST* use forward slashes to specify the source directory. + After having configured the package run the folowing commands to create + the binaries and docs and install them: + make + make check + make install + + Send suggestions and bug reports concerning the DJGPP port to + comp.os.msdos.djgpp or djgpp AT delorie DOT com. Libiconv specific bugs + must be reported to Bruno Haible . + + + Guerrero, Juan Manuel diff -acprNC5 libiconv-20010226.orig/djgpp/sources.sed libiconv-20010226/djgpp/sources.sed *** libiconv-20010226.orig/djgpp/sources.sed Thu Jan 1 00:00:00 1970 --- libiconv-20010226/djgpp/sources.sed Mon Feb 26 23:57:14 2001 *************** *** 0 **** --- 1,17 ---- + # Fixes for lib/iconv.c. + # All encodings files recide in encdings dir now. + /^#[ ]*include/ s|"encodings\.def|"encodings/encodings.def| + /^#[ ]*include/ s|"encodings_aix\.def|"encodings/aix.def| + /^#[ ]*include/ s|"encodings_dos\.def|"encodings/dos.def| + /^#[ ]*include/ s|"encodings_local\.def|"encodings/local.def| + /^#[ ]*include/ s|"aliases\.h|"aliases/aliases.h| + /^#[ ]*include/ s|"aliases_aix\.h|"aliases/aix.h| + /^#[ ]*include/ s|"aliases_dos\.h|"aliases/dos.h| + /^#[ ]*include/ s|"aliases_local\.h|"aliases/local.h| + + # Fixes for lib/converters\.h. + # All cns, iso, georgian and mac files recide in their respective dirs now. + /^#[ ]*include/ s|"cns|&/| + /^#[ ]*include/ s|"iso|&/| + /^#[ ]*include/ s|"georgian_|"georgian/| + /^#[ ]*include/ s|"mac_|"mac/| diff -acprNC5 libiconv-20010226.orig/djgpp/stateful-check.sed libiconv-20010226/djgpp/stateful-check.sed *** libiconv-20010226.orig/djgpp/stateful-check.sed Thu Jan 1 00:00:00 1970 --- libiconv-20010226/djgpp/stateful-check.sed Tue Feb 20 23:33:14 2001 *************** *** 0 **** --- 1,16 ---- + # Sed script for tests/stateful-check editing. + + /set -e/ a\ + # For systems that distinguish between text and binary I/O\ + # the binary mode of iconv must be selected and for\ + # systems with severe filename restrictions allow for\ + # an alternate filename.\ + UNAME=${UNAME-`uname 2>/dev/null`}\ + case X$UNAME in\ + *-DOS) MODE='--binary'\ + filename=`echo "$charset" | sed "s|ISO-|ISO/|;s|2022-|2022|"` ;;\ + *) MODE=''\ + filename="$charset" ;;\ + esac + /iconv/ s/iconv/& $MODE/ + s/\$charset"-snippet/$filename"-snippet/g diff -acprNC5 libiconv-20010226.orig/djgpp/stateless-check.sed libiconv-20010226/djgpp/stateless-check.sed *** libiconv-20010226.orig/djgpp/stateless-check.sed Thu Jan 1 00:00:00 1970 --- libiconv-20010226/djgpp/stateless-check.sed Wed Feb 21 00:38:56 2001 *************** *** 0 **** --- 1,20 ---- + # Sed script for tests/stateless-check editing. + /set -e/ a\ + # For systems with severe filename restrictions\ + # allow for an alternate filename.\ + UNAME=${UNAME-`uname 2>/dev/null`}\ + case X$UNAME in\ + *-DOS) filename=`echo "$charset" | sed "s|ISO-|ISO/|; \\\ + s|Mac|Mac/|; \\\ + s|Georgian-|Georgian/|"`\ + tmp_filename=`echo "$filename" | sed "s|/|/tmp-|"`\ + tmp_orig_filename=`echo "$filename" | sed "s|/|/tmp-orig-|"` ;;\ + *) filename="$charset"\ + tmp_filename="$charset"\ + tmp_orig_filename="$charset" ;;\ + esac + s|/"\$charset"|/"$filename"|g + s|tmp-"\$charset"|"${srcdir}"/"$tmp_filename"|g + s|tmp-orig"\$charset"|"${srcdir}"/"$tmp_orig_filename"|g + s|\.INVERSE\.|.INVERSE-|g + s|\.IRREVERSIBLE\.|.IRREVERSIBLE-|g diff -acprNC5 libiconv-20010226.orig/djgpp/translit-check.sed libiconv-20010226/djgpp/translit-check.sed *** libiconv-20010226.orig/djgpp/translit-check.sed Thu Jan 1 00:00:00 1970 --- libiconv-20010226/djgpp/translit-check.sed Tue Feb 20 23:43:04 2001 *************** *** 0 **** --- 1,10 ---- + # Sed script for tests/translit-check editing. + /set -e/ a\ + # For systems that distinguish between text and binary I/O\ + # the binary mode of iconv must be selected.\ + UNAME=${UNAME-`uname 2>/dev/null`}\ + case X$UNAME in\ + *-DOS) MODE='--binary' ;;\ + *) MODE='' ;;\ + esac + /iconv/ s/iconv/& $MODE/ diff -acprNC5 libiconv-20010226.orig/libcharset/djgpp/config.bat libiconv-20010226/libcharset/djgpp/config.bat *** libiconv-20010226.orig/libcharset/djgpp/config.bat Thu Jan 1 00:00:00 1970 --- libiconv-20010226/libcharset/djgpp/config.bat Tue Feb 27 16:49:40 2001 *************** *** 0 **** --- 1,113 ---- + @echo off + echo Configuring GNU libcharset for DJGPP v2.x... + Rem The SmallEnv tests protect against fixed and too small size + Rem of the environment in stock DOS shell. + + Rem Find out where the sources are + set XSRC=. + if not "%XSRC%" == "." goto SmallEnv + if "%1" == "" goto InPlace + set XSRC=%1 + if not "%XSRC%" == "%1" goto SmallEnv + redir -e /dev/null update %XSRC%/configure.orig ./configure + test -f ./configure + if errorlevel 1 update %XSRC%/configure ./configure + + :InPlace + Rem Update configuration files + echo Updating configuration scripts... + test -f ./configure.orig + if errorlevel 1 update ./configure ./configure.orig + sed -f %XSRC%/djgpp/config.sed ./configure.orig > configure + if errorlevel 1 goto SedError + + Rem Make sure they have a config.site file + set CONFIG_SITE=%XSRC%/djgpp/config.site + if not "%CONFIG_SITE%" == "%XSRC%/djgpp/config.site" goto SmallEnv + + Rem Make sure crucial file names are not munged by unpacking + test -f %XSRC%/config.h.in + if not errorlevel 1 mv -f %XSRC%/config.h.in %XSRC%/config.h-in + test -f %XSRC%/include/libcharset.h.in + if not errorlevel 1 mv -f %XSRC%/include/libcharset.h.in %XSRC%/include/libcharset.h-in + + Rem Let libtool use _libs all the time. + test -f %XSRC%/autoconf/ltconfig.orig + if errorlevel 1 update %XSRC%/autoconf/ltconfig %XSRC%/autoconf/ltconfig.orig + sed "/objdir=/s|\.libs|_libs|" %XSRC%/autoconf/ltconfig > ltconfig.tmp + if errorlevel 1 goto SedError + update ltconfig.tmp %XSRC%/autoconf/ltconfig + rm ltconfig.tmp + + Rem This is required because DOS/Windows are case-insensitive + Rem to file names, and "make install" will do nothing if Make + Rem finds a file called `install'. + if exist INSTALL mv -f INSTALL INSTALL.txt + + Rem install-sh is required by the configure script but clashes with the + Rem various Makefile install-foo targets, so we MUST have it before the + Rem script runs and rename it afterwards + test -f %XSRC%/install-sh + if not errorlevel 1 goto NoRen0 + test -f %XSRC%/install-sh.sh + if not errorlevel 1 mv -f %XSRC%/install-sh.sh %XSRC%/install-sh + :NoRen0 + + Rem Set HOSTNAME so it shows in config.status + if not "%HOSTNAME%" == "" goto hostdone + if "%windir%" == "" goto msdos + set OS=MS-Windows + if not "%OS%" == "MS-Windows" goto SmallEnv + goto haveos + :msdos + set OS=MS-DOS + if not "%OS%" == "MS-DOS" goto SmallEnv + :haveos + if not "%USERNAME%" == "" goto haveuname + if not "%USER%" == "" goto haveuser + echo No USERNAME and no USER found in the environment, using default values + set HOSTNAME=Unknown PC + if not "%HOSTNAME%" == "Unknown PC" goto SmallEnv + goto userdone + :haveuser + set HOSTNAME=%USER%'s PC + if not "%HOSTNAME%" == "%USER%'s PC" goto SmallEnv + goto userdone + :haveuname + set HOSTNAME=%USERNAME%'s PC + if not "%HOSTNAME%" == "%USERNAME%'s PC" goto SmallEnv + :userdone + set _HOSTNAME=%HOSTNAME%, %OS% + if not "%_HOSTNAME%" == "%HOSTNAME%, %OS%" goto SmallEnv + set HOSTNAME=%_HOSTNAME% + :hostdone + set _HOSTNAME= + set OS= + + echo Running the ./configure script... + sh ./configure --src=%XSRC% + if errorlevel 1 goto CfgError + echo Done. + goto End + + :SedError + echo ./configure script editing failed! + goto End + + :CfgError + echo ./configure script exited abnormally! + goto End + + :SmallEnv + echo Your environment size is too small. Enlarge it and run me again. + echo Configuration NOT done! + + :End + test -f %XSRC%/install-sh.sh + if not errorlevel 1 goto NoRen1 + test -f %XSRC%/install-sh + if not errorlevel 1 mv -f %XSRC%/install-sh %XSRC%/install-sh.sh + :NoRen1 + set CONFIG_SITE= + set HOSTNAME= + set XSRC=