From 4f5108ff1c106cf677f904b916ffb1ac8b0bca1b Mon Sep 17 00:00:00 2001 From: rosenfield Date: Mon, 22 Oct 2007 15:34:17 +0000 Subject: [PATCH] * Add IdeBplInstall executable to be used from a batch file. * Add a batch file which installs design-time components. * Bugfix build_super; going to the end of a batch file to exit it when inside a batch procedure does not work. * Rename batch scripts so they appear in the directory in the order they are to be used in (1. compile, 2. install ide components, 3. generate installer relevant stuff). --- extra/IdeBplInstall/IdeBplInstall.exe | Bin 0 -> 99328 bytes .../{build_super.cmd => build_everything.cmd} | 20 ++- extra/install_ide_components.cmd | 133 ++++++++++++++++++ ... => installer_function_list_generator.php} | 0 4 files changed, 151 insertions(+), 2 deletions(-) create mode 100644 extra/IdeBplInstall/IdeBplInstall.exe rename extra/{build_super.cmd => build_everything.cmd} (90%) create mode 100644 extra/install_ide_components.cmd rename extra/{generate_mysqlfunction_array.php => installer_function_list_generator.php} (100%) diff --git a/extra/IdeBplInstall/IdeBplInstall.exe b/extra/IdeBplInstall/IdeBplInstall.exe new file mode 100644 index 0000000000000000000000000000000000000000..3535b8a4a077b4742388cf880abc07df2f82a8f9 GIT binary patch literal 99328 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: if not %errorlevel% == 0 goto delayexpansion_failure -goto test_dcc32 +goto tool_tests :extensions_failure echo Error: Your command interpreter (cmd.exe) does not support @@ -21,6 +21,8 @@ echo delayed variable expansion. This is not currently a requirement echo for this build script, but may be in the future. echo. +:tool_tests + :test_dcc32 dcc32.exe --version >NUL: 2>NUL: if %errorlevel% == 0 goto test_svn @@ -155,7 +157,7 @@ goto build echo Compiling component %1, package %2. cd /d "%base_dir%\components\%1\packages\%package_dir%\" "%compiler%" %params% %2.dpk -if not %errorlevel% == 0 goto end +set err=%errorlevel% echo. goto :eof @@ -164,34 +166,48 @@ echo. rem Build EDBImage call :compile edbimage VCLSer +if not %err% == 0 goto end call :compile edbimage DCLSer +if not %err% == 0 goto end rem Build SMDBGrid call :compile smdbgrid SMDBGridComponents +if not %err% == 0 goto end rem Build SynEdit call :compile synedit SynEditR +if not %err% == 0 goto end call :compile synedit SynEditD +if not %err% == 0 goto end rem Build ZeosDBO call :compile zeosdbo ZCore +if not %err% == 0 goto end call :compile zeosdbo ZPlain +if not %err% == 0 goto end call :compile zeosdbo ZParseSql +if not %err% == 0 goto end call :compile zeosdbo ZDbc +if not %err% == 0 goto end call :compile zeosdbo ZComponent +if not %err% == 0 goto end call :compile zeosdbo ZComponentDesign +if not %err% == 0 goto end rem Build HeidiComponents call :compile heidisql HeidiComponents +if not %err% == 0 goto end rem Build VirtualTreeView call :compile virtualtreeview VirtualTreesR +if not %err% == 0 goto end call :compile virtualtreeview VirtualTreesD +if not %err% == 0 goto end rem Build main executable diff --git a/extra/install_ide_components.cmd b/extra/install_ide_components.cmd new file mode 100644 index 00000000..d1e92b24 --- /dev/null +++ b/extra/install_ide_components.cmd @@ -0,0 +1,133 @@ +@echo off + +setlocal enableextensions 2>nul: +if not %errorlevel% == 0 goto extensions_failure + +setlocal enabledelayexpansion 2>nul: +if not %errorlevel% == 0 goto delayexpansion_failure +goto tool_tests + +:extensions_failure +echo Error: Your command interpreter (cmd.exe) does not support +echo command processor extensions. This is a requirement for +echo this build script to work. Please upgrade your command processor. +echo. +pause > NUL: +goto :eof + +:delayexpansion_failure +echo Notice: Your command interpreter (cmd.exe) does not support +echo delayed variable expansion. This is not currently a requirement +echo for this build script, but may be in the future. +echo. + +:tool_tests + +:test_dcc32 +dcc32.exe --version >NUL: 2>NUL: +if %errorlevel% == 0 goto test_libs + +:dcc32_not_found +echo Error: Delphi compiler 'dcc32.exe' was not found in PATH. +echo. +echo Please install Delphi. When installing, Delphi should modify +echo your system path to include the location of this file. +echo. +echo See also: +echo http://www.codegear.com/downloads/free/delphi +echo. +pause > NUL: +goto :eof + +:locate_dcc32 +if not "%compiler_dir%" == "none" goto :eof +pushd %~f1 +if exist dcc32.exe set compiler_dir=found +if "%compiler_dir%" == "found" cd .. +if "%compiler_dir%" == "found" set compiler_dir=%CD% +popd +goto :eof + +:test_libs +SET compiler_dir=none +for %%p in ("%PATH:;=" "%") do call :locate_dcc32 %%p +if "%compiler_dir%" == "none" (goto dcc32_not_found) else (goto test_packages) + +:test_packages +set package_suffix=none +dcc32.exe --version | find "18.0" >NUL: +if %errorlevel% == 0 set package_suffix=100 +dcc32.exe --version | find "18.5" >NUL: +if %errorlevel% == 0 set package_suffix=110 +if "%package_suffix%" == "none" (goto unknown_version) else (goto init) + +:unknown_version +echo Error: Unknown version of Delphi compiler 'dcc32.exe'! +echo. +echo At present, only Delphi 10 (Borland Developer Studio 2006) +echo and Delphi 11 (CodeGear Delphi 2007). +echo. +echo Please install one of those... +echo. +echo If you think you are receiving this message in error, +echo please inform the developers at heidisql-devel@sourceforge.net. +echo. +pause >NUL: +goto :eof + +:init +set start_dir=%CD% +cd .. +set base_dir=%CD% + +echo Base directory: %base_dir% +echo Package suffix: %package_suffix% +goto :start + +:install +echo Installing component %1, package %2%package_suffix%.bpl. +%start_dir%\IdeBplInstall\IdeBplInstall.exe "%base_dir%\components\%1\build\%2%package_suffix%.bpl" "%1" +set err=%errorlevel% +echo. +goto :eof + +:start +echo. + +rem Install EDBImage +call :install edbimage DCLSer +if not %err% == 0 goto end + + +rem Install SMDBGrid +call :install smdbgrid SMDBGridComponents +if not %err% == 0 goto end + + +rem Install SynEdit +call :install synedit SynEditD +if not %err% == 0 goto end + + +rem Install ZeosDBO +call :install zeosdbo ZComponentDesign +if not %err% == 0 goto end + + +rem Install HeidiComponents +call :install heidisql HeidiComponents +if not %err% == 0 goto end + + +rem Install VirtualTreeView +call :install virtualtreeview VirtualTreesD +if not %err% == 0 goto end + + +echo. +echo Finished. +echo. + + +:end +cd /d "%start_dir%" 2>NUL: diff --git a/extra/generate_mysqlfunction_array.php b/extra/installer_function_list_generator.php similarity index 100% rename from extra/generate_mysqlfunction_array.php rename to extra/installer_function_list_generator.php