123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238 |
- @echo off
- echo Configuring GNU Texinfo for DJGPP v2.x...
- Rem The small_env 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, if dependency-tracking is
- Rem wanted or not, if cache is wanted or not, and where the sources are.
- set ARGS=
- set NLS=disabled
- if not "%NLS%" == "disabled" goto small_env
- set CACHE=enabled
- if not "%CACHE%" == "enabled" goto small_env
- set DEPTRAK=disabled
- if not "%DEPTRAK%" == "disabled" goto small_env
- set XSRC=.
- if not "%XSRC%" == "." goto small_env
- Rem Loop over all arguments.
- Rem Special arguments are: NLS, XSRC CACHE and DEPS.
- Rem All other arguments are stored into ARGS.
- :arg_loop
- set SPECARG=0
- if not "%SPECARG%" == "0" goto small_env
- if not "%1" == "NLS" if not "%1" == "nls" goto cache_opt
- if "%1" == "nls" set NLS=enabled
- if "%1" == "NLS" set NLS=enabled
- if not "%NLS%" == "enabled" goto small_env
- set SPECARG=1
- if not "%SPECARG%" == "1" goto small_env
- shift
- :cache_opt
- set SPECARG=0
- if not "%SPECARG%" == "0" goto small_env
- if "%1" == "no-cache" goto cache_off
- if "%1" == "no-CACHE" goto cache_off
- if not "%1" == "NO-CACHE" goto dependency_opt
- :cache_off
- if "%1" == "no-cache" set CACHE=disabled
- if "%1" == "no-CACHE" set CACHE=disabled
- if "%1" == "NO-CACHE" set CACHE=disabled
- if not "%CACHE%" == "disabled" goto small_env
- set SPECARG=1
- if not "%SPECARG%" == "1" goto small_env
- shift
- :dependency_opt
- set SPECARG=0
- if not "%SPECARG%" == "0" goto small_env
- if "%1" == "dep" goto dep_off
- if not "%1" == "DEP" goto src_dir_opt
- :dep_off
- if "%1" == "dep" set DEPTRAK=enabled
- if "%1" == "DEP" set DEPTRAK=enabled
- if not "%DEPTRAK%" == "enabled" goto small_env
- set SPECARG=1
- if not "%SPECARG%" == "1" goto small_env
- shift
- :src_dir_opt
- set SPECARG=0
- if not "%SPECARG%" == "0" goto small_env
- echo %1 | grep -q "/"
- if errorlevel 1 goto collect_arg
- set XSRC=%1
- if not "%XSRC%" == "%1" goto small_env
- set SPECARG=1
- if not "%SPECARG%" == "1" goto small_env
- :collect_arg
- if "%SPECARG%" == "0" set _ARGS=%ARGS% %1
- if "%SPECARG%" == "0" if not "%_ARGS%" == "%ARGS% %1" goto small_env
- echo %_ARGS% | grep -q "[^ ]"
- if not errorlevel 0 set ARGS=%_ARGS%
- set _ARGS=
- shift
- if not "%1" == "" goto arg_loop
- set SPECARG=
- Rem Create a response file for the configure script.
- echo --srcdir=%XSRC% > args
- if "%CACHE%" == "enabled" echo --config-cache >> args
- if "%DEPTRAK%" == "enabled" echo --enable-dependency-tracking >> args
- if "%DEPTRAK%" == "disabled" echo --disable-dependency-tracking >> args
- if not "%ARGS%" == "" echo %ARGS% >> args
- set ARGS=
- set CACHE=
- set DEPTRAK=
- if "%XSRC%" == "." goto in_place
- :not_in_place
- redir -e /dev/null update %XSRC%/configure.org ./configure
- test -f ./configure
- if errorlevel 1 update %XSRC%/configure ./configure
- :in_place
- Rem Update configuration files
- echo Updating configuration scripts...
- test -f ./configure.org
- if errorlevel 1 update configure configure.org
- sed -f %XSRC%/djgpp/config.sed configure.org > configure
- if errorlevel 1 goto sed_error
- 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 small_env
- Rem Make sure crucial file names are not munged by unpacking
- test -f %XSRC%/po/Makefile.in.in
- if not errorlevel 1 mv -f %XSRC%/po/Makefile.in.in %XSRC%/po/Makefile.in-in
- test -f %XSRC%/po/Makefile.am.in
- if not errorlevel 1 mv -f %XSRC%/po/Makefile.am.in %XSRC%/po/Makefile.am-in
- 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 HOME to a sane default so configure stops complaining.
- if not "%HOME%" == "" goto host_name
- set HOME=%XSRC%/djgpp
- if not "%HOME%" == "%XSRC%/djgpp" goto small_env
- echo No HOME found in the environment, using default value
- :host_name
- 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 small_env
- goto haveos
- :msdos
- set OS=MS-DOS
- if not "%OS%" == "MS-DOS" goto small_env
- :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 small_env
- goto userdone
- :haveuser
- set HOSTNAME=%USER%'s PC
- if not "%HOSTNAME%" == "%USER%'s PC" goto small_env
- goto userdone
- :haveuname
- set HOSTNAME=%USERNAME%'s PC
- if not "%HOSTNAME%" == "%USERNAME%'s PC" goto small_env
- :userdone
- set _HOSTNAME=%HOSTNAME%, %OS%
- if not "%_HOSTNAME%" == "%HOSTNAME%, %OS%" goto small_env
- 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 no_ren0
- test -f %XSRC%/install-sh.sh
- if not errorlevel 1 mv -f %XSRC%/install-sh.sh %XSRC%/install-sh
- :no_ren0
- if "%NLS%" == "disabled" goto without_NLS
- :with_NLS
- Rem Check for the needed libraries and binaries.
- test -x /dev/env/DJDIR/bin/msgfmt.exe
- if not errorlevel 0 goto missing_NLS_tools
- test -x /dev/env/DJDIR/bin/xgettext.exe
- if not errorlevel 0 goto missing_NLS_tools
- test -f /dev/env/DJDIR/include/libcharset.h
- if not errorlevel 0 goto missing_NLS_tools
- test -f /dev/env/DJDIR/lib/libcharset.a
- if not errorlevel 0 goto missing_NLS_tools
- test -f /dev/env/DJDIR/include/iconv.h
- if not errorlevel 0 goto missing_NLS_tools
- test -f /dev/env/DJDIR/lib/libiconv.a
- if not errorlevel 0 goto missing_NLS_tools
- test -f /dev/env/DJDIR/include/libintl.h
- if not errorlevel 0 goto missing_NLS_tools
- test -f /dev/env/DJDIR/lib/libintl.a
- if not errorlevel 0 goto missing_NLS_tools
- Rem Recreate the files in the %XSRC%/po subdir with our ported tools.
- redir -e /dev/null rm %XSRC%/po/*.gmo
- redir -e /dev/null rm %XSRC%/po/texinfo*.pot
- redir -e /dev/null rm %XSRC%/po/cat-id-tbl.c
- redir -e /dev/null rm %XSRC%/po/stamp-cat-id
- Rem Update the arguments file for the configure script.
- Rem We prefer without-included-gettext because libintl.a from gettext package
- Rem is the only one that is guaranteed to have been ported to DJGPP.
- echo --enable-nls --without-included-gettext >> args
- goto configure_package
- :missing_NLS_tools
- echo Needed libs/tools for NLS not found. Configuring without NLS.
- :without_NLS
- Rem Update the arguments file for the configure script.
- echo --disable-nls >> args
- :configure_package
- echo Running the ./configure script...
- sh ./configure @args
- if errorlevel 1 goto cfg_error
- rm args
- echo Done.
- goto End
- :sed_error
- echo ./configure script editing failed!
- goto End
- :cfg_error
- echo ./configure script exited abnormally!
- goto End
- :small_env
- 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 no_ren1
- test -f %XSRC%/install-sh
- if not errorlevel 1 mv -f %XSRC%/install-sh %XSRC%/install-sh.sh
- :no_ren1
- if "%HOME%" == "%XSRC%/djgpp" set HOME=
- set ARGS=
- set CONFIG_SITE=
- set HOSTNAME=
- set NLS=
- set CACHE=
- set DEPTRAK=
- set XSRC=
|