make_examples.bat 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189
  1. ::@echo off
  2. :: Set env vars
  3. @call setenvvar.bat
  4. @if errorlevel 1 (goto :EOF)
  5. @call set_build_target.bat %*
  6. :: verify that boot was run before
  7. @if not exist %FB_BIN_DIR%\isql.exe (goto :HELP_BOOT & goto :EOF)
  8. @if not exist %FB_BIN_DIR%\gpre.exe (goto :HELP_BOOT & goto :EOF)
  9. @if not exist %FB_BIN_DIR%\fbclient.dll (goto :HELP_BOOT & goto :EOF)
  10. ::Uncomment this to build intlemp
  11. ::set FB2_INTLEMP=1
  12. ::===========
  13. :MAIN
  14. @echo BUILD_EMPBUILD
  15. @call :BUILD_EMPBUILD
  16. @echo.
  17. @echo Building %FB_OBJ_DIR%
  18. @call compile.bat %FB_ROOT_PATH%\builds\win32\%VS_VER%\FirebirdExamples empbuild_%FB_TARGET_PLATFORM%.log empbuild
  19. @if defined FB2_INTLEMP (
  20. @call compile.bat %FB_ROOT_PATH%\builds\win32\%VS_VER%\FirebirdExamples intlbuild_%FB_TARGET_PLATFORM%.log intlbuild
  21. )
  22. @call compile.bat %FB_ROOT_PATH%\builds\win32\%VS_VER%\FirebirdExamples udrcpp_example_%FB_TARGET_PLATFORM%.log udrcpp_example
  23. if errorlevel 1 (
  24. @call :ERROR building udrcpp example failed - see make_examples_%FB_TARGET_PLATFORM%.log for details
  25. @goto :EOF
  26. )
  27. @echo.
  28. @call :MOVE
  29. @call :BUILD_EMPLOYEE
  30. @call :MOVE2
  31. @goto :EOF
  32. ::===========
  33. :BUILD_EMPBUILD
  34. @echo.
  35. @echo Building empbuild.fdb
  36. @copy /y %FB_ROOT_PATH%\examples\empbuild\*.sql %FB_GEN_DIR%\examples\ > nul
  37. @copy /y %FB_ROOT_PATH%\examples\empbuild\*.inp %FB_GEN_DIR%\examples\ > nul
  38. @echo.
  39. :: Here we must use cd because isql does not have an option to set a base directory
  40. @cd %FB_GEN_DIR%\examples
  41. @echo Creating empbuild.fdb...
  42. @echo.
  43. @del empbuild.fdb 2> nul
  44. @%FB_BIN_DIR%\isql -i empbld.sql
  45. if defined FB2_INTLEMP (
  46. @echo Creating intlbuild.fdb...
  47. @echo.
  48. @copy %FB_ROOT_PATH%\builds\install\misc\fbintl.conf %FB_BIN_DIR%\intl >nul
  49. @del intlbuild.fdb 2> nul
  50. @%FB_BIN_DIR%\isql -i intlbld.sql
  51. )
  52. @cd %FB_ROOT_PATH%\builds\win32
  53. @echo.
  54. @echo path = %FB_GEN_DB_DIR%\examples
  55. @echo Preprocessing empbuild.e...
  56. @echo.
  57. @%FB_BIN_DIR%\gpre.exe -r -m -n -z %FB_ROOT_PATH%\examples\empbuild\empbuild.e %FB_GEN_DIR%\examples\empbuild.c -b %FB_GEN_DB_DIR%/examples/
  58. if defined FB2_INTLEMP (
  59. @echo Preprocessing intlbld.e...
  60. @echo.
  61. @%FB_BIN_DIR%\gpre.exe -r -m -n -z %FB_ROOT_PATH%\examples\empbuild\intlbld.e %FB_GEN_DIR%\examples\intlbld.c -b %FB_GEN_DB_DIR%/examples/
  62. )
  63. @goto :EOF
  64. ::===========
  65. :MOVE
  66. @echo.
  67. @rmdir /q /s %FB_OUTPUT_DIR%\examples 2>nul
  68. @mkdir %FB_OUTPUT_DIR%\examples
  69. @mkdir %FB_OUTPUT_DIR%\examples\api
  70. @mkdir %FB_OUTPUT_DIR%\examples\dbcrypt
  71. @mkdir %FB_OUTPUT_DIR%\examples\build_unix
  72. @mkdir %FB_OUTPUT_DIR%\examples\build_win32
  73. @mkdir %FB_OUTPUT_DIR%\examples\empbuild
  74. @mkdir %FB_OUTPUT_DIR%\examples\include
  75. @mkdir %FB_OUTPUT_DIR%\examples\interfaces
  76. @mkdir %FB_OUTPUT_DIR%\examples\package
  77. @mkdir %FB_OUTPUT_DIR%\examples\stat
  78. @mkdir %FB_OUTPUT_DIR%\examples\udf
  79. @mkdir %FB_OUTPUT_DIR%\examples\udr
  80. @mkdir %FB_OUTPUT_DIR%\plugins\udr 2>nul
  81. @echo Moving files to output directory
  82. @copy %FB_ROOT_PATH%\examples\* %FB_OUTPUT_DIR%\examples > nul
  83. @ren %FB_OUTPUT_DIR%\examples\readme readme.txt > nul
  84. @copy %FB_ROOT_PATH%\examples\api\* %FB_OUTPUT_DIR%\examples\api > nul
  85. @copy %FB_ROOT_PATH%\examples\dbcrypt\* %FB_OUTPUT_DIR%\examples\dbcrypt > nul
  86. @copy %FB_ROOT_PATH%\examples\build_unix\* %FB_OUTPUT_DIR%\examples\build_unix > nul
  87. @copy %FB_ROOT_PATH%\examples\build_win32\* %FB_OUTPUT_DIR%\examples\build_win32 > nul
  88. :: @copy %FB_ROOT_PATH%\examples\empbuild\* %FB_OUTPUT_DIR%\examples\empbuild > nul
  89. @copy %FB_ROOT_PATH%\examples\empbuild\employe2.sql %FB_OUTPUT_DIR%\examples\empbuild > nul
  90. @copy %FB_ROOT_PATH%\examples\include\* %FB_OUTPUT_DIR%\examples\include > nul
  91. @copy %FB_ROOT_PATH%\examples\interfaces\* %FB_OUTPUT_DIR%\examples\interfaces > nul
  92. @copy %FB_ROOT_PATH%\examples\package\* %FB_OUTPUT_DIR%\examples\package > nul
  93. @copy %FB_ROOT_PATH%\examples\stat\* %FB_OUTPUT_DIR%\examples\stat > nul
  94. @copy %FB_ROOT_PATH%\examples\udf\* %FB_OUTPUT_DIR%\examples\udf > nul
  95. @copy %FB_ROOT_PATH%\examples\udr\* %FB_OUTPUT_DIR%\examples\udr > nul
  96. @copy %FB_ROOT_PATH%\temp\%FB_OBJ_DIR%\firebird\plugins\udr\*.dll %FB_OUTPUT_DIR%\plugins\udr >nul
  97. @copy %FB_ROOT_PATH%\src\extlib\ib_udf* %FB_OUTPUT_DIR%\examples\udf > nul
  98. @copy %FB_ROOT_PATH%\src\extlib\fbudf\* %FB_OUTPUT_DIR%\examples\udf > nul
  99. ::@copy %FB_GEN_DIR%\examples\empbuild.c %FB_OUTPUT_DIR%\examples\empbuild\ > nul
  100. ::@copy %FB_ROOT_PATH%\temp\%FB_OBJ_DIR%\examples\empbuild.exe %FB_GEN_DIR%\examples\empbuild.exe > nul
  101. ::if defined FB2_INTLEMP (
  102. ::if "%VS_VER%"=="msvc6" (
  103. ::@copy %FB_ROOT_PATH%\temp\%FB_OBJ_DIR%\examples\intlbld.exe %FB_GEN_DIR%\examples\intlbuild.exe > nul
  104. ::) else (
  105. ::@copy %FB_ROOT_PATH%\temp\%FB_OBJ_DIR%\examples\intlbuild.exe %FB_GEN_DIR%\examples\intlbuild.exe > nul
  106. ::)
  107. ::)
  108. @goto :EOF
  109. ::===========
  110. :: only to test if it works
  111. :BUILD_EMPLOYEE
  112. @echo.
  113. @echo Building employee.fdb
  114. :: Here we must use cd because isql does not have an option to set a base directory
  115. :: and empbuild.exe uses isql
  116. @set FB_SAVE_PATH=%PATH%
  117. @set PATH=%FB_BIN_DIR%;%PATH%
  118. :: This allows us to use the new engine in embedded mode to build
  119. :: the employee database.
  120. @set FIREBIRD=%FB_BIN_DIR%
  121. @cd %FB_GEN_DIR%\examples
  122. @del %FB_GEN_DIR%\examples\employee.fdb 2>nul
  123. @%FB_ROOT_PATH%\temp\%FB_OBJ_DIR%\empbuild\empbuild.exe %FB_GEN_DB_DIR%/examples/employee.fdb
  124. if errorlevel 44 (call :ERROR empbuild.exe failed - see %~n0.log for details & goto :EOF)
  125. @if defined FB2_INTLEMP (
  126. @echo Building intlemp.fdb
  127. @del %FB_GEN_DIR%\examples\intlemp.fdb 2>nul
  128. @del isql.tmp 2>nul
  129. @echo s;intlemp.fdb;%SERVER_NAME%:%FB_GEN_DIR%\examples\intlemp.fdb;g > isql.tmp
  130. @%FB_ROOT_PATH%\temp\%FB_OBJ_DIR%\intlbuild\intlbuild.exe %FB_GEN_DB_DIR%/examples/intlemp.fdb
  131. )
  132. @set FIREBIRD=
  133. @set PATH=%FB_SAVE_PATH%
  134. @cd %FB_ROOT_PATH%\builds\win32
  135. @goto :EOF
  136. ::==============
  137. :MOVE2
  138. @copy %FB_GEN_DIR%\examples\employee.fdb %FB_OUTPUT_DIR%\examples\empbuild\ > nul
  139. if defined FB2_INTLEMP (
  140. if exist %FB_GEN_DIR%\examples\intlemp.fdb (
  141. @copy %FB_GEN_DIR%\examples\intlemp.fdb %FB_OUTPUT_DIR%\examples\empbuild\ > nul
  142. )
  143. )
  144. @goto :EOF
  145. ::==============
  146. :HELP_BOOT
  147. @echo.
  148. @echo You must run make_boot.bat before running this script
  149. @echo.
  150. @goto :EOF
  151. :ERROR
  152. ::====
  153. @echo.
  154. @echo Error - %*
  155. @echo.
  156. set ERRLEV=1
  157. cancel_script > nul 2>&1
  158. ::End of ERROR
  159. ::------------
  160. @goto :EOF