| @echo off |
| echo Configuring GNU libiconv 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 |
| test -d ./libcharset |
| if errorlevel 1 md libcharset |
| redir -e /dev/null update %XSRC%/libcharset/configure.orig ./libcharset/configure |
| test -f ./libcharset/configure |
| if errorlevel 1 update %XSRC%/libcharset/configure ./libcharset/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 |
| test -f ./libcharset/configure.orig |
| if errorlevel 1 update ./libcharset/configure ./libcharset/configure.orig |
| sed -f %XSRC%/djgpp/config.sed ./libcharset/configure.orig > configure.tmp |
| if errorlevel 1 goto SedError |
| Rem The following is needed because the toplevel configure script calls the |
| Rem %XSRC%/libcharset/configure script instead of ./libcharset/configure. |
| test -f %XSRC%/libcharset/configure.orig |
| if errorlevel 1 update %XSRC%/libcharset/configure %XSRC%/libcharset/configure.orig |
| update configure.tmp %XSRC%/libcharset/configure |
| rm ./configure.tmp |
| |
| 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%/lib/config.h.in |
| if not errorlevel 1 mv -f %XSRC%/lib/config.h.in %XSRC%/lib/config.h-in |
| test -f %XSRC%/libcharset/config.h.in |
| if not errorlevel 1 mv -f %XSRC%/libcharset/config.h.in %XSRC%/libcharset/config.h-in |
| test -f %XSRC%/libcharset/include/localcharset.h.in |
| if not errorlevel 1 mv -f %XSRC%/libcharset/include/localcharset.h.in %XSRC%/libcharset/include/localcharset.h-in |
| test -f %XSRC%/include/iconv.h.in |
| if not errorlevel 1 mv -f %XSRC%/include/iconv.h.in %XSRC%/include/iconv.h-in |
| |
| Rem All fixes needed to get the package configured, compiled and tested. |
| Rem 1: Change the stateless-check script so it knowns about the |
| Rem new filenames. |
| Rem 2: Ditto for Makefile.in |
| Rem 3: Ditto for source files. |
| Rem 4: Change the files contained in the tests subdirectory from |
| Rem UNIX-style EOL into DOS-style EOL so the testsuit works. |
| |
| test -f %XSRC%/stamp-djgppfixes |
| if not errorlevel 1 goto TestsuitFixed |
| Rem Fix the Makefile.ins. |
| test -f %XSRC%/lib/Makefile.orig |
| if errorlevel 1 update %XSRC%/lib/Makefile.in %XSRC%/lib/Makefile.orig |
| sed -f %XSRC%/djgpp/makefile.sed %XSRC%/lib/Makefile.in > Makefile.tmp |
| if errorlevel 1 goto SedError |
| update Makefile.tmp %XSRC%/lib/Makefile.in |
| rm Makefile.tmp |
| test -f %XSRC%/tests/Makefile.orig |
| if errorlevel 1 update %XSRC%/tests/Makefile.in %XSRC%/tests/Makefile.orig |
| sed -f %XSRC%/djgpp/makefile.sed %XSRC%/tests/Makefile.in > Makefile.tmp |
| if errorlevel 1 goto SedError |
| update Makefile.tmp %XSRC%/tests/Makefile.in |
| rm Makefile.tmp |
| |
| Rem Fix the source files. |
| test -f %XSRC%/lib/iconv.orig |
| if errorlevel 1 update %XSRC%/lib/iconv.c %XSRC%/lib/iconv.orig |
| sed -f %XSRC%/djgpp/sources.sed %XSRC%/lib/iconv.c > iconv.tmp |
| if errorlevel 1 goto SedError |
| update iconv.tmp %XSRC%/lib/iconv.c |
| rm iconv.tmp |
| test -f %XSRC%/lib/converters.orig |
| if errorlevel 1 update %XSRC%/lib/converters.h %XSRC%/lib/converters.orig |
| sed -f %XSRC%/djgpp/sources.sed %XSRC%/lib/converters.h > converters.tmp |
| if errorlevel 1 goto SedError |
| update converters.tmp %XSRC%/lib/converters.h |
| rm converters.tmp |
| test -f %XSRC%/lib/cns/11643.orig |
| if errorlevel 1 update %XSRC%/lib/cns/11643.h %XSRC%/lib/cns/11643.orig |
| sed -f %XSRC%/djgpp/sources.sed %XSRC%/lib/cns/11643.h > 11643.tmp |
| if errorlevel 1 goto SedError |
| update 11643.tmp %XSRC%/lib/cns/11643.h |
| rm 11643.tmp |
| test -f %XSRC%/lib/cns/11643_4.orig |
| if errorlevel 1 update %XSRC%/lib/cns/11643_4.h %XSRC%/lib/cns/11643_4.orig |
| sed -f %XSRC%/djgpp/sources.sed %XSRC%/lib/cns/11643_4.h > 11643_4.tmp |
| if errorlevel 1 goto SedError |
| update 11643_4.tmp %XSRC%/lib/cns/11643_4.h |
| rm 11643_4.tmp |
| test -f %XSRC%/lib/iso/ir165.orig |
| if errorlevel 1 update %XSRC%/lib/iso/ir165.h %XSRC%/lib/iso/ir165.orig |
| sed -f %XSRC%/djgpp/sources.sed %XSRC%/lib/iso/ir165.h > ir165.tmp |
| if errorlevel 1 goto SedError |
| update ir165.tmp %XSRC%/lib/iso/ir165.h |
| rm ir165.tmp |
| |
| Rem Change file's NL to CRLF. |
| utod %XSRC%/tests/*.txt |
| utod %XSRC%/tests/GEORGIAN/*.txt |
| utod %XSRC%/tests/ISO/*.txt |
| utod %XSRC%/tests/MAC/*.txt |
| |
| Rem Fix the test scripts. |
| if "%XSRC%" == "." goto NoDirChange |
| cd | sed "s|:.*$|:|" > cd_BuildDir.bat |
| cd | sed "s|^.:|cd |" >> cd_BuildDir.bat |
| mv -f cd_BuildDir.bat %XSRC%/cd_BuildDir.bat |
| echo %XSRC% | sed -e "s|^/dev/||" -e "s|/|:|" -e "s|:.*$|:|g" > cd_SrcDir.bat |
| echo %XSRC% | sed -e "s|^/dev/||" -e "s|/|:/|" -e "s|^.*:|cd |" -e "s|^\.\.|cd &|" -e "s|/|\\|g" >> cd_SrcDir.bat |
| call cd_SrcDir.bat |
| call djgpp\edtest.bat |
| call cd_BuildDir.bat |
| rm -f cd_SrcDir.bat cd_BuildDir.bat %XSRC%/cd_BuildDir.bat |
| goto TestsuitFixed |
| :NoDirChange |
| call djgpp\edtest.bat |
| :TestsuitFixed |
| touch %XSRC%/stamp-djgppfixes |
| |
| 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= |
| |
| Rem With libtool 1.4 -fPIC is the default. This completely breaks compilations |
| Rem with djgpp, so we will always use --disable-shared to inhibit the usage of |
| Rem -fPIC and -DPIC flags in libtool. |
| echo Running the ./configure script... |
| sh ./configure --enable-static --disable-shared --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= |