From: François Pinard Date: Sat, 15 Mar 2008 20:00:51 +0000 (-0400) Subject: DJGPP files, READMEs adjusted X-Git-Tag: v3.7~218 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=2413dee33acd5bcbad23bcde6ceef5ad452e467f;p=recode DJGPP files, READMEs adjusted --- diff --git a/Makefile.am b/Makefile.am index 4559ef0..eb6acf7 100644 --- a/Makefile.am +++ b/Makefile.am @@ -39,6 +39,7 @@ get-po-files: # The following goals for the maintainer of the Recode Web site. local: + $(MAKE) -C contrib ajuster-web $(top_srcdir)/web make-manual $(top_srcdir)/doc/recode.texi $(top_srcdir)/web/manual diff --git a/Makefile.in b/Makefile.in index 6ca04ec..15ea814 100644 --- a/Makefile.in +++ b/Makefile.in @@ -696,6 +696,7 @@ get-po-files: # The following goals for the maintainer of the Recode Web site. local: + $(MAKE) -C contrib ajuster-web $(top_srcdir)/web make-manual $(top_srcdir)/doc/recode.texi $(top_srcdir)/web/manual diff --git a/README b/README index e94a72a..edd4c40 100644 --- a/README +++ b/README @@ -485,20 +485,35 @@ ports to non-Unix systems not listed here, or for corrections. Please provide the goal system, a complete and stable URL, the maintainer name and address, the Recode version used as a base, and your comments. -+ IBM/PC (MSDOS) ++ MSDOS (DJGPP) - + + ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp/v2gnu/rcode34b.zip - + ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp/v2gnu/rcode34s.zip - + ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp/v2gnu/rcode34d.zip + Juan Manuel Guerrero maintains this port, + dated 2001-03 and based on Recode 3.5. The following archives hold + binaries, docs and sources respectively. - (for binaries, sources and docs respectively) maintained by Wojciech - Galazka Based on Recode 3.4.1. + + ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp/v2gnu/rcode35b.zip + + ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp/v2gnu/rcode35d.zip + + ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp/v2gnu/rcode35s.zip - + + http://www.simtel.net/simtel.net/ - + http://www.leo.org/pub/comp/platforms/pc/gnuish (Germany) - + ftp://ftp.simtel.net/simtelnet/gnu - + ftp://ftp.leo.org/pub/comp/platforms/pc/gnuish + See `contrib/DJGPP/README`__ in the Recode distribution for more + information about compiling this port. - maintained by Darrel Hankerson You get - many GNU tools, not only Recode. The GNUish project is described in - :file:`gnuish_t.htm`. + __ /DJGPP.html + ++ MSDOS (Gnuish) + + Darrel Hankerson maintains this port, dated + 1994-11 and based on Recode 3.4. You get many GNU tools, not only + Recode. The GNUish project is described in :file:`gnuish_t.htm`. + + + http://www.simtel.net/simtel.net/ + + http://www.leo.org/pub/comp/platforms/pc/gnuish (Germany) + + ftp://ftp.simtel.net/simtelnet/gnu + + ftp://ftp.leo.org/pub/comp/platforms/pc/gnuish + ++ OS/2 (using emx/gcc) + + Maintainer unknown (maybe Kai Uwe Rommel ), dated + 1994-11 and based on Recode 3.4. + + + http://hobbes.nmsu.edu/pub/os2/util/convert/gnurcode.zip diff --git a/THANKS b/THANKS index 6cf30bf..38d161c 100644 --- a/THANKS +++ b/THANKS @@ -122,6 +122,7 @@ Jörg Höhle Joerg.Hoehle@gmd.de http://fit.gmd.de/~hoehle/ Jose Joao Almeida jj@di.uminho.pt http://www.di.uminho.pt/~jj +Juan Manuel Guerrero juan.guerrero@gmx.de Julio Sanchez jsanchez@gmv.es Juliusz Chroboczek jch@clipper.ens.fr Juergen Zeller zet@rupert.franken.de diff --git a/contrib/lib-Makefile.Amiga b/contrib/Amiga/lib-Makefile similarity index 100% rename from contrib/lib-Makefile.Amiga rename to contrib/Amiga/lib-Makefile diff --git a/contrib/src-Makefile.Amiga b/contrib/Amiga/src-Makefile similarity index 100% rename from contrib/src-Makefile.Amiga rename to contrib/Amiga/src-Makefile diff --git a/contrib/ChangeLog b/contrib/ChangeLog index 26adaf7..92cf1d5 100644 --- a/contrib/ChangeLog +++ b/contrib/ChangeLog @@ -1,3 +1,14 @@ +2008-03-15 François Pinard + + * Amiga/lib-Makefile: Previously lib-Makefile.Amiga. + * Amiga/src-Makefile: Previously src-Makefile.Amiga. + * Makefile.am: Adjusted. + + * DJGPP/README.in, DJGPP/config.site, DJGPP/configdj.bat, + DJGPP/configdj.sed, DJGPP/fnchange.in: New files. + * djgpp-README, djgpp-diffs: Deleted. + Reported by Juan Manuel Guerrero. + 2008-03-08 François Pinard * README, djgpp-README: Write Recode, not Free recode. diff --git a/contrib/DJGPP/README b/contrib/DJGPP/README new file mode 100644 index 0000000..0d378b3 --- /dev/null +++ b/contrib/DJGPP/README @@ -0,0 +1,305 @@ +.. role:: code(strong) +.. role:: file(literal) + +======================================== +README file for the DJGPP port of Recode +======================================== + +.. contents:: +.. sectnum:: + +:Porter: Juan Manuel Guerrero +:Email: juan.guerrero@gmx.de + +This is a port of Recode to MSDOS/DJGPP. The instructions given here, +and the port itself, were produced for a pretest yielding to Recode 3.6. +They might need revision or undusting for later Recode versions. + +DJGPP specific changes +====================== + +There are no DJGPP specific changes. The original distribution should +configure and compile out-of-the-box. If there are last minute DJGPP +specific changes, then they will be documented in the diffs file placed +in the :file:`contrib/DJGPP` subdirectory. This DJGPP port of recode +3.7-beta2 offers NLS out-of-the-box. + +Installing the binary package +============================= + ++ If you are installing Recode on dual DOS/WINDOWS 9X systems, you + should first turn off the generation of numeric tails for 8.3 aliases + Windows creates for long file names. For information about how to do + this, please read the DJGPP FAQ List V 2.30, chapter 22.19: "How to Set + Up a Dual DOS/Windows Installation." + + Please note that you *must* turn off the numeric tail generation + for short file names during installation of the binary package if you + want to use the recode program on both DOS box on Win9X *and* plain + DOS. If this is not done recode will *not* be able to find the + :file:`.mo` files (the catalogs containing the translated strings). + After the installation has been finished you can turn on numeric tail + generation again if you like. + ++ Copy the binary distribution into the top DJGPP installation directory. + Unzip the binary distribution running *one* of the following commands:: + + unzip32 rcode37-beta2b.zip or + djtarx rcode37-beta2b.zip or + pkunzip -d rcode37-beta2b.zip + ++ Edit the :file:`djgpp.env` file which is located in the top + DJGPP installation directory. Move to the global part of your + :file:`djgpp.env` and add the following lines:: + + LANG=xx + LANGUAGE=yy:zz + + The line must be completely shifted to the left in your + :file:`djgpp.env` file. Please note the plus sign at the beginning of + the line. This plus sign should *not* be omitted or a lot of shell + scripts, in this and in other packages, that try to reset this value + will stop working. The LANG entry is obligatory, the LANGUAGE entry + is may be omitted. The LANGUAGE variable allows you to select an + alternative catalog than the one stipulated by LANG. Replace ``xx``, + ``yy`` and ``zz`` by the language code of the catalogs you want to + use. + + Some examples: + + If you only want to use the catalog containing the translations for + your mother tongue (in my case the Spanish translations) the above + lines will only use the LANG variable and will look like:: + + LANG=es + + If you want to use the Spanish (``es``) and German (``de``) catalogs + the above lines will look like:: + + LANG=es + LANGUAGE=es:de + + In this case a DJGPP binary that has been compiled with NLS support + will first search for the Spanish translations. If this translations + can not be found it will search for the German translations and if + this can also not been found it will default to the build-in English + messages. If you want to reverse this search order the above lines + would look like this one:: + + LANG=es + LANGUAGE=de:es + + Please note that if you omit the LANG environment variable, the + LANGUAGE variable will not be honored at all. The LANG variable must + always be set to your default catalog. With the aid of LANGUAGE you + can select other catalogs apart of the default one. If for some + reason you want to disable NLS, then you should comment out the LANG + variable or select ``C`` as your catalog:: + + LANG=C + ++ To create an entry for the recode info docs in your :file:`dir` file, + run from the top DJGPP installation directory the command:: + + install-info --info-dir=./info ./info/recode.info + ++ The binaries distributed in this package have NLS support. + i.e. run the command:: + + recode + + and the binary should talk to you in your mother tongue, if supported. + For further information about Recode please read the info docs. + +Building the binaries from sources. +=================================== + ++ To build the binaries you will need the following binary packages: + :file:`djdev203.zip` (*not* a prior version), + :file:`bsh203b.zip` (*not* a prior version), + :file:`gcc2952b.zip`, :file:`bnu2951b.zip`, + :file:`mak3791b.zip`, :file:`fil316b.zip`, :file:`shl112b.zip`, + :file:`txt20b.zip`, :file:`txi40b.zip`, :file:`grep24b.zip`, + :file:`sed302b.zip`, and :file:`gtxt035b.zip`. + + If you want to run the check you will need also + :file:`dif272b.zip`, :file:`m4-14b.zip`, and + :file:`perl552b.zip`, + + All these packages can be found in the :file:`v2gnu` directory of any + Simtel.NET mirror. + + You will need :file:`bsh203b.zip` and *not* a prior version or + the build will fail. The same applies to :file:`djdev203.zip`. + You *must* use the updated version of :file:`fil316b.zip` + (date: 2000-05-30) and :file:`shl112b.zip` (date: 2000-08-11). + + These updated versions have been recompiled with + :file:`djdev203.zip` and know about the file:`/dev/env` + functionality introduced with :file:`djdev203.zip`. All the + other packages are the ones I have used to build the binaries + from this sources. Previous versions of this packages may do + the job as well but I have not tested this. + ++ Create a temporary directory and copy the source package into the dir. + If you download the source distribution from one of the DJGPP archives, + just unzip it preserving the directory structure running *ONE* of the + following commands:: + + unzip32 rcode37-beta2s.zip or + djtarx rcode37-beta2s.zip or + pkunzip -d rcode37-beta2s.zip + + Source distributions downloaded from one of the GNU FTP sites need + some more work to unpack. First, you *must* use the :code:`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. :code:`djtar` can rename files + on the fly given a file with name mappings. The distribution includes + a file :file:`djgpp/fnchange.lst` with the necessary mappings. So you + need first to retrieve that file, and then invoke :code:`djtar` to + unpack the distribution. Here's how:: + + djtar -x -p -o recode-3.7-beta2/djgpp/fnchange.lst recode-3.7-beta2.tar.gz > lst + djtar -x -n lst recode-3.7-beta2.tar.gz + + (The name of the distribution archive and the top-level directory will + be different for versions other than 3.7-beta2.) + ++ This package is preconfigured for NLS support and :code:`djdev203`. + This implies that you *must* install the GNU gettext library + (:file:`gtxt035b.zip`) if you want to recompile this package. Of + course, this must be done *before* you start recompiling the + package. The configuration batch file of this package, located in the + :file:`contrib/DJGPP` directory, allows you to enable or disable NLS + support and to compile from a different partition than from where the + sources are located. :file:`configdj.bat` always configures the package + for NLS support enabled and for in-place compilation if *no* options are + given at all. The available NLS options are:: + + NLS + no-NLS + + If for some reason you want a binary with no NLS support you will have + to reconfigure the package. For this purpose cd into the top srcdir + (:file:`recode-3.7-beta2/`) and run the following commands:: + + make distclean + contrib\DJGPP\configdj no-NLS + + Please note that you *must* use the ``distclean`` option or the + :file:`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. You + *must* specify ``no-NLS`` or :file:`configdj.bat` will default to + the ``NLS`` option. 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\recode-3.7-beta2\contrib\DJGPP\configdj x:/src/gnu/recode-3.7-beta2 no-NLS + + Lets assume you want to build the binaries in a directory placed on a + different drive (:file:`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\recode-3.7-beta2/\contrib\DJGPP\configdj x:/src/gnu/recode-3.7-beta2/ no-NLS + + If you want NLS support, just omit the ``no-NLS`` option or replace + it by the ``NLS`` option in the above examples. The order of the NLS + option and the srcdir option does *not* matter. You *must* use + forward slashes to specify the source directory. + + This batch file will set same environment variables, make MSDOS + specific modifications to the :file:`Makefile.in`\ s and supply all + other needed options to the :file:`configure` script. + ++ To compile the package run from the top srcdir the command:: + + make + ++ Now you can run the tests if you like. From the top srcdir run + the command:: + + make check + + No test should fail. + ++ To install the binaries, header, library, catalogs, and info docs + run the following command from the top srcdir:: + + make install CATALOGS="xx.gmo yy.gmo zz.gmo" + + This will install the products into your DJGPP installation tree given + by the default prefix ``/dev/env/DJDIR``. If you prefer to install + them into some other directory you will have to set prefix to the + appropriate value. Replace ``xx``, ``yy`` and ``zz`` by the language + codes of the catalogs you want to install. Example:: + + make install CATALOGS="xx.gmo yy.gmo zz.gmo" prefix=z:/some/other/dir + ++ Now you have to set the LANG environment variable. Please refer to + the third point in section 2. + +Recoding the :file:`.po` files +============================== + +As told above, the :file:`.po` files of this package have already been +recoded. The recoding of the :file:`.po` files is one step more of +the configuration process of the package and does usually not need +to be repeated by the user. This step is performed automatically by +:file:`configdj.bat` running the :file:`recodepo.sh` shell script. This +shell scripts uses two arguments: + ++ the name of the Unix charset that have been used to write the + :file:`.po` file. This information is extracted from the :file:`.po` + file by the shell script itself. + ++ The number of the MSDOS code page corresponding to that particular + :file:`.po` file. This information is stored in the DosCodePage array + of the shell script. The code page numbers have been taken from MS-DOS + 6.22 :file:`COUNTRY.TXT` file and this code pages are the ones installed + during a standard MSDOS installation process. + +Because this standard code pages have been used to recode the +:file:`.po` files, the distributed ones should fit the requirements of +the majority of the users. If for some reason this is not true for you, +you will have to recode the :file:`.po` files manually. This packages +supplies the original (not recoded) :file:`.po` files in the po/po.orig +directory. Cd into :file:`po/po.orig` and edit the :file:`.po` file you +want to use. Search for a line that looks like:: + + "Content-Type: text/plain; charset=ISO-8859-1\n" + +The Unix charset used in this particular :file:`.po` file is ISO-8859-1. +If you are using the MSDOS code page 437 you will recode the :file:`.po` +file running the command:: + + recode -Spo ISO-8859-1..cp437 xx.po + +where ``xx`` stands for the language code. + +If you want to recode all :file:`.po` files you will proceed as follows: + ++ Cd into the :file:`po` directory. + ++ Delete all :file:`.po` files and :file:`stamp-po`. + ++ Copy the original :file:`.po` files from :file:`po.orig` directory into the + :file:`po` directory. + ++ Edit :file:`recodepo.sh`. Search for the DosCodePage array and make the + appropriate changes. + ++ Run the command:: + + sh recodepo.sh + +Send recode specific bug reports to . +Send suggestions and bug reports concerning the DJGPP port to +``comp.os.msdos.djgpp`` or . + +Enjoy. + diff --git a/contrib/DJGPP/README.in b/contrib/DJGPP/README.in new file mode 100644 index 0000000..c900571 --- /dev/null +++ b/contrib/DJGPP/README.in @@ -0,0 +1,305 @@ +.. role:: code(strong) +.. role:: file(literal) + +======================================== +README file for the DJGPP port of Recode +======================================== + +.. contents:: +.. sectnum:: + +:Porter: Juan Manuel Guerrero +:Email: juan.guerrero@gmx.de + +This is a port of Recode to MSDOS/DJGPP. The instructions given here, +and the port itself, were produced for a pretest yielding to Recode 3.6. +They might need revision or undusting for later Recode versions. + +DJGPP specific changes +====================== + +There are no DJGPP specific changes. The original distribution should +configure and compile out-of-the-box. If there are last minute DJGPP +specific changes, then they will be documented in the diffs file placed +in the :file:`contrib/DJGPP` subdirectory. This DJGPP port of recode +@VER@ offers NLS out-of-the-box. + +Installing the binary package +============================= + ++ If you are installing Recode on dual DOS/WINDOWS 9X systems, you + should first turn off the generation of numeric tails for 8.3 aliases + Windows creates for long file names. For information about how to do + this, please read the DJGPP FAQ List V 2.30, chapter 22.19: "How to Set + Up a Dual DOS/Windows Installation." + + Please note that you *must* turn off the numeric tail generation + for short file names during installation of the binary package if you + want to use the recode program on both DOS box on Win9X *and* plain + DOS. If this is not done recode will *not* be able to find the + :file:`.mo` files (the catalogs containing the translated strings). + After the installation has been finished you can turn on numeric tail + generation again if you like. + ++ Copy the binary distribution into the top DJGPP installation directory. + Unzip the binary distribution running *one* of the following commands:: + + unzip32 rcode@packageversion@b.zip or + djtarx rcode@packageversion@b.zip or + pkunzip -d rcode@packageversion@b.zip + ++ Edit the :file:`djgpp.env` file which is located in the top + DJGPP installation directory. Move to the global part of your + :file:`djgpp.env` and add the following lines:: + + LANG=xx + LANGUAGE=yy:zz + + The line must be completely shifted to the left in your + :file:`djgpp.env` file. Please note the plus sign at the beginning of + the line. This plus sign should *not* be omitted or a lot of shell + scripts, in this and in other packages, that try to reset this value + will stop working. The LANG entry is obligatory, the LANGUAGE entry + is may be omitted. The LANGUAGE variable allows you to select an + alternative catalog than the one stipulated by LANG. Replace ``xx``, + ``yy`` and ``zz`` by the language code of the catalogs you want to + use. + + Some examples: + + If you only want to use the catalog containing the translations for + your mother tongue (in my case the Spanish translations) the above + lines will only use the LANG variable and will look like:: + + LANG=es + + If you want to use the Spanish (``es``) and German (``de``) catalogs + the above lines will look like:: + + LANG=es + LANGUAGE=es:de + + In this case a DJGPP binary that has been compiled with NLS support + will first search for the Spanish translations. If this translations + can not be found it will search for the German translations and if + this can also not been found it will default to the build-in English + messages. If you want to reverse this search order the above lines + would look like this one:: + + LANG=es + LANGUAGE=de:es + + Please note that if you omit the LANG environment variable, the + LANGUAGE variable will not be honored at all. The LANG variable must + always be set to your default catalog. With the aid of LANGUAGE you + can select other catalogs apart of the default one. If for some + reason you want to disable NLS, then you should comment out the LANG + variable or select ``C`` as your catalog:: + + LANG=C + ++ To create an entry for the recode info docs in your :file:`dir` file, + run from the top DJGPP installation directory the command:: + + install-info --info-dir=./info ./info/recode.info + ++ The binaries distributed in this package have NLS support. + i.e. run the command:: + + recode + + and the binary should talk to you in your mother tongue, if supported. + For further information about Recode please read the info docs. + +Building the binaries from sources. +=================================== + ++ To build the binaries you will need the following binary packages: + :file:`djdev203.zip` (*not* a prior version), + :file:`bsh203b.zip` (*not* a prior version), + :file:`gcc2952b.zip`, :file:`bnu2951b.zip`, + :file:`mak3791b.zip`, :file:`fil316b.zip`, :file:`shl112b.zip`, + :file:`txt20b.zip`, :file:`txi40b.zip`, :file:`grep24b.zip`, + :file:`sed302b.zip`, and :file:`gtxt035b.zip`. + + If you want to run the check you will need also + :file:`dif272b.zip`, :file:`m4-14b.zip`, and + :file:`perl552b.zip`, + + All these packages can be found in the :file:`v2gnu` directory of any + Simtel.NET mirror. + + You will need :file:`bsh203b.zip` and *not* a prior version or + the build will fail. The same applies to :file:`djdev203.zip`. + You *must* use the updated version of :file:`fil316b.zip` + (date: 2000-05-30) and :file:`shl112b.zip` (date: 2000-08-11). + + These updated versions have been recompiled with + :file:`djdev203.zip` and know about the file:`/dev/env` + functionality introduced with :file:`djdev203.zip`. All the + other packages are the ones I have used to build the binaries + from this sources. Previous versions of this packages may do + the job as well but I have not tested this. + ++ Create a temporary directory and copy the source package into the dir. + If you download the source distribution from one of the DJGPP archives, + just unzip it preserving the directory structure running *ONE* of the + following commands:: + + unzip32 rcode@packageversion@s.zip or + djtarx rcode@packageversion@s.zip or + pkunzip -d rcode@packageversion@s.zip + + Source distributions downloaded from one of the GNU FTP sites need + some more work to unpack. First, you *must* use the :code:`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. :code:`djtar` can rename files + on the fly given a file with name mappings. The distribution includes + a file :file:`djgpp/fnchange.lst` with the necessary mappings. So you + need first to retrieve that file, and then invoke :code:`djtar` to + unpack the distribution. Here's how:: + + djtar -x -p -o @V@/djgpp/fnchange.lst @V@.tar.gz > lst + djtar -x -n lst @V@.tar.gz + + (The name of the distribution archive and the top-level directory will + be different for versions other than @VER@.) + ++ This package is preconfigured for NLS support and :code:`djdev203`. + This implies that you *must* install the GNU gettext library + (:file:`gtxt035b.zip`) if you want to recompile this package. Of + course, this must be done *before* you start recompiling the + package. The configuration batch file of this package, located in the + :file:`contrib/DJGPP` directory, allows you to enable or disable NLS + support and to compile from a different partition than from where the + sources are located. :file:`configdj.bat` always configures the package + for NLS support enabled and for in-place compilation if *no* options are + given at all. The available NLS options are:: + + NLS + no-NLS + + If for some reason you want a binary with no NLS support you will have + to reconfigure the package. For this purpose cd into the top srcdir + (:file:`recode-@treeversion@/`) and run the following commands:: + + make distclean + contrib\DJGPP\configdj no-NLS + + Please note that you *must* use the ``distclean`` option or the + :file:`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. You + *must* specify ``no-NLS`` or :file:`configdj.bat` will default to + the ``NLS`` option. 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\recode-@treeversion@\contrib\DJGPP\configdj x:/src/gnu/recode-@treeversion@ no-NLS + + Lets assume you want to build the binaries in a directory placed on a + different drive (:file:`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\recode-@treeversion@/\contrib\DJGPP\configdj x:/src/gnu/recode-@treeversion@/ no-NLS + + If you want NLS support, just omit the ``no-NLS`` option or replace + it by the ``NLS`` option in the above examples. The order of the NLS + option and the srcdir option does *not* matter. You *must* use + forward slashes to specify the source directory. + + This batch file will set same environment variables, make MSDOS + specific modifications to the :file:`Makefile.in`\ s and supply all + other needed options to the :file:`configure` script. + ++ To compile the package run from the top srcdir the command:: + + make + ++ Now you can run the tests if you like. From the top srcdir run + the command:: + + make check + + No test should fail. + ++ To install the binaries, header, library, catalogs, and info docs + run the following command from the top srcdir:: + + make install CATALOGS="xx.gmo yy.gmo zz.gmo" + + This will install the products into your DJGPP installation tree given + by the default prefix ``/dev/env/DJDIR``. If you prefer to install + them into some other directory you will have to set prefix to the + appropriate value. Replace ``xx``, ``yy`` and ``zz`` by the language + codes of the catalogs you want to install. Example:: + + make install CATALOGS="xx.gmo yy.gmo zz.gmo" prefix=z:/some/other/dir + ++ Now you have to set the LANG environment variable. Please refer to + the third point in section 2. + +Recoding the :file:`.po` files +============================== + +As told above, the :file:`.po` files of this package have already been +recoded. The recoding of the :file:`.po` files is one step more of +the configuration process of the package and does usually not need +to be repeated by the user. This step is performed automatically by +:file:`configdj.bat` running the :file:`recodepo.sh` shell script. This +shell scripts uses two arguments: + ++ the name of the Unix charset that have been used to write the + :file:`.po` file. This information is extracted from the :file:`.po` + file by the shell script itself. + ++ The number of the MSDOS code page corresponding to that particular + :file:`.po` file. This information is stored in the DosCodePage array + of the shell script. The code page numbers have been taken from MS-DOS + 6.22 :file:`COUNTRY.TXT` file and this code pages are the ones installed + during a standard MSDOS installation process. + +Because this standard code pages have been used to recode the +:file:`.po` files, the distributed ones should fit the requirements of +the majority of the users. If for some reason this is not true for you, +you will have to recode the :file:`.po` files manually. This packages +supplies the original (not recoded) :file:`.po` files in the po/po.orig +directory. Cd into :file:`po/po.orig` and edit the :file:`.po` file you +want to use. Search for a line that looks like:: + + "Content-Type: text/plain; charset=ISO-8859-1\n" + +The Unix charset used in this particular :file:`.po` file is ISO-8859-1. +If you are using the MSDOS code page 437 you will recode the :file:`.po` +file running the command:: + + recode -Spo ISO-8859-1..cp437 xx.po + +where ``xx`` stands for the language code. + +If you want to recode all :file:`.po` files you will proceed as follows: + ++ Cd into the :file:`po` directory. + ++ Delete all :file:`.po` files and :file:`stamp-po`. + ++ Copy the original :file:`.po` files from :file:`po.orig` directory into the + :file:`po` directory. + ++ Edit :file:`recodepo.sh`. Search for the DosCodePage array and make the + appropriate changes. + ++ Run the command:: + + sh recodepo.sh + +Send recode specific bug reports to . +Send suggestions and bug reports concerning the DJGPP port to +``comp.os.msdos.djgpp`` or . + +Enjoy. + diff --git a/contrib/DJGPP/config.site b/contrib/DJGPP/config.site new file mode 100644 index 0000000..72d186b --- /dev/null +++ b/contrib/DJGPP/config.site @@ -0,0 +1,35 @@ +#! /bin/sh + +# This is the config.site file for configuring GNU packages +# which are to be built with DJGPP tools. + +# These two variables are required, otherwise looking for +# programs along the PATH will not work. +PATH_SEPARATOR=: +PATH_EXPAND=y + +# This is required in for "test -f foo" to find foo.exe +export TEST_FINDS_EXE=y + +# The root of the DJGPP tree serves as the default prefix +test "x$prefix" = xNONE && prefix='/dev/env/DJDIR' + +# This is required for config.status script to be run, since +# ./configure runs it by invoking ${CONFIG_SHELL-/bin/sh} +CONFIG_SHELL=${CONFIG_SHELL='sh'} + +# These are set here so the generated Makefile's will be good +# for every DJGPP installation, not only the one where the +# package was configured. +# $INSTALL must be an absolute path name, otherwise config.status +# will try to prepend ./ and ../ to it when it goes into subdirs. +INSTALL=${INSTALL='/dev/env/DJDIR/bin/ginstall -c'} +RANLIB=${RANLIB='ranlib'} +NM=${NM='nm'} +LD=${LD='ld'} +GMSGFMT=${GMSGFMT='/dev/env/DJDIR/bin/msgfmt'} +MSGFMT=${MSGFMT='/dev/env/DJDIR/bin/msgfmt'} +XGETTEXT=${XGETTEXT='/dev/env/DJDIR/bin/xgettext'} + +# Force the test for 'ln -s' to report 'cp -p'. +ac_cv_prog_LN_S='cp -p' diff --git a/contrib/DJGPP/configdj.bat b/contrib/DJGPP/configdj.bat new file mode 100644 index 0000000..ff380e2 --- /dev/null +++ b/contrib/DJGPP/configdj.bat @@ -0,0 +1,220 @@ +@echo off +echo Configuring Free Recode 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 if NLS is wanted or not +Rem and where the sources are. +Rem We always default to NLS support +Rem and to in place configuration. +set NLS=enabled +if not "%NLS%" == "enabled" goto SmallEnv +set XSRC=. +if not "%XSRC%" == "." goto SmallEnv + +Rem This checks the case: +Rem %1 contains the NLS option. +Rem %2 contains the src path option. +if "%1" == "" goto InPlace +if "%1" == "NLS" goto SrcDir2 +if not "%1" == "no-NLS" goto SrcDir1 +set NLS=disabled +if not "%NLS%" == "disabled" goto SmallEnv +:SrcDir2 +Rem Find out where the sources are +if "%2" == "" goto InPlace +set XSRC=%2 +if not "%XSRC%" == "%2" goto SmallEnv +goto NotInPlace + +Rem This checks the case: +Rem %1 contains the src path option. +Rem %2 contains the NLS option. +:SrcDir1 +Rem Find out where the sources are +if "%1" == "" goto InPlace +set XSRC=%1 +if not "%XSRC%" == "%1" goto SmallEnv +if "%2" == "" goto NotInPlace +if "%2" == "NLS" goto NotInPlace +if not "%2" == "no-NLS" goto NotInPlace +set NLS=disabled +if not "%NLS%" == "disabled" goto SmallEnv + +:NotInPlace +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%/contrib/DJGPP/configdj.sed configure.orig > configure +if errorlevel 1 goto SedError + +Rem Make sure they have a config.site file +set CONFIG_SITE=%XSRC%/contrib/DJGPP/config.site +if not "%CONFIG_SITE%" == "%XSRC%/contrib/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%/stamp-djgppfixes +if not errorlevel 1 goto PackageFixed + +Rem Fix libiconv/Makefile.in and src/Makefile.in +Rem to reflect the new directory structure. +test -f %XSRC%/libiconv/Makefile.orig +if errorlevel 1 update %XSRC%/libiconv/Makefile.in %XSRC%/libiconv/Makefile.orig +sed -f %XSRC%/contrib/DJGPP/configdj.sed %XSRC%/libiconv/Makefile.orig > Makefile.tmp +if errorlevel 1 goto SedError +update Makefile.tmp %XSRC%/libiconv/Makefile.in +rm Makefile.tmp +test -f %XSRC%/src/Makefile.orig +if errorlevel 1 update %XSRC%/src/Makefile.in %XSRC%/src/Makefile.orig +sed -f %XSRC%/contrib/DJGPP/configdj.sed %XSRC%/src/Makefile.orig > Makefile.tmp +if errorlevel 1 goto SedError +update Makefile.tmp %XSRC%/src/Makefile.in +rm Makefile.tmp + +Rem Fix the source files in libiconv to reflect the new directory structure. +test -f %XSRC%/src/iconv.orig +if errorlevel 1 update %XSRC%/src/iconv.c %XSRC%/src/iconv.orig +sed -f %XSRC%/contrib/DJGPP/configdj.sed %XSRC%/src/iconv.orig > iconv.tmp +if errorlevel 1 goto SedError +update iconv.tmp %XSRC%/src/iconv.c +rm iconv.tmp +test -f %XSRC%/libiconv/converters.orig +if errorlevel 1 update %XSRC%/libiconv/converters.h %XSRC%/libiconv/converters.orig +sed -f %XSRC%/contrib/DJGPP/configdj.sed %XSRC%/libiconv/converters.orig > converters.tmp +if errorlevel 1 goto SedError +update converters.tmp %XSRC%/libiconv/converters.h +rm converters.tmp +test -f %XSRC%/libiconv/cns/11643.orig +if errorlevel 1 update %XSRC%/libiconv/cns/11643.h %XSRC%/libiconv/cns/11643.orig +sed -f %XSRC%/contrib/DJGPP/configdj.sed %XSRC%/libiconv/cns/11643.orig > 11643.tmp +if errorlevel 1 goto SedError +update 11643.tmp %XSRC%/libiconv/cns/11643.h +rm 11643.tmp +test -f %XSRC%/libiconv/iso/ir165.orig +if errorlevel 1 update %XSRC%/libiconv/iso/ir165.h %XSRC%/libiconv/iso/ir165.orig +sed -f %XSRC%/contrib/DJGPP/configdj.sed %XSRC%/libiconv/iso/ir165.orig > ir165.tmp +if errorlevel 1 goto SedError +update ir165.tmp %XSRC%/libiconv/iso/ir165.h +rm ir165.tmp + +Rem Let libtool use _libs all the time. +test -f %XSRC%/ltconfig.orig +if errorlevel 1 update %XSRC%/ltconfig %XSRC%/ltconfig.orig +sed "/objdir=/s|\.libs|_libs|" %XSRC%/ltconfig.orig > ltconfig.tmp +if errorlevel 1 goto SedError +update ltconfig.tmp %XSRC%/ltconfig +rm ltconfig.tmp + +touch %XSRC%/stamp-djgppfixes +:PackageFixed + +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 ren INSTALL INSTALL.txt + +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= + +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 + +if "%NLS%" == "disabled" goto WithoutNLS + +Rem If NLS is wanted we will probably have to +Rem recode the .po files. For these purpose +Rem we will run recodepo.sh that will check for +Rem needed libs, headers and binaries and return +Rem with one of the following return codes: +Rem errorlevel 2 : package has no po directory (no NLS support) +Rem and will be configured with --disable-nls. +Rem errorlevel 1 : recode, msgfmt and/or xgettext can not be found, +Rem package will be configured with --disable-nls. +Rem errorlevel 0 : .po files have/have not been recoded. They will +Rem be recoded by recodepo.sh if needed, and the +Rem package will be configured with --enable-nls. +sh %XSRC%/contrib/DJGPP/recodepo.sh +if errorlevel 1 goto WithoutNLS + +:WithNLS +Rem We prefer without-included-gettext because libintl.a from gettext package +Rem is the only one that is garanteed to have been ported to DJGPP. +echo Running the ./configure script... +sh ./configure --src=%XSRC% --enable-nls --without-included-gettext +if errorlevel 1 goto CfgError +echo Done. +goto End + +:WithoutNLS +echo Running the ./configure script... +sh ./configure --src=%XSRC% --disable-nls +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 NLS= +set XSRC= diff --git a/contrib/DJGPP/configdj.sed b/contrib/DJGPP/configdj.sed new file mode 100644 index 0000000..31019c7 --- /dev/null +++ b/contrib/DJGPP/configdj.sed @@ -0,0 +1,138 @@ +# Additional editing of Makefiles and atconfig +/ac_given_INSTALL=/,/^CEOF/ { + /^CEOF$/ i\ +# DJGPP specific Makefile changes.\ + /^aliaspath * *=/s,:,";",g\ + /TEXINPUTS=/s,:,";",g\ + /PATH=/s,:,";",g\ + s,\\.new\\.,_new.,g\ + s,\\.old\\.,_old.,g\ + s,config\\.h\\.in,config.h-in,g\ + /^install-info-am:/,/^$/ {\ + /@list=/ s,\\\$(INFO_DEPS),& recode.i,\ + /@for *file/ s,\\\$(INFO_DEPS),& recode.i,\ + s,file-\\[0-9\\]\\[0-9\\],& \\$\\$file[0-9] \\$\\$file[0-9][0-9],\ + } +} + +# Rename config.h.in into config.h-in. +/^ *CONFIG_HEADERS=/,/^EOF/ { + s|config\.h|&:config.h-in| +} + +# Replace (command) > /dev/null with `command > /dev/null`, since +# parenthesized commands always return zero status in the ported Bash, +# even if the named command doesn't exist +/if ([^|;]*null/{ + s,(,`, + s,),, + s,; *then,`; then, +} + +# DOS-style absolute file names should be supported as well +/\*) srcdir=/s,/\*,[\\\\/]* | [A-z]:[\\\\/]*, +/\$]\*) INSTALL=/s,\[/\$\]\*,[\\\\/$]* | [A-z]:[\\\\/]*, +/\$]\*) ac_rel_source=/s,\[/\$\]\*,[\\\\/$]* | [A-z]:[\\\\/]*, + +# Switch the order of the two Sed commands, since DOS path names +# could include a colon +/ac_file_inputs=/s,\( -e "s%\^%\$ac_given_srcdir/%"\)\( -e "s%:% $ac_given_srcdir/%g"\),\2\1, + +# Prevent the spliting of conftest.subs. +# The sed script: conftest.subs is split into 48 or 90 lines long files. +# This will produce sed scripts called conftest.s1, conftest.s2, etc. +# that will not work if conftest.subs contains a multi line sed command +# at line #90. In this case the first part of the sed command will be the +# last line of conftest.s1 and the rest of the command will be the first lines +# of conftest.s2. So both script will not work properly. +# This matches the configure script produced by Autoconf 2.12 +/ac_max_sed_cmds=[0-9]/ s,=.*$,=`sed -n "$=" conftest.subs`, +# This matches the configure script produced by Autoconf 2.14a +/ac_max_sed_lines=[0-9]/ s,=.*$,=`sed -n "$=" $ac_cs_root.subs `, + +# gettext.m4 (serial 5) from GNU gettext 0.10.35 has a bug. +# When the package is configured with --without-included-gettext option +# and the system libintl.a is found then the LIBS variable *MUST* be set to -lintl +# so that this one is used for linking. +/echo.*\$gt_cv_func_gettext_libintl/,/^EOF$/ { + /^fi$/ a\ + if test "$gt_cv_func_gettext_libintl" = yes; then\ + LIBS="$LIBS -lintl"\ + fi +} + +# We prefer gettext__ instead of gettext. +/checking for gettext in /,/^EOF$/ s,gettext[ ]*(,gettext__(,g + +# The following two items are changes needed for configuring +# and compiling across partitions. +# 1) The given srcdir value is always translated from the +# "x:" syntax into "/dev/x" syntax while we run configure. +/^[ ]*-srcdir=\*.*$/ a\ + ac_optarg=`echo "$ac_optarg" | sed "s,^\\([A-Za-z]\\):,/dev/\\1,"` +/set X `ls -Lt \$srcdir/ i\ + if `echo $srcdir | grep "^/dev/" - > /dev/null`; then\ + srcdir=`echo "$srcdir" | sed -e "s%^/dev/%%" -e "s%/%:/%"`\ + fi + +# 2) We need links across partitions, so we will use "cp -pf" instead of "ln". +/# Make a symlink if possible; otherwise try a hard link./,/EOF/ { + s,;.*then, 2>/dev/null || cp -pf \$srcdir/\$ac_source \$ac_dest&, +} + +# Fixes for libiconv/Makefile.in and src/Makefile.in +# due to filename renaming in libiconv/ subdir. +/^EXTRA_DIST[ ]*=/ { + s|encodings\.def|encodings/&| + s|encodings_aix\.def|encodings/aix.def| + s|encodings_dos\.def|encodings/dos.def| + s|encodings_osf1\.def|encodings/osf1.def| + s|encodings_local\.def|encodings/local.def| +} +/^noinst_HEADERS[ ]*=/ { + s|aliases\.h|aliases/&| + s|aliases_aix\.h|aliases/aix.h| + s|aliases_dos\.h|aliases/dos.h| + s|aliases_osf1\.h|aliases/osf1.h| + s|aliases_local\.h|aliases/local.h| + s|cns|&/|g + s|iso|&/|g + s|georgian_|georgian/|g + s|mac_|mac/|g +} +/\/libiconv\// { + s|cns|&/|g + s|iso|&/|g + s|georgian_|georgian/|g + s|mac_|mac/|g + s|aliases\.h|aliases/&|g + s|aliases_aix\.h|aliases/aix.h|g + s|aliases_dos\.h|aliases/dos.h|g + s|aliases_osf1\.h|aliases/osf1.h|g + s|aliases_local\.h|aliases/local.h|g + s|encodings\.def|encodings/&|g + s|encodings_aix\.def|encodings/aix.def|g + s|encodings_dos\.def|encodings/dos.def|g + s|encodings_osf1\.def|encodings/osf1.def|g + s|encodings_local\.def|encodings/local.def|g +} + +# Fixes for lib/iconv.c. +# All encodings and aliases files recide in their respective subdirs 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_osf1\.def|"encodings/osf1.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_osf1\.h|"aliases/osf1.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 subdirs now. +/^#[ ]*include/ s|"cns|&/| +/^#[ ]*include/ s|"iso|&/| +/^#[ ]*include/ s|"georgian_|"georgian/| +/^#[ ]*include/ s|"mac_|"mac/| diff --git a/contrib/DJGPP/fnchange.in b/contrib/DJGPP/fnchange.in new file mode 100644 index 0000000..f20884c --- /dev/null +++ b/contrib/DJGPP/fnchange.in @@ -0,0 +1 @@ +@V@/config.h.in @V@/config.h-in diff --git a/contrib/DJGPP/fnchange.lst b/contrib/DJGPP/fnchange.lst new file mode 100644 index 0000000..aabae66 --- /dev/null +++ b/contrib/DJGPP/fnchange.lst @@ -0,0 +1 @@ +recode-3.7-beta2/config.h.in recode-3.7-beta2/config.h-in diff --git a/contrib/Makefile.am b/contrib/Makefile.am index d50570a..e527dc0 100644 --- a/contrib/Makefile.am +++ b/contrib/Makefile.am @@ -18,9 +18,31 @@ AUTOMAKE_OPTIONS = gnits -AMIGA_PORT = lib-Makefile.Amiga src-Makefile.Amiga -DJGPP_PORT = djgpp-README djgpp-diffs +AMIGA_PORT = Amiga/lib-Makefile Amiga/src-Makefile +DJGPP_PORT = DJGPP/README.in DJGPP/config.site DJGPP/configdj.bat \ +DJGPP/configdj.sed DJGPP/DJGPP/README DJGPP/recodepo.sh ELISP_FILES = recode.el utf8.el +SPEC_FILES = recode.spec1 recode.spec2 -EXTRA_DIST = $(AMIGA_PORT) $(DJGPP_PORT) $(ELISP_FILES) \ -recode.spec1 recode.spec2 +EXTRA_DIST = $(AMIGA_PORT) $(DJGPP_PORT) $(ELISP_FILES) $(SPEC_FILES) + +MAINTAINERCLEANFILES = DJGPP/README DJGPP/fnchange.lst + +all-local: DJGPP/README DJGPP/fnchange.lst + +$(srcdir)/DJGPP/README: DJGPP/README.in $(top_srcdir)/configure.ac + packageversion=`echo "$(VERSION)" | sed 's/\.//g'`; \ + sed \ + -e 's/@V@/$(PACKAGE)-$(VERSION)/g' \ + -e 's/@VER@/$(VERSION)/g' \ + -e "s/@packageversion@/$$packageversion/g" \ + -e "s/@treeversion@/$(VERSION)/g" \ + $(srcdir)/DJGPP/README.in > $@-tmp + mv $@-tmp $@ + +$(srcdir)/DJGPP/fnchange.lst: DJGPP/fnchange.in $(top_srcdir)/configure.ac + sed \ + -e '/^#/d' \ + -e 's/@V@/$(PACKAGE)-$(VERSION)/g' \ + $(srcdir)/DJGPP/fnchange.in > $@-tmp + mv $@-tmp $@ diff --git a/contrib/Makefile.in b/contrib/Makefile.in index bf79915..211c46f 100644 --- a/contrib/Makefile.in +++ b/contrib/Makefile.in @@ -197,12 +197,14 @@ target_alias = @target_alias@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ AUTOMAKE_OPTIONS = gnits -AMIGA_PORT = lib-Makefile.Amiga src-Makefile.Amiga -DJGPP_PORT = djgpp-README djgpp-diffs -ELISP_FILES = recode.el utf8.el -EXTRA_DIST = $(AMIGA_PORT) $(DJGPP_PORT) $(ELISP_FILES) \ -recode.spec1 recode.spec2 +AMIGA_PORT = Amiga/lib-Makefile Amiga/src-Makefile +DJGPP_PORT = DJGPP/README.in DJGPP/config.site DJGPP/configdj.bat \ +DJGPP/configdj.sed DJGPP/DJGPP/README DJGPP/recodepo.sh +ELISP_FILES = recode.el utf8.el +SPEC_FILES = recode.spec1 recode.spec2 +EXTRA_DIST = $(AMIGA_PORT) $(DJGPP_PORT) $(ELISP_FILES) $(SPEC_FILES) +MAINTAINERCLEANFILES = DJGPP/README DJGPP/fnchange.lst all: all-am .SUFFIXES: @@ -276,7 +278,7 @@ distdir: $(DISTFILES) done check-am: all-am check: check-am -all-am: Makefile +all-am: Makefile all-local installdirs: install: install-am install-exec: install-exec-am @@ -302,6 +304,7 @@ distclean-generic: maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." + -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am @@ -358,17 +361,37 @@ uninstall-am: .MAKE: install-am install-strip -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - distclean distclean-generic distclean-libtool distdir dvi \ - dvi-am html html-am info info-am install install-am \ - install-data install-data-am install-dvi install-dvi-am \ - install-exec install-exec-am install-html install-html-am \ - install-info install-info-am install-man install-pdf \ - install-pdf-am install-ps install-ps-am install-strip \ - installcheck installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-generic \ - mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am - +.PHONY: all all-am all-local check check-am clean clean-generic \ + clean-libtool distclean distclean-generic distclean-libtool \ + distdir dvi dvi-am html html-am info info-am install \ + install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ + install-strip installcheck installcheck-am installdirs \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + uninstall uninstall-am + + +all-local: DJGPP/README DJGPP/fnchange.lst + +$(srcdir)/DJGPP/README: DJGPP/README.in $(top_srcdir)/configure.ac + packageversion=`echo "$(VERSION)" | sed 's/\.//g'`; \ + sed \ + -e 's/@V@/$(PACKAGE)-$(VERSION)/g' \ + -e 's/@VER@/$(VERSION)/g' \ + -e "s/@packageversion@/$$packageversion/g" \ + -e "s/@treeversion@/$(VERSION)/g" \ + $(srcdir)/DJGPP/README.in > $@-tmp + mv $@-tmp $@ + +$(srcdir)/DJGPP/fnchange.lst: DJGPP/fnchange.in $(top_srcdir)/configure.ac + sed \ + -e '/^#/d' \ + -e 's/@V@/$(PACKAGE)-$(VERSION)/g' \ + $(srcdir)/DJGPP/fnchange.in > $@-tmp + mv $@-tmp $@ # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: diff --git a/contrib/README b/contrib/README index 6f0cea2..0ae5471 100644 --- a/contrib/README +++ b/contrib/README @@ -28,47 +28,56 @@ as the things you usually get from the Free Software Foundation. Please drop me a note about what you found to be useful, in here, to help me at deciding what should be kept and what should go away. -+ :file:`utf8.el` ++ Emacs Lisp files - This tool helps Emacs users at inserting UTF-8 encoded ISO-10646 or - Unicode characters in an Emacs buffer. Submitted by Gary Houston - to :code:`gnu.emacs.sources`, 1994-10. + + :file:`utf8.el` -+ :file:`recode.el` + This tool helps Emacs users at inserting UTF-8 encoded ISO-10646 or + Unicode characters in an Emacs buffer. Submitted by Gary Houston + to :code:`gnu.emacs.sources`, 1994-10. - This is a miscellaneous collection of tools, documented in French, - for using Recode from Emacs, when Latin-1 is in use. Submitted by - François Pinard , 1994-12. + + :file:`recode.el` -+ :file:`djgpp-README` -+ :file:`djgpp-diffs` + This is a miscellaneous collection of tools, documented in French, + for using Recode from Emacs, when Latin-1 is in use. Submitted by + François Pinard , 1994-12. - These files represent a port of version 3.4.1 of Recode to DJGPP, - submitted by Wojciech Galazka , 1997-11. ++ RPM spec files -+ :file:`Makefile.amiga` -+ :file:`Makefile.amiga-lib` + + :file:`recode.spec1` - These makefiles allow building Recode 3.4k on Amiga. Submitted by - Stefan Haubenthal, 1998-11. + RPM spec file to prepare Recode 3.5c on RedHat. Submitted by David + Lebel, 2000-06. -+ :file:`recode.spec1` + + :file:`recode.spec2` - RPM spec file to prepare Recode 3.5c on RedHat. Submitted by David - Lebel, 2000-06. + RPM spec file to prepare Recode 3.5d on RedHat. Submitted by Bennett + Todd, 2002-01. Bennett writes (more or less): -+ :file:`recode.spec2` + This spec file allows portable building. Users could download the + tar archive and simply ``rpm -ta`` it to build themselves source and + binary :code:`rpm`\ s. If they had their :code:`rpm` directory, + they could even do it while not being ``root``. For example, my + :file:`~/.rpmmacros` reads:: - RPM spec file to prepare Recode 3.5d on RedHat. Submitted by Bennett - Todd, 2002-01. Bennett writes (more or less): + %_topdir /home/bet/rpm - This spec file allows portable building. Users could download the - tar archive and simply ``rpm -ta`` it to build themselves source and - binary :code:`rpm`\ s. If they had their :code:`rpm` directory, - they could even do it while not being ``root``. For example, my - :file:`~/.rpmmacros` reads:: + without a leading tab. Hence my :file:`/usr/src/redhat/` is still + ``root:root``, and yet I can do my :code:`rpm` building as myself. - %_topdir /home/bet/rpm ++ Amiga port - without a leading tab. Hence my :file:`/usr/src/redhat/` is still - ``root:root``, and yet I can do my :code:`rpm` building as myself. + Files in the :file:`Amiga/` directory should allow building Recode on + Amiga. Submitted by Stefan Haubenthal, 1998-11, for version 3.4k. + ++ DJGPP port + + Files in the :file:`DJGPP/` directory should allow building + Recode on MSDOS/DJGPP. Submitted by Juan Manuel Guerrero + , 2001-03, for a pretest towards version 3.6. + For this port, there is a `README`__ file. + + __ /DJGPP.html + + For the record, a previous port was submitted by Wojciech Galazka + , 1997-11, for version 3.4.1. diff --git a/contrib/djgpp-README b/contrib/djgpp-README deleted file mode 100644 index a6846f2..0000000 --- a/contrib/djgpp-README +++ /dev/null @@ -1,112 +0,0 @@ -This is a port of Recode 3.4 to MSDOS/DJGPP. - -Installation -============ - -Just unzip the binary distribution from the top DJGPP installation -directory, If you aren't familiar with the package, read the info docs. -If you run the programs from plain DOS (not Windows), you will need -to install a DPMI host. A free DPMI host is available as csdpmi3b.zip -from the peer directory ../v2misc at the same place you got the recode -package from. Note that the man pages are not included in the binary -distribution, since they are no longer maintained by the GNU project; -use the Info documentation instead. - -Features -======== - -This package has already been ported to the MSODS environment with Borland -Turbo C as the target compiler. This made the porting process to DJGPP -extremely simple. - -The file DIFFS in the source distribution describes the changes against -the original package. - -The GNU Gettext package is supported in the ported version, so you could -expect the programs to talk to you in any language not just English. - -Required tools -============== - -If you want to recompile the package, you will need the DJGPP development -environment (GCC, header files and the libraries) and DJGPP ports of the -following tools: - - - GNU Make 3.75 or later - - Bash (or some other Unix-like shell) - - GNU Sed - - GNU Fileutils - - GNU Textutils - - GNU Sh-utils - - GNU Grep (only if you need to run DJGPP\CONFIG.BAT) - - GNU Diffutils (only if you run the test suite) - - Perl (only if you need to change the test scripts) - -These should be available from the DJGPP sites. There are a few more -programs invoked during the build process, but they are all part of a -standard DJGPP installation and should be already installed on your system. - -The package should be built with the latest port of Make 3.75. Previous -versions of Make ported to DJGPP didn't support Unix shells, and the -Makefiles for this package won't work without a Unix shell. - - -How to build -============ - -Unzip the distribution. The package is already configured for DJGPP -v2.01, so if you only want to compile it, just call BUILD.BAT from the -main subdirectory: - - build - -This invokes Make. When Make finishes, you can install the package: - - make install - -If you make a change in some of the programs, it is a good idea to run -the test suite, so you know you didn't break anything: - - make check - -This will run for a while and should print 'All checks completed -successfully' after all tests have been performed. - -If you build Recode with DJGPP release other than 2.01, or if you want -to change the configuration options (e.g. add National Language Support -once it becomes available), you will have to reconfigure the package. -The CONFIG.BAT batch file sets a few environment variables, then calls -BASH to run the configure script, so you should run CONFIG.BAT, then make: - - config - make - -The configure script run by CONFIG.BAT supports a few options. Run "sh -./configure --help" to see all the options recognized by the script. - - -How to patch the original source -================================ - -You need the original sources of the Recode-3.4.1 package. Ungzip -and untar the sources, they'll be located in the directory named -'recode-3.4.1'. Change the name of that directory to 'recode.341', -and create and empty directory named 'recode-3.4.1'. In the parent -directory place the files 'update.bat' and 'diffs'. Run update bat, -this will patch the original sources now located in 'recode.341' -producing ready to compile sources. Remove files, whose names start -with '`' and delete the 'recode-3.4.1' direcory. - - -Example of use -============== - -To figure it out how to use Recode a sample PLCONV.BAT file is provided. -This file shows how to convert a file from IBM 852 code page to ISO 8859-2 -code page. Further details could be found in the Info documentation file. - - Enjoy, - - Wojciech Galazka - -Based on the original text by Eli Zaretskii diff --git a/contrib/djgpp-diffs b/contrib/djgpp-diffs deleted file mode 100644 index 2ce6693..0000000 --- a/contrib/djgpp-diffs +++ /dev/null @@ -1,308 +0,0 @@ -diff -urN recode-3.4.1-orig/Makefile.in recode.341/Makefile.in ---- recode-3.4.1-orig/Makefile.in Thu Dec 1 16:41:54 1994 -+++ recode.341/Makefile.in Sat Sep 20 10:22:50 1997 -@@ -107,7 +107,7 @@ - DISTFILES = \ - README AUTHORS BACKLOG COPYING INSTALL LOCALE NEWS THANKS TODO ChangeLog \ - Makefile.in acconfig.h aclocal.m4 configure.in install-sh mkinstalldirs \ --config.h.in configure stamp-h.in \ -+config.h-in configure stamp-h.in \ - recode.texi texinfo.tex stamp-vti version.texi charset.texi recode.info \ - ansi2knr.c ansi2knr.1 c-boxes.el mergelex.awk \ - $(HEADERS) $(SOURCES) $(LIBHDRS) $(LIBSRCS) checkit File-Latin1 \ -@@ -224,7 +224,7 @@ - - install: all - $(srcdir)/mkinstalldirs $(bindir) $(infodir) -- $(INSTALL_DATA) $(srcdir)/recode.info $(infodir)/recode.info -+ $(INSTALL_DATA) $(srcdir)/recode.info $(infodir)/recode.inf - $(INSTALL_PROGRAM) recode $(bindir)/`echo recode | sed '$(transform)'` - for name in $(CATALOGS); do \ - lang=`echo $$name | sed 's/.msg$$//'`; \ -@@ -234,7 +234,7 @@ - done - - uninstall: -- rm -f $(infodir)/recode.info -+ rm -f $(infodir)/recode.inf - rm -f $(bindir)/`echo recode | sed '$(transform)'` - for name in $(CATALOGS); do \ - lang=`echo $$name | sed 's/.msg$$//'`; \ -@@ -248,11 +248,12 @@ - - mostlyclean: - rm -f *.aux *.cp *.cps *.dvi *.fn *.fns *.ky *.log *.pg *.toc *.tp *.vr -- rm -f *.a *.o *._c *._o core core.* -+ rm -f *.exe *.a *.o *._c *._o core core.* - rm -f *.tmp yy.tab.* - - clean: mostlyclean - rm -f recode -+ rm -f recode.exe - - distclean: clean - rm -f ansi2knr -@@ -328,10 +329,10 @@ - cd $(srcdir) && autoconf - - config.h: stamp-h --stamp-h: config.h.in config.status -+stamp-h: config.h-in config.status - CONFIG_FILES= CONFIG_HEADERS=config.h ./config.status - date > stamp-h --config.h.in: stamp-h.in -+config.h-in: stamp-h.in - stamp-h.in: configure.in aclocal.m4 acconfig.h - cd $(srcdir) && autoheader - date > $(srcdir)/stamp-h.in -diff -urN recode-3.4.1-orig/build.bat recode.341/build.bat ---- recode-3.4.1-orig/build.bat Thu Jan 1 00:00:00 1970 -+++ recode.341/build.bat Sat May 24 21:27:24 1997 -@@ -0,0 +1,2 @@ -+@echo off -+make -diff -urN recode-3.4.1-orig/checkit.bat recode.341/checkit.bat ---- recode-3.4.1-orig/checkit.bat Thu Jan 1 00:00:00 1970 -+++ recode.341/checkit.bat Tue Sep 16 19:59:18 1997 -@@ -0,0 +1 @@ -+bash ./checkit %1 %2 %3 %4 %5 -diff -urN recode-3.4.1-orig/config.bat recode.341/config.bat ---- recode-3.4.1-orig/config.bat Thu Jan 1 00:00:00 1970 -+++ recode.341/config.bat Sat Sep 20 11:34:22 1997 -@@ -0,0 +1,41 @@ -+@echo off -+set CC=gcc -+set SYSROOT=c: -+set PATH_SEPARATOR=: -+set PATH_EXPAND=y -+if not "%HOSTNAME%" == "" goto hostdone -+if "%windir%" == "" goto msdos -+set OS=MS-Windows -+goto haveos -+:msdos -+set OS=DOS -+: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 -+:haveuser -+set HOSTNAME=%USER%'s PC -+goto userdone -+:haveuname -+set HOSTNAME=%USERNAME%'s PC -+:userdone -+set HOSTNAME=%HOSTNAME%, %OS% -+:hostdone -+set CONFIG_SHELL=bash.exe -+set INSTALL='${DJDIR}'/bin/ginstall -c -+if not exist configure.orig cp -f configure configure.orig -+bash ./configure --prefix='$(DJDIR)' -+echo updating config.h and Makefiles for DJGPP... -+mv -f config.h config.tmp -+sed -f config.sed config.tmp > config.h -+touch config.h -r config.tmp -+rm -f config.tmp -+mv -f config.h config.tmp -+sed -e 's/#define HAVE_PIPE 1/\/* #define HAVE_PIPE 0 *\//g' config.tmp > config.h -+touch config.h -r config.tmp -+rm -f config.tmp -+mv -f Makefile Makefile.tmp -+sed -e 's/config\.h\.in/config.h-in/g' Makefile.tmp > Makefile -+touch Makefile -r Makefile.tmp -+rm -f Makefile.tmp -diff -urN recode-3.4.1-orig/config.h-in recode.341/config.h-in ---- recode-3.4.1-orig/config.h-in Thu Jan 1 00:00:00 1970 -+++ recode.341/config.h-in Thu Dec 1 15:10:18 1994 -@@ -0,0 +1,76 @@ -+/* config.h.in. Generated automatically from configure.in by autoheader. */ -+ -+/* Define if on AIX 3. -+ System headers sometimes define this. -+ We just want to avoid a redefinition error message. */ -+#ifndef _ALL_SOURCE -+#undef _ALL_SOURCE -+#endif -+ -+/* Define to empty if the keyword does not work. */ -+#undef const -+ -+/* Define if you don't have vprintf but do have _doprnt. */ -+#undef HAVE_DOPRNT -+ -+/* Define if you have the vprintf function. */ -+#undef HAVE_VPRINTF -+ -+/* Define if on MINIX. */ -+#undef _MINIX -+ -+/* Define if the system does not provide POSIX.1 features except -+ with this defined. */ -+#undef _POSIX_1_SOURCE -+ -+/* Define if you need to in order for stat and other things to work. */ -+#undef _POSIX_SOURCE -+ -+/* Define as the return type of signal handlers (int or void). */ -+#undef RETSIGTYPE -+ -+/* Define if you have the ANSI C header files. */ -+#undef STDC_HEADERS -+ -+/* Default charset is `Latin-1' on UNIX, `IBM-PC' on MSDOS. */ -+#undef DEFAULT_CHARSET -+ -+/* Define to the name of the distribution. */ -+#undef PACKAGE -+ -+/* Define to 1 if ANSI function prototypes are usable. */ -+#undef PROTOTYPES -+ -+/* Define to the version of the distribution. */ -+#undef VERSION -+ -+/* Define to 1 for better use of the debugging malloc library. See -+ site ftp.antaire.com in antaire/src, file dmalloc/dmalloc.tar.gz. */ -+#undef WITH_DMALLOC -+ -+/* Define if you have the dup2 function. */ -+#undef HAVE_DUP2 -+ -+/* Define if you have the pipe function. */ -+#undef HAVE_PIPE -+ -+/* Define if you have the popen function. */ -+#undef HAVE_POPEN -+ -+/* Define if you have the rename function. */ -+#undef HAVE_RENAME -+ -+/* Define if you have the strerror function. */ -+#undef HAVE_STRERROR -+ -+/* Define if you have the header file. */ -+#undef HAVE_LIBINTL_H -+ -+/* Define if you have the header file. */ -+#undef HAVE_LIMITS_H -+ -+/* Define if you have the header file. */ -+#undef HAVE_LOCALE_H -+ -+/* Define if you have the header file. */ -+#undef HAVE_STRING_H -diff -urN recode-3.4.1-orig/config.h.in recode.341/config.h.in ---- recode-3.4.1-orig/config.h.in Thu Dec 1 15:10:18 1994 -+++ recode.341/config.h.in Thu Jan 1 00:00:00 1970 -@@ -1,76 +0,0 @@ --/* config.h.in. Generated automatically from configure.in by autoheader. */ -- --/* Define if on AIX 3. -- System headers sometimes define this. -- We just want to avoid a redefinition error message. */ --#ifndef _ALL_SOURCE --#undef _ALL_SOURCE --#endif -- --/* Define to empty if the keyword does not work. */ --#undef const -- --/* Define if you don't have vprintf but do have _doprnt. */ --#undef HAVE_DOPRNT -- --/* Define if you have the vprintf function. */ --#undef HAVE_VPRINTF -- --/* Define if on MINIX. */ --#undef _MINIX -- --/* Define if the system does not provide POSIX.1 features except -- with this defined. */ --#undef _POSIX_1_SOURCE -- --/* Define if you need to in order for stat and other things to work. */ --#undef _POSIX_SOURCE -- --/* Define as the return type of signal handlers (int or void). */ --#undef RETSIGTYPE -- --/* Define if you have the ANSI C header files. */ --#undef STDC_HEADERS -- --/* Default charset is `Latin-1' on UNIX, `IBM-PC' on MSDOS. */ --#undef DEFAULT_CHARSET -- --/* Define to the name of the distribution. */ --#undef PACKAGE -- --/* Define to 1 if ANSI function prototypes are usable. */ --#undef PROTOTYPES -- --/* Define to the version of the distribution. */ --#undef VERSION -- --/* Define to 1 for better use of the debugging malloc library. See -- site ftp.antaire.com in antaire/src, file dmalloc/dmalloc.tar.gz. */ --#undef WITH_DMALLOC -- --/* Define if you have the dup2 function. */ --#undef HAVE_DUP2 -- --/* Define if you have the pipe function. */ --#undef HAVE_PIPE -- --/* Define if you have the popen function. */ --#undef HAVE_POPEN -- --/* Define if you have the rename function. */ --#undef HAVE_RENAME -- --/* Define if you have the strerror function. */ --#undef HAVE_STRERROR -- --/* Define if you have the header file. */ --#undef HAVE_LIBINTL_H -- --/* Define if you have the header file. */ --#undef HAVE_LIMITS_H -- --/* Define if you have the header file. */ --#undef HAVE_LOCALE_H -- --/* Define if you have the header file. */ --#undef HAVE_STRING_H -diff -urN recode-3.4.1-orig/config.sed recode.341/config.sed ---- recode-3.4.1-orig/config.sed Thu Jan 1 00:00:00 1970 -+++ recode.341/config.sed Sat May 24 21:36:46 1997 -@@ -0,0 +1,5 @@ -+# Add a few DJGPP-specific lines to config.h -+$a\ -+\ -+#undef MSDOS \ -+ -diff -urN recode-3.4.1-orig/configure recode.341/configure ---- recode-3.4.1-orig/configure Thu Dec 1 16:31:02 1994 -+++ recode.341/configure Tue Sep 16 20:51:28 1997 -@@ -1571,6 +1571,7 @@ - for ac_file in .. $CONFIG_HEADERS; do if test "x$ac_file" != x..; then - # Support "outfile[:infile]", defaulting infile="outfile.in". - case "$ac_file" in -+ *.h) ac_file_in="${ac_file}-in" ;; - *:*) ac_file_in=`echo "$ac_file"|sed 's%.*:%%'` - ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; - *) ac_file_in="${ac_file}.in" ;; -diff -urN recode-3.4.1-orig/plconv.bat recode.341/plconv.bat ---- recode-3.4.1-orig/plconv.bat Thu Jan 1 00:00:00 1970 -+++ recode.341/plconv.bat Sun May 11 23:04:24 1997 -@@ -0,0 +1 @@ -+recode ibm852:latin2 %1 -diff -urN recode-3.4.1-orig/update.bat recode.341/update.bat ---- recode-3.4.1-orig/update.bat Thu Jan 1 00:00:00 1970 -+++ recode.341/update.bat Sun Jun 8 14:50:06 1997 -@@ -0,0 +1,6 @@ -+patch < diffs -+cd recode.34 -+touch config.status -+touch makefile -+touch config.h -+touch stamp-h