@echo off REM REM Installation batch file for FreeDoko, a Doppelkopf-Game REM REM Copyright (C) 2006 by Diether Knof REM REM This program is free software; you can redistribute it and/or REM modify it under the terms of the GNU General Public License as REM published by the Free Software Foundation; either version 2 of REM the License, or (at your option) any later version. REM REM This program is distributed in the hope that it will be useful, REM but WITHOUT ANY WARRANTY; without even the implied warranty of REM MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the REM GNU General Public License for more details. REM You can find this license in the file 'GPL'. REM REM You should have received a copy of the GNU General Public License REM along with this program; if not, write to the Free Software REM Foundation, Inc., 59 Temple Place, Suite 330, Boston, REM MA 02111-1307 USA REM REM Contact: REM Diether Knof dknof@gmx.de REM Borg Enders borg@borgsoft.de REM REM Laedt Entwicklungsumgebung msys, Bibliotheken gtkmm und gnet sowie FreeDoko REM und erstellt FreeDoko Programm REM Es werden etwa 80 MB heruntergeladen REM Getestet unter Microsoft Windows XP, wird wahrscheinlich nicht unter Windows 98 funktionieren. REM REM 2006-12-12 Diether Knof REM REM ToDo: Fehlerbehandlung REM ToDo: Verknuepfungen REM ToDo: Beschreibung der Schritte fuer den Anwender SETLOCAL call :info call :init call :fetch_files call :extract_all PATH %MINGW_DIR%\bin;%MINGW_DIR%\lib;%PATH% call :build_libraries call :fetch_FreeDoko call :build_FreeDoko ENDLOCAL goto :EOF :info echo ---- echo Dieses Skript laedt die Entwicklungsumgebung msys, die Bibliotheken gtkmm und gnet sowie FreeDoko und erstellt das FreeDoko Programm. echo Es werden etwa 80 MB heruntergeladen echo Getestet unter Microsoft Windows XP, wird wahrscheinlich nicht unter Windows 98 funktionieren. echo ---- echo. goto :EOF REM Initialisierung :init echo Initialisiere die Umgebung REM uebergeordnetes Verzeichnis REM set FREEDOKO_DIRECTORY=C:\install\FreeDoko.build set FREEDOKO_DIRECTORY=%CD% REM Verzeichnis fuer die Programme set BIN_DIR=%FREEDOKO_DIRECTORY%\bin REM Verzeichnis fuer die downloads set DOWNLOADS_DIR=%FREEDOKO_DIRECTORY%\downloads REM Verzeichnis fuer MinGW32 set MINGW_DIR=%FREEDOKO_DIRECTORY%\MinGW32 REM Verzeichnis fuer den FreeDoko Quelltext set FREEDOKO_TRUNK_DIR=%FREEDOKO_DIRECTORY%\trunk REM Verzeichnis fuer das FreeDoko Handbuch set FREEDOKO_MANUAL_DIR=%FREEDOKO_DIRECTORY%\manual REM Verzeichnis fuer die FreeDoko Installations-Dateien set FREEDOKO_INSTALL_DEV_DIR=%FREEDOKO_DIRECTORY%\install_dev REM Programme REM wget set WGET=%BIN_DIR%\wget.exe --no-clobber --no-directories --directory-prefix=%DOWNLOADS_DIR% REM Entpacker set UNCOMPRESS=%BIN_DIR%\7z.exe x -aoa -y REM svn set SVN=%MINGW_DIR%\bin\svn.exe REM MinGW32-Verzeichnis erstellen if exist %MINGW_DIR% rmdir /s /q %MINGW_DIR% if exist $_OUTDIR rmdir /s /q $_OUTDIR if exist %FREEDOKO_TRUNK_DIR% rmdir /s /q %FREEDOKO_TRUNK_DIR% if exist %FREEDOKO_MANUAL_DIR% rmdir /s /q %FREEDOKO_MANUAL_DIR% if exist %FREEDOKO_INSTALL_DEV_DIR% rmdir /s /q %FREEDOKO_INSTALL_DEV_DIR% goto :EOF REM Dateien herunterladen: REM Entpacker REM Subversoin REM MinGW32 REM Gtk, gtkmm REM gnet :fetch_files echo Lade Dateien aus dem Internet if not exist %DOWNLOADS_DIR% mkdir %DOWNLOADS_DIR% for %%f in ( http://subversion.tigris.org/downloads/svn-win32-1.4.2.zip http://mesh.dl.sourceforge.net/sourceforge/gladewin32/gtk-dev-2.8.20-win32-1.exe http://www.pcpm.ucl.ac.be/~gustin/win32_ports/binaries/gtkmm-devel-2.8.8-2.exe http://mesh.dl.sourceforge.net/sourceforge/mingw/binutils-2.15.91-20040904-1.tar.gz http://mesh.dl.sourceforge.net/sourceforge/mingw/gcc-core-3.4.2-20040916-1.tar.gz http://mesh.dl.sourceforge.net/sourceforge/mingw/gcc-g++-3.4.2-20040916-1.tar.gz http://mesh.dl.sourceforge.net/sourceforge/mingw/mingw-runtime-3.9.tar.gz http://mesh.dl.sourceforge.net/sourceforge/mingw/w32api-3.6.tar.gz http://mesh.dl.sourceforge.net/sourceforge/mingw/mingw32-make-3.80.0-3.tar.gz http://www.gnetlibrary.org/win32/gnet-src-2.0-20030531.zip ) do call :fetch %%f REM http://mesh.dl.sourceforge.net/sourceforge/gladewin32/gtk-dev-2.10.6-win32-1.exe REM http://mesh.dl.sourceforge.net/sourceforge/gladewin32/gtk-win32-devel-2.6.10-rc1.exe REM http://www.pcpm.ucl.ac.be/~gustin/win32_ports/binaries/gtkmm-devel-2.6.2-1.exe REM http://mesh.dl.sourceforge.net/sourceforge/freedoko/FreeDoko_0.7.4.Windows.zip goto :EOF REM Entpacke die Archive :extract_all echo Entpacke die Archive REM gtkmm REM ToDo: check for windows version echo Entpacke gtk: gtk-dev-2.8.20-win32-1.exe %UNCOMPRESS% %DOWNLOADS_DIR%\gtk-dev-2.8.20-win32-1.exe -ir!$_OUTDIR/* >NUL echo gtk-theme-name = "Default" > $_OUTDIR\etc\gtk-2.0\gtkrc echo Entpacke gtkmm: gtkmm-devel-2.8.8-2.exe %UNCOMPRESS% %DOWNLOADS_DIR%\gtkmm-devel-2.8.8-2.exe -ir!$_OUTDIR/* >NUL echo bin > gtkmm.files echo lib >> gtkmm.files echo share >> gtkmm.files echo gtkmm-demo >> gtkmm.files echo MSVC >> gtkmm.files echo gtkmm.ico >> gtkmm.files echo lgpl.txt >> gtkmm.files echo gtkmm_win32.txt >> gtkmm.files %UNCOMPRESS% -o$_OUTDIR/ %DOWNLOADS_DIR%\gtkmm-devel-2.8.8-2.exe -ir@gtkmm.files >NUL del gtkmm.files cd $_OUTDIR\ move atkmm-1.6 include\ mkdir lib\gdkmm-2.4 move gdkmm-2.4\include lib\gdkmm-2.4\ move gdkmm-2.4 include\ move gideon include\ mkdir lib\glibmm-2.4 move glibmm-2.4\include lib\glibmm-2.4\ move glibmm-2.4\proc lib\glibmm-2.4\ rmdir /s /q glibmm-2.4\docs rmdir /s /q glibmm-2.4\examples move glibmm-2.4 include\ mkdir lib\gtkmm-2.4 move gtkmm-2.4\include lib\gtkmm-2.4\ move gtkmm-2.4\proc lib\gtkmm-2.4\ rmdir /s /q gtkmm-2.4\docs rmdir /s /q gtkmm-2.4\tests move gtkmm-2.4 include\ mkdir lib\libglademm-2.4 move libglademm-2.4\include lib\libglademm-2.4\ move libglademm-2.4\proc lib\libglademm-2.4\ rmdir /s /q libglademm-2.4\docs del /q libglademm-2.4\libglademm-2.4.devhelp move libglademm-2.4 include\ rmdir /s /q libsigc-2.0 mkdir lib\libxml++-2.6 move libxml++-2.6\include lib\libxml++-2.6\ rmdir /s /q libxml++-2.6\docs move libxml++-2.6 include\ move pangomm-1.4 include\ mkdir lib\sigc++-2.0 move sigc++-2.0\include lib\sigc++-2.0\ move sigc++-2.0 include\ move *.lib lib\ >NUL cd .. move /Y $_OUTDIR %MINGW_DIR% >NUL REM Subversion echo Entpacke subversion: svn-win32-1.4.2.zip %UNCOMPRESS% %DOWNLOADS_DIR%\svn-win32-1.4.2.zip >NUL move /Y svn-win32-1.4.2\README.txt %MINGW_DIR%\Subversion.README.txt >NUL xcopy /S /Y svn-win32-1.4.2 %MINGW_DIR%\ >NUL rmdir /s /q svn-win32-1.4.2 REM MinGW32 for %%a in ( binutils-2.15.91-20040904-1 gcc-core-3.4.2-20040916-1 gcc-g++-3.4.2-20040916-1 mingw-runtime-3.9 w32api-3.6 mingw32-make-3.80.0-3 ) do call :extract_tar_gz %%a copy %MINGW_DIR%\bin\mingw32-make.exe %MINGW_DIR%\bin\make.exe >NUL goto :EOF REM Erstelle die Bibliotheken :build_libraries echo Erstelle die Bibliotheken call :build_gnet goto :EOF REM Erstelle und installiere die gnet-Bibliothek :build_gnet echo Erstelle und installiere die gnet-Bibliothek echo (die 'dllwrap'-Ausgabe kann ignoriert werden) REM gnet REM gnet-2.0.7.tar.gz REM gnet-src-2.0-20030531.zip REM ToDo %UNCOMPRESS% %DOWNLOADS_DIR%\gnet-src-2.0-20030531.zip >NUL echo /**/>>gnet\gnetconfig.h %MINGW_DIR%\bin\make CC=%MINGW_DIR%\bin\gcc DLLWRAP=%MINGW_DIR%\bin\dllwrap FLAGS="-g -Wall -mno-cygwin -DGNET_EXPERIMENTAL=1" INCLUDE="-I. -I%MINGW_DIR%/include/glib-2.0 -I%MINGW_DIR%/lib/glib-2.0/include" LIBS="-L%MINGW_DIR%/lib -lglib-2.0 -lintl -liconv -lws2_32" --silent -C gnet if ERRORLEVEL 1 msg * /w Fehler beim Kompilieren von gnet mkdir %MINGW_DIR%\include\gnet copy gnet\*.h %MINGW_DIR%\include\gnet\ >NUL copy gnet\libgnet-2.0.a %MINGW_DIR%\lib\ >NUL copy gnet\gnet-2.0.dll %MINGW_DIR%\bin\ >NUL rmdir /s /q gnet goto :EOF REM Lade FreeDoko herunter :fetch_FreeDoko echo Lade FreeDoko aus dem Internet herunter echo Lade den Quelltext: svn://svn.gna.org/svn/freedoko/trunk %SVN% checkout svn://svn.gna.org/svn/freedoko/trunk %FREEDOKO_TRUNK_DIR% if ERRORLEVEL 1 msg * /w Fehler beim Herunterladen des Quelltextes von svn://svn.gna.org/svn/freedoko/trunk echo Lade Installationsskripte: svn://svn.gna.org/svn/freedoko/more_data/setup/Windows/install_dev %SVN% checkout svn://svn.gna.org/svn/freedoko/more_data/setup/Windows/install_dev %FREEDOKO_INSTALL_DEV_DIR% if ERRORLEVEL 1 msg * /w Fehler beim Herunterladen der Installationsskripte von svn://svn.gna.org/svn/freedoko/more_data/setup/Windows/install_dev echo Lade das Handbuch: svn://svn.gna.org/svn/freedoko/manual %SVN% checkout svn://svn.gna.org/svn/freedoko/manual %FREEDOKO_MANUAL_DIR% if ERRORLEVEL 1 msg * /w Fehler beim Herunterladen des Handbuches von svn://svn.gna.org/svn/freedoko/manual echo Lade zusaetzliche Kartensaetze: http://mesh.dl.sourceforge.net/sourceforge/freedoko/FreeDoko_0.7.4.Windows.zip REM call :fetch http://mesh.dl.sourceforge.net/sourceforge/freedoko/FreeDoko_0.7.4.Windows.zip call :fetch http://www-computerlabor.math.uni-kiel.de/~dknof/Daten/FreeDoko/FreeDoko_0.7.4.Windows.zip echo Entpacke zusaetzliche Kartensaetze: FreeDoko_0.7.4.Windows.zip %UNCOMPRESS% %DOWNLOADS_DIR%\FreeDoko_0.7.4.Windows.zip >NUL if ERRORLEVEL 1 echo Fehler beim Entpacken des Archives FreeDoko_0.7.4.Windows.zip move /y FreeDoko_0.7.4\cardsets\Altenburg %FREEDOKO_TRUNK_DIR%\data\cardsets\ >NUL move /y FreeDoko_0.7.4\cardsets\Elite %FREEDOKO_TRUNK_DIR%\data\cardsets\ >NUL move /y FreeDoko_0.7.4\cardsets\InnoCard %FREEDOKO_TRUNK_DIR%\data\cardsets\ >NUL move /y FreeDoko_0.7.4\logo.png %FREEDOKO_TRUNK_DIR%\src\logo.png >NUL rmdir /s /q FreeDoko_0.7.4 goto :EOF REM Kompiliere FreeDoko :build_FreeDoko echo Kompiliere FreeDoko (dauert einige Zeit) REM update.bat erstellen echo @ECHO off> update.bat echo SETLOCAL>> update.bat echo set FREEDOKO_DIRECTORY=%CD%>> update.bat echo set MINGW_DIR=%MINGW_DIR%>> update.bat echo set FREEDOKO_MANUAL_DIR=%FREEDOKO_MANUAL_DIR%>> update.bat echo set FREEDOKO_TRUNK_DIR=%FREEDOKO_TRUNK_DIR%>> update.bat echo set FREEDOKO_INSTALL_DEV_DIR=%FREEDOKO_INSTALL_DEV_DIR%>> update.bat echo call %%FREEDOKO_INSTALL_DEV_DIR%%\update.bat>> update.bat echo ENDLOCAL>> update.bat echo @ECHO off> %FREEDOKO_TRUNK_DIR%\src\FreeDoko.bat echo REM If your path variable is full and you do use the DOS-Box only for FreeDoko>> %FREEDOKO_TRUNK_DIR%\src\FreeDoko.bat echo REM PATH C:\Windows\Command>> %FREEDOKO_TRUNK_DIR%\src\FreeDoko.bat echo SETLOCAL>> %FREEDOKO_TRUNK_DIR%\src\FreeDoko.bat echo PATH %MINGW_DIR%\bin;%MINGW_DIR%\lib;%PATH%>> %FREEDOKO_TRUNK_DIR%\src\FreeDoko.bat echo .\FreeDoko.exe %%1 %%2 %%3 %%4 %%5 %%6 %%7 %%8 %%9>> %FREEDOKO_TRUNK_DIR%\src\FreeDoko.bat echo ENDLOCAL>> %FREEDOKO_TRUNK_DIR%\src\FreeDoko.bat make -C %FREEDOKO_TRUNK_DIR%\src if ERRORLEVEL 1 msg * /w Fehler beim Kompilieren von FreeDoko. Bitte schicken Sie uns (free-doko-developer@lists.sourceforge.net) die Meldungen aus dem DOS-Fenster. REM Symbole erstellen REM ToDo goto :EOF REM Laedt die angegebene Datei REM Argumente: REM 1 Internetadresse :fetch echo Lade %1 aus dem Internet herunter %WGET% %1 >NUL if ERRORLEVEL 1 msg * /w Fehler beim Herunterladen von %1 goto :EOF REM entpackt die angegebene tar.gz-Datei REM Argumente: REM 1 Datei (ohne Endung '.tar.gz' :extract_tar_gz echo Entpacke %1.tar.gz %UNCOMPRESS% -o%MINGW_DIR% %DOWNLOADS_DIR%\%1.tar.gz >NUL if ERRORLEVEL 1 echo Fehler beim Entpacken des Archives %1.tar.gz REM if ERRORLEVEL 1 msg * /w Fehler beim Entpacken des Archives %1.tar.gz %UNCOMPRESS% -o%MINGW_DIR% %MINGW_DIR%\%1.tar >NUL if ERRORLEVEL 1 echo Fehler beim Entpacken des Archives %1.tar REM if ERRORLEVEL 1 msg * /w Fehler beim Entpacken des Archives %1.tar del %MINGW_DIR%\%1.tar goto :EOF :EOF