diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index dcb09ef928c..d0e416f186e 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -3,9 +3,101 @@ name: CI
on: [push, pull_request]
jobs:
- build:
+
+ build-linux-ubuntu-x64-clang:
+ runs-on: ubuntu-20.04
+
+ steps:
+ - uses: actions/checkout@v1
+ with:
+ fetch-depth: 10
+
+ - name: Prepare
+ run: |
+ sudo apt-get install libtool-bin libtomcrypt1 libtomcrypt-dev libtommath1 libtommath-dev libicu-dev zlib1g-dev
+
+ - name: Build
+ run: |
+ CC=clang CXX=clang++ ./autogen.sh --enable-binreloc --prefix=/opt/firebird
+ make -j4
+ make tests -j4
+ make run_tests
+ make dist
+ tar xzvf gen/Firebird-[0-9]*.tar.gz
+ (cd Firebird-[0-9]*; sudo ./install.sh -silent)
+
+ - name: Upload
+ uses: actions/upload-artifact@main
+ with:
+ name: firebird-ubuntu-20.04-clang-x64
+ path: gen/Firebird-*.tar.gz
+
+ build-linux-docker-x64:
+ runs-on: ubuntu-20.04
+ container: asfernandes/firebird-builder:x86_64-5
+
+ steps:
+ - uses: actions/checkout@v1
+ with:
+ fetch-depth: 10
+
+ - name: Build
+ run: /entry.sh
+
+ - name: Upload
+ uses: actions/upload-artifact@main
+ with:
+ name: firebird-linux-x64
+ path: gen/Firebird-*.tar.gz
+
+ build-linux-docker-x86:
+ runs-on: ubuntu-20.04
+
+ steps:
+ - uses: actions/checkout@v1
+ with:
+ fetch-depth: 10
+
+ - name: Build
+ run: |
+ cd builds/docker/linux/i586-x86_64
+ ./run-i586.sh
+
+ - name: Upload
+ uses: actions/upload-artifact@main
+ with:
+ name: firebird-linux-x86
+ path: gen/Firebird-*.tar.gz
+
+ build-alpine-x64:
+ runs-on: ubuntu-20.04
+ container: alpine:3.14
+
+ steps:
+ - uses: actions/checkout@v1
+ with:
+ fetch-depth: 10
+
+ - name: Prepare
+ run: apk update && apk --no-cache --update add build-base libtool git autoconf automake zlib-dev icu-dev ncurses-dev libedit-dev linux-headers tar
+
+ - name: Build
+ run: |
+ ./autogen.sh --enable-binreloc-threads --with-builtin-tommath --with-builtin-tomcrypt --prefix=/opt/firebird
+ make -j4
+ make tests -j4
+ make run_tests
+ make dist
+ tar xzvf gen/Firebird-[0-9]*.tar.gz
+
+ - name: Upload
+ uses: actions/upload-artifact@main
+ with:
+ name: firebird-alpine-x64
+ path: gen/Firebird-*.tar.gz
+
+ build-windows:
runs-on: ${{ matrix.os }}
- container: ${{ matrix.container }}
env:
VS_VERSION: ${{ (matrix.os == 'windows-2019' && '2019' || (matrix.os == 'windows-2022' && '2022' || '')) }}
@@ -13,280 +105,224 @@ jobs:
fail-fast: false
matrix:
os:
+ - windows-2022
- windows-2019
platform: [x64, x86]
- include:
- - os: ubuntu-18.04
- platform: x64
- container: alpine:3.14
- - os: ubuntu-20.04
- platform: x64
- compiler: clang
- - os: ubuntu-20.04
- platform: x64
- container: asfernandes/firebird-builder:x86_64-5
- - os: ubuntu-20.04
- platform: x86
- # This build is failing at actions/upload-artifact when using the "container" way.
- #container: asfernandes/firebird-builder:i586-5
- docker: "docker"
- - os: windows-2022
- platform: x64
- docker: "docker"
- - os: windows-2022
- platform: x86
- docker: "docker"
- - os: windows-2022
- platform: x64
- - os: windows-2022
- platform: x86
- - os: macOS-latest
- platform: x64
steps:
- - uses: actions/checkout@v1
- with:
- fetch-depth: 10
-
- - name: Prepare (Ubuntu)
- if: startsWith(matrix.os, 'ubuntu-') && !matrix.container && !matrix.docker
- run: |
- sudo apt-get install libtool-bin libtomcrypt1 libtomcrypt-dev libtommath1 libtommath-dev libicu-dev zlib1g-dev
-
- - name: Build (Ubuntu)
- if: startsWith(matrix.os, 'ubuntu-') && !matrix.container && !matrix.docker
- run: |
- CC=clang CXX=clang++ ./autogen.sh --enable-binreloc --prefix=/opt/firebird
- make -j4
- make tests -j4
- make run_tests
- make dist
- tar xzvf gen/Firebird-[0-9]*.tar.gz
- (cd Firebird-[0-9]*; sudo ./install.sh -silent)
-
- - name: Build (Linux, Docker)
- if: startsWith(matrix.container, 'asfernandes/firebird-builder')
- run: /entry.sh
-
- # asfernandes/firebird-builder:i586-5
- - name: Build (Linux, Docker)
- if: startsWith(matrix.os, 'ubuntu-') && matrix.docker
- run: |
- cd builds/docker/linux/i586-x86_64
- ./run-i586.sh
-
- - name: Prepare (Linux, Alpine)
- if: startsWith(matrix.container, 'alpine')
- run: apk update && apk --no-cache --update add build-base libtool git autoconf automake zlib-dev icu-dev ncurses-dev libedit-dev linux-headers tar
-
- - name: Build (Linux, Alpine)
- if: startsWith(matrix.container, 'alpine')
- run: |
- ./autogen.sh --enable-binreloc-threads --with-builtin-tommath --with-builtin-tomcrypt --prefix=/opt/firebird
- make -j4
- make tests -j4
- make run_tests
- make dist
- tar xzvf gen/Firebird-[0-9]*.tar.gz
-
- - name: Prepare - Install tools (MacOS)
- if: matrix.os == 'macOS-latest'
- run: |
- brew install automake libtool ninja
-
- - name: Cache - libc++ install (MacOS)
- id: cache-libcxx-install-macos
- if: matrix.os == 'macOS-latest'
- uses: actions/cache@v3
- with:
- key: ${{ runner.os }}-libcxx-install-13.0.1
- path: |
- extern/libcxx-macos-install
-
- - name: Download libc++ sources (MacOS)
- if: matrix.os == 'macOS-latest' && steps.cache-libcxx-install-macos.outputs.cache-hit != 'true'
- run: |
- mkdir extern/libcxx-macos
- pushd extern/libcxx-macos
- curl -OL https://github.com/llvm/llvm-project/releases/download/llvmorg-13.0.1/llvm-project-13.0.1.src.tar.xz
- tar xJf llvm-project-13.0.1.src.tar.xz
- popd
-
- - name: Build libc++ (MacOS)
- if: matrix.os == 'macOS-latest' && steps.cache-libcxx-install-macos.outputs.cache-hit != 'true'
- run: |
- LIBCXX_BUILD_PATH=`pwd`/extern/libcxx-macos-build
- LIBCXX_INSTALL_PATH=`pwd`/extern/libcxx-macos-install
- mkdir $LIBCXX_BUILD_PATH
- pushd extern/libcxx-macos/llvm-project-13.0.1.src
- export MACOSX_DEPLOYMENT_TARGET=10.9
- cmake -G Ninja -S llvm -B $LIBCXX_BUILD_PATH \
- -DLLVM_ENABLE_PROJECTS="libcxx;libcxxabi" \
- -DCMAKE_INSTALL_PREFIX=$LIBCXX_INSTALL_PATH \
- -DCMAKE_BUILD_TYPE=Release \
- -DLIBCXX_ENABLE_SHARED=false \
- -DLIBCXX_ENABLE_STATIC_ABI_LIBRARY=true
- ninja -C $LIBCXX_BUILD_PATH cxx cxxabi
- ninja -C $LIBCXX_BUILD_PATH install-cxx install-cxxabi
- popd
-
- - name: Cache - libicu install (MacOS)
- id: cache-libicu-install-macos
- if: matrix.os == 'macOS-latest'
- uses: actions/cache@v3
- with:
- key: ${{ runner.os }}-libicu-install-63.2
- path: |
- extern/libicu-macos-install
-
- - name: Download and patch libicu sources (MacOS)
- if: matrix.os == 'macOS-latest' && steps.cache-libicu-install-macos.outputs.cache-hit != 'true'
- run: |
- mkdir extern/libicu-macos
- pushd extern/libicu-macos
- curl -OL https://github.com/unicode-org/icu/releases/download/release-63-2/icu4c-63_2-src.tgz
- curl -OL https://github.com/unicode-org/icu/commit/24aeb9a5a5874f4ce5db912e30670ac3ae236971.patch
- tar xzf icu4c-63_2-src.tgz
- cd icu/source
- patch -p3 < ../../24aeb9a5a5874f4ce5db912e30670ac3ae236971.patch
- popd
-
- - name: Build libicu (MacOS)
- if: matrix.os == 'macOS-latest' && steps.cache-libicu-install-macos.outputs.cache-hit != 'true'
- run: |
- export LIBTOOLIZE=glibtoolize
- export LIBTOOL=glibtool
-
- LIBICU_INSTALL_PATH=`pwd`/extern/libicu-macos-install
- pushd extern/libicu-macos/icu/source
- ./runConfigureICU MacOSX --prefix=$LIBICU_INSTALL_PATH
- make -j4
- make install
- install_name_tool -id @rpath/lib/libicuuc.dylib $LIBICU_INSTALL_PATH/lib/libicuuc.dylib
- install_name_tool -id @rpath/lib/libicui18n.dylib $LIBICU_INSTALL_PATH/lib/libicui18n.dylib
- install_name_tool -id @rpath/lib/libicudata.dylib $LIBICU_INSTALL_PATH/lib/libicudata.dylib
- install_name_tool -change libicudata.63.dylib @loader_path/libicudata.63.dylib $LIBICU_INSTALL_PATH/lib/libicuuc.63.dylib
- install_name_tool -change libicudata.63.dylib @loader_path/libicudata.63.dylib $LIBICU_INSTALL_PATH/lib/libicui18n.63.dylib
- install_name_tool -change libicuuc.63.dylib @loader_path/libicuuc.63.dylib $LIBICU_INSTALL_PATH/lib/libicui18n.63.dylib
- popd
-
- - name: Build (MacOS)
- if: matrix.os == 'macOS-latest'
- run: |
- export LIBTOOLIZE=glibtoolize
- export LIBTOOL=glibtool
-
- LIBCXX_INSTALL_PATH=`pwd`/extern/libcxx-macos-install
- LIBICU_INSTALL_PATH=`pwd`/extern/libicu-macos-install
-
- mkdir -p gen/Release/firebird/lib
- cp -R $LIBICU_INSTALL_PATH/lib/libicu{data,i18n,uc}.*dylib gen/Release/firebird/lib/
-
- export C_INCLUDE_PATH="$LIBICU_INSTALL_PATH/include:`xcrun --show-sdk-path`/usr/include"
- export CPLUS_INCLUDE_PATH="$LIBCXX_INSTALL_PATH/include/c++/v1:$LIBICU_INSTALL_PATH/include:`xcrun --show-sdk-path`/usr/include"
- export LIBRARY_PATH="$LIBCXX_INSTALL_PATH/lib:$LIBICU_INSTALL_PATH/lib:$LIBRARY_PATH"
-
- ./autogen.sh --with-builtin-tommath --with-builtin-tomcrypt
- make -j4
- make tests -j4
- make run_tests
-
- (cd gen; make -B -f make.platform.postfix ICU_LOC="$LIBICU_INSTALL_PATH/lib/")
- (cd gen; make -B -f Makefile.install)
-
- # Rename directory to make sure the build is relocatable.
- mv gen gen2
- sudo installer -pkg gen2/Release/*.pkg -verbose -target /
-
- export FIREBIRD_LOCK=`pwd`/temp
- echo "create database 't.fdb'; select '1' from rdb\$database; select _win1252 '2' from rdb\$database; select _utf8 '3' collate unicode from rdb\$database;" | /Library/Frameworks/Firebird.framework/Resources/bin/isql
-
- echo "create database 'localhost:/tmp/t.fdb' user sysdba password 'masterkey'; select '11' from rdb\$database; select _win1252 '22' from rdb\$database; select _utf8 '33' collate unicode from rdb\$database;" | /Library/Frameworks/Firebird.framework/Resources/bin/isql
-
- mv gen2 gen
- mkdir gen/artifacts
- mv gen/Release/*.pkg gen/artifacts
-
- - name: Prepare (Windows)
- if: startsWith(matrix.os, 'windows-')
- shell: cmd
- run: |
- for /r %%i in (*.bat) do unix2dos "%%i"
-
- - name: Build (Windows)
- if: startsWith(matrix.os, 'windows-') && !matrix.docker
- shell: cmd
- env:
- PLATFORM: ${{ matrix.platform }}
- VS_SCRIPT: ${{ matrix.os == 'windows-2022' && 'C:\Program Files\Microsoft Visual Studio\%VS_VERSION%\Enterprise\Common7\Tools\VsDevCmd.bat' || 'C:\Program Files (x86)\Microsoft Visual Studio\%VS_VERSION%\Enterprise\Common7\Tools\VsDevCmd.bat' }}
- run: |
- if "%PLATFORM%" == "x64" set FB_VS_ARCH=amd64
- if "%PLATFORM%" == "x64" set FB_PROCESSOR_ARCHITECTURE=AMD64
- if "%PLATFORM%" == "x64" set FB_OUTPUT_SUFFIX=x64
- if "%PLATFORM%" == "x86" set FB_VS_ARCH=x86
- if "%PLATFORM%" == "x86" set FB_PROCESSOR_ARCHITECTURE=x86
- if "%PLATFORM%" == "x86" set FB_OUTPUT_SUFFIX=win32
- call "%VS_SCRIPT%" -arch=%FB_VS_ARCH%
- cd builds\win32
- call run_all.bat JUSTBUILD
- call run_tests.bat
-
- - name: Build (Windows, Docker)
- if: startsWith(matrix.os, 'windows-') && matrix.docker
- shell: cmd
- env:
- PLATFORM: ${{ matrix.platform }}
- run: |
- mkdir output
- cd builds\docker\windows
- call build.bat
- call run.bat C:\fbscripts\build-%PLATFORM%.bat
-
- - name: Upload (Ubuntu)
- if: startsWith(matrix.os, 'ubuntu-') && !matrix.container && !matrix.docker
- uses: actions/upload-artifact@main
- with:
- name: firebird-ubuntu-20.04-clang-${{ matrix.platform }}
- path: gen/Firebird-*.tar.gz
-
- - name: Upload (Linux, Docker)
- if: startsWith(matrix.container, 'asfernandes/firebird-builder') || (startsWith(matrix.os, 'ubuntu-') && matrix.docker)
- uses: actions/upload-artifact@main
- with:
- name: firebird-linux-${{ matrix.platform }}
- path: gen/Firebird-*.tar.gz
-
- - name: Upload (Linux, Alpine)
- if: startsWith(matrix.container, 'alpine')
- uses: actions/upload-artifact@main
- with:
- name: firebird-alpine-x64
- path: gen/Firebird-*.tar.gz
-
- - name: Upload (MacOS)
- if: matrix.os == 'macOS-latest'
- uses: actions/upload-artifact@main
- with:
- name: firebird-macos
- path: gen/artifacts
-
- - name: Upload (Windows x64)
- if: startsWith(matrix.os, 'windows-') && !matrix.docker && matrix.platform == 'x64'
- uses: actions/upload-artifact@main
- with:
- name: firebird-windows-vs-${{ env.VS_VERSION }}-x64
- path: output_x64
-
- - name: Upload (Windows x86)
- if: startsWith(matrix.os, 'windows-') && !matrix.docker && matrix.platform == 'x86'
- uses: actions/upload-artifact@main
- with:
- name: firebird-windows-vs-${{ env.VS_VERSION }}-x86
- path: output_win32
-
- - name: Upload (Windows, Docker)
- if: startsWith(matrix.os, 'windows-') && matrix.docker
- uses: actions/upload-artifact@main
- with:
- name: firebird-windows-${{ matrix.platform }}
- path: output
+ - uses: actions/checkout@v1
+ with:
+ fetch-depth: 10
+
+ - name: Prepare
+ shell: cmd
+ run: |
+ for /r %%i in (*.bat) do unix2dos "%%i"
+ choco uninstall --no-progress --yes innosetup
+ choco install --no-progress --yes innosetup --version=6.1.2
+
+ - name: Build
+ shell: cmd
+ env:
+ PLATFORM: ${{ matrix.platform }}
+ VS_SCRIPT: ${{ matrix.os == 'windows-2022' && 'C:\Program Files\Microsoft Visual Studio\%VS_VERSION%\Enterprise\Common7\Tools\VsDevCmd.bat' || 'C:\Program Files (x86)\Microsoft Visual Studio\%VS_VERSION%\Enterprise\Common7\Tools\VsDevCmd.bat' }}
+ run: |
+ set SEVENZIP=C:\Program Files\7-Zip
+ set INNO6_SETUP_PATH=C:\Program Files (x86)\Inno Setup 6
+ if "%PLATFORM%" == "x64" set FB_VS_ARCH=amd64
+ if "%PLATFORM%" == "x64" set FB_PROCESSOR_ARCHITECTURE=AMD64
+ if "%PLATFORM%" == "x64" set FB_OUTPUT_SUFFIX=x64
+ if "%PLATFORM%" == "x86" set FB_VS_ARCH=x86
+ if "%PLATFORM%" == "x86" set FB_PROCESSOR_ARCHITECTURE=x86
+ if "%PLATFORM%" == "x86" set FB_OUTPUT_SUFFIX=win32
+ call "%VS_SCRIPT%" -arch=%FB_VS_ARCH%
+ cd builds\win32
+ call run_all.bat
+ call run_tests.bat
+
+ - name: Extract zip
+ shell: cmd
+ run: |
+ 7z x builds\install_images\*.zip -ooutput
+
+ - name: Upload zip
+ uses: actions/upload-artifact@main
+ with:
+ name: firebird-windows-vs-${{ env.VS_VERSION }}-${{ matrix.platform }}-zip
+ path: output
+
+ - name: Upload installer
+ uses: actions/upload-artifact@main
+ with:
+ name: firebird-windows-vs-${{ env.VS_VERSION }}-${{ matrix.platform }}-installer
+ path: builds/install_images/*.exe
+
+ build-windows-docker:
+ runs-on: windows-2022
+ env:
+ VS_VERSION: ${{ (matrix.os == 'windows-2019' && '2019' || (matrix.os == 'windows-2022' && '2022' || '')) }}
+
+ strategy:
+ fail-fast: false
+ matrix:
+ platform: [x64, x86]
+
+ steps:
+ - uses: actions/checkout@v1
+ with:
+ fetch-depth: 10
+
+ - name: Build
+ shell: cmd
+ env:
+ PLATFORM: ${{ matrix.platform }}
+ run: |
+ mkdir builds\install_images
+ cd builds\docker\windows
+ call build.bat
+ call run.bat C:\fbscripts\build-%PLATFORM%.bat
+
+ - name: Extract zip
+ shell: cmd
+ run: |
+ 7z x builds\install_images\*.zip -ooutput
+
+ - name: Upload zip
+ uses: actions/upload-artifact@main
+ with:
+ name: firebird-windows-${{ matrix.platform }}-zip
+ path: output
+
+ - name: Upload installer
+ uses: actions/upload-artifact@main
+ with:
+ name: firebird-windows-${{ matrix.platform }}-installer
+ path: builds/install_images/*.exe
+
+ build-macos:
+ runs-on: macos-latest
+
+ steps:
+ - uses: actions/checkout@v1
+ with:
+ fetch-depth: 10
+
+ - name: Prepare - Install tools
+ run: |
+ brew install automake libtool ninja
+
+ - name: Cache - libc++ install
+ id: cache-libcxx-install-macos
+ uses: actions/cache@v3
+ with:
+ key: ${{ runner.os }}-libcxx-install-13.0.1
+ path: |
+ extern/libcxx-macos-install
+
+ - name: Download libc++ sources
+ if: steps.cache-libcxx-install-macos.outputs.cache-hit != 'true'
+ run: |
+ mkdir extern/libcxx-macos
+ pushd extern/libcxx-macos
+ curl -OL https://github.com/llvm/llvm-project/releases/download/llvmorg-13.0.1/llvm-project-13.0.1.src.tar.xz
+ tar xJf llvm-project-13.0.1.src.tar.xz
+ popd
+
+ - name: Build libc++
+ if: steps.cache-libcxx-install-macos.outputs.cache-hit != 'true'
+ run: |
+ LIBCXX_BUILD_PATH=`pwd`/extern/libcxx-macos-build
+ LIBCXX_INSTALL_PATH=`pwd`/extern/libcxx-macos-install
+ mkdir $LIBCXX_BUILD_PATH
+ pushd extern/libcxx-macos/llvm-project-13.0.1.src
+ export MACOSX_DEPLOYMENT_TARGET=10.9
+ cmake -G Ninja -S llvm -B $LIBCXX_BUILD_PATH \
+ -DLLVM_ENABLE_PROJECTS="libcxx;libcxxabi" \
+ -DCMAKE_INSTALL_PREFIX=$LIBCXX_INSTALL_PATH \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DLIBCXX_ENABLE_SHARED=false \
+ -DLIBCXX_ENABLE_STATIC_ABI_LIBRARY=true
+ ninja -C $LIBCXX_BUILD_PATH cxx cxxabi
+ ninja -C $LIBCXX_BUILD_PATH install-cxx install-cxxabi
+ popd
+
+ - name: Cache - libicu install
+ id: cache-libicu-install-macos
+ uses: actions/cache@v3
+ with:
+ key: ${{ runner.os }}-libicu-install-63.2
+ path: |
+ extern/libicu-macos-install
+
+ - name: Download and patch libicu sources
+ if: steps.cache-libicu-install-macos.outputs.cache-hit != 'true'
+ run: |
+ mkdir extern/libicu-macos
+ pushd extern/libicu-macos
+ curl -OL https://github.com/unicode-org/icu/releases/download/release-63-2/icu4c-63_2-src.tgz
+ curl -OL https://github.com/unicode-org/icu/commit/24aeb9a5a5874f4ce5db912e30670ac3ae236971.patch
+ tar xzf icu4c-63_2-src.tgz
+ cd icu/source
+ patch -p3 < ../../24aeb9a5a5874f4ce5db912e30670ac3ae236971.patch
+ popd
+
+ - name: Build libicu
+ if: steps.cache-libicu-install-macos.outputs.cache-hit != 'true'
+ run: |
+ export LIBTOOLIZE=glibtoolize
+ export LIBTOOL=glibtool
+
+ LIBICU_INSTALL_PATH=`pwd`/extern/libicu-macos-install
+ pushd extern/libicu-macos/icu/source
+ ./runConfigureICU MacOSX --prefix=$LIBICU_INSTALL_PATH
+ make -j4
+ make install
+ install_name_tool -id @rpath/lib/libicuuc.dylib $LIBICU_INSTALL_PATH/lib/libicuuc.dylib
+ install_name_tool -id @rpath/lib/libicui18n.dylib $LIBICU_INSTALL_PATH/lib/libicui18n.dylib
+ install_name_tool -id @rpath/lib/libicudata.dylib $LIBICU_INSTALL_PATH/lib/libicudata.dylib
+ install_name_tool -change libicudata.63.dylib @loader_path/libicudata.63.dylib $LIBICU_INSTALL_PATH/lib/libicuuc.63.dylib
+ install_name_tool -change libicudata.63.dylib @loader_path/libicudata.63.dylib $LIBICU_INSTALL_PATH/lib/libicui18n.63.dylib
+ install_name_tool -change libicuuc.63.dylib @loader_path/libicuuc.63.dylib $LIBICU_INSTALL_PATH/lib/libicui18n.63.dylib
+ popd
+
+ - name: Build
+ run: |
+ export LIBTOOLIZE=glibtoolize
+ export LIBTOOL=glibtool
+
+ LIBCXX_INSTALL_PATH=`pwd`/extern/libcxx-macos-install
+ LIBICU_INSTALL_PATH=`pwd`/extern/libicu-macos-install
+
+ mkdir -p gen/Release/firebird/lib
+ cp -R $LIBICU_INSTALL_PATH/lib/libicu{data,i18n,uc}.*dylib gen/Release/firebird/lib/
+
+ export C_INCLUDE_PATH="$LIBICU_INSTALL_PATH/include:`xcrun --show-sdk-path`/usr/include"
+ export CPLUS_INCLUDE_PATH="$LIBCXX_INSTALL_PATH/include/c++/v1:$LIBICU_INSTALL_PATH/include:`xcrun --show-sdk-path`/usr/include"
+ export LIBRARY_PATH="$LIBCXX_INSTALL_PATH/lib:$LIBICU_INSTALL_PATH/lib:$LIBRARY_PATH"
+
+ ./autogen.sh --with-builtin-tommath --with-builtin-tomcrypt
+ make -j4
+ make tests -j4
+ make run_tests
+
+ (cd gen; make -B -f make.platform.postfix ICU_LOC="$LIBICU_INSTALL_PATH/lib/")
+ (cd gen; make -B -f Makefile.install)
+
+ # Rename directory to make sure the build is relocatable.
+ mv gen gen2
+ sudo installer -pkg gen2/Release/*.pkg -verbose -target /
+
+ export FIREBIRD_LOCK=`pwd`/temp
+ echo "create database 't.fdb'; select '1' from rdb\$database; select _win1252 '2' from rdb\$database; select _utf8 '3' collate unicode from rdb\$database;" | /Library/Frameworks/Firebird.framework/Resources/bin/isql
+
+ echo "create database 'localhost:/tmp/t.fdb' user sysdba password 'masterkey'; select '11' from rdb\$database; select _win1252 '22' from rdb\$database; select _utf8 '33' collate unicode from rdb\$database;" | /Library/Frameworks/Firebird.framework/Resources/bin/isql
+
+ mv gen2 gen
+ mkdir gen/artifacts
+ mv gen/Release/*.pkg gen/artifacts
+
+ - name: Upload
+ uses: actions/upload-artifact@main
+ with:
+ name: firebird-macos
+ path: gen/artifacts
diff --git a/.gitignore b/.gitignore
index d930bd8d759..12eba64dce7 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,7 +1,7 @@
temp/
/gen/
-output_Win32/
-output_x64/
+output_Win32_*/
+output_x64_*/
examples/prebuilt/
.vs/
m4/
diff --git a/builds/docker/windows/Dockerfile b/builds/docker/windows/Dockerfile
index 7067d9ba697..e8db1f753f4 100644
--- a/builds/docker/windows/Dockerfile
+++ b/builds/docker/windows/Dockerfile
@@ -44,7 +44,7 @@ RUN `
refreshenv && `
setx PATH "%PATH%;C:\Program Files\Git\usr\bin"
-ENV SEVENZIP='"C:\Program Files\7-Zip"'
-ENV INNO6_SETUP_PATH='"C:\Program Files (x86)\Inno Setup 6"'
+ENV SEVENZIP='C:\Program Files\7-Zip'
+ENV INNO6_SETUP_PATH='C:\Program Files (x86)\Inno Setup 6'
COPY scripts\* C:\fbscripts\
diff --git a/builds/docker/windows/run.bat b/builds/docker/windows/run.bat
index 0de8f7fd53f..a567b487057 100644
--- a/builds/docker/windows/run.bat
+++ b/builds/docker/windows/run.bat
@@ -1,2 +1,2 @@
@echo off
-docker run --rm -v %cd%\..\..\..:C:\firebird -v %cd%\..\..\..\output:C:\firebird-out asfernandes/firebird-builder:5 %1
+docker run --rm -v %cd%\..\..\..:C:\firebird asfernandes/firebird-builder:5 %1
diff --git a/builds/docker/windows/scripts/build-x64.bat b/builds/docker/windows/scripts/build-x64.bat
index a759bfc3e02..0f290e78bb3 100644
--- a/builds/docker/windows/scripts/build-x64.bat
+++ b/builds/docker/windows/scripts/build-x64.bat
@@ -1,4 +1,4 @@
-REM FIXME @echo off
+@echo off
call "C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\Common7\Tools\VsDevCmd.bat" -arch=amd64
@@ -8,9 +8,8 @@ set FB_OUTPUT_SUFFIX=x64
xcopy /h /e /i /q C:\firebird C:\firebird-build
cd /d C:\firebird-build\builds\win32
-REM call run_all.bat
-call run_all.bat JUSTBUILD
+call run_all.bat
call run_tests.bat
-xcopy /h /e /i /q C:\firebird-build\output_%FB_OUTPUT_SUFFIX%\* C:\firebird-out
+copy C:\firebird-build\builds\install_images\* C:\firebird\builds\install_images
diff --git a/builds/docker/windows/scripts/build-x86.bat b/builds/docker/windows/scripts/build-x86.bat
index 4b601c2cf01..7adf156a88c 100644
--- a/builds/docker/windows/scripts/build-x86.bat
+++ b/builds/docker/windows/scripts/build-x86.bat
@@ -8,9 +8,8 @@ set FB_OUTPUT_SUFFIX=win32
xcopy /h /e /i /q C:\firebird C:\firebird-build
cd /d C:\firebird-build\builds\win32
-REM call run_all.bat
-call run_all.bat JUSTBUILD
+call run_all.bat
call run_tests.bat
-xcopy /h /e /i /q C:\firebird-build\output_%FB_OUTPUT_SUFFIX%\* C:\firebird-out
+copy C:\firebird-build\builds\install_images\* C:\firebird\builds\install_images
diff --git a/builds/install/arch-specific/win32/BuildExecutableInstall.bat b/builds/install/arch-specific/win32/BuildExecutableInstall.bat
index ca2dd9f634a..672889a5917 100644
--- a/builds/install/arch-specific/win32/BuildExecutableInstall.bat
+++ b/builds/install/arch-specific/win32/BuildExecutableInstall.bat
@@ -65,10 +65,10 @@ if "%FB2_SNAPSHOT%"=="1" (
:: let's bail out now.
@echo o Checking for sed...
-(cmd /c "sed.exe --version 2>&1 | findstr version > nul ") || ( call :ERROR Could not locate sed && @goto :EOF )
+(cmd /c "sed.exe --version 2>&1 > nul ") || ( call :ERROR Could not locate sed && @goto :EOF )
@echo o Checking for unix2dos...
-(cmd /c "unix2dos.exe --version 2>&1 | findstr version > nul" ) || ( call :ERROR Could not locate unix2dos && @goto :EOF )
+(cmd /c "unix2dos.exe --version 2>&1 > nul" ) || ( call :ERROR Could not locate unix2dos && @goto :EOF )
@for /f "usebackq tokens=*" %%c in (`where /f touch 2^>nul`) do set TOUCH_COMMAND=%%c
if defined TOUCH_COMMAND (
@@ -93,7 +93,7 @@ if %FBBUILD_ZIP_PACK% EQU 1 (
if %FBBUILD_ISX_PACK% NEQ 1 goto :SKIP_INNO
if defined INNO6_SETUP_PATH (
- set ISCC_COMMAND=%INNO6_SETUP_PATH%\iscc.exe
+ set ISCC_COMMAND="%INNO6_SETUP_PATH%\iscc.exe"
)
:: If the environment variable is not set let's search in PATH
if not defined ISCC_COMMAND (
@@ -445,7 +445,7 @@ copy %FB_ROOT_PATH%\builds\install\misc\databases.conf %FB_OUTPUT_DIR%\databases
:: that and they all have windows EOL
::===============================================
for /R %FB_OUTPUT_DIR% %%W in ( *.txt *.conf *.sql *.c *.cpp *.hpp *.h *.bat *.pas *.e *.def *.rc *.md *.html ) do (
- unix2dos -q --safe %%W || exit /b 1
+ unix2dos --safe %%W || exit /b 1
)
::End of SET_CRLF
@@ -458,7 +458,7 @@ for /R %FB_OUTPUT_DIR% %%W in ( *.txt *.conf *.sql *.c *.cpp *.hpp *.h *.bat *.p
:: Forcefully disable delayed expansion because of exclamation marks in 7z switches
setlocal DisableDelayedExpansion
-set SKIP_FILES=-x!installation_readme.txt
+set SKIP_FILES=-x!*.log -x!*.exp -x!*_test.exe -x!installation_readme.txt
if "%FBBUILD_SHIP_PDB%" == "ship_pdb" (
set FBBUILD_ZIPFILE=%FBBUILD_INSTALL_IMAGES%\Firebird-%FBBUILD_FILE_ID%-pdb%FBBUILD_FILENAME_SUFFIX%.zip
@@ -476,7 +476,7 @@ if exist %FBBUILD_ZIPFILE% (
@del %FBBUILD_ZIPFILE%
)
-%SEVENZIP%\7z.exe a -r -tzip -mx9 %SKIP_FILES% %FBBUILD_ZIPFILE% %FB_OUTPUT_DIR%\*
+"%SEVENZIP%\7z.exe" a -r -tzip -mx9 %SKIP_FILES% %FBBUILD_ZIPFILE% %FB_OUTPUT_DIR%\*
endlocal
@@ -652,7 +652,7 @@ for %%v in ( %1 %2 %3 %4 %5 %6 %7 %8 %9 ) do (
pushd ..\..\..\win32
::This must be called from the directory it resides in.
-@call setenvvar.bat
+@call setenvvar.bat %*
popd
@if errorlevel 1 (goto :END)
diff --git a/builds/install/arch-specific/win32/FirebirdInstall.iss b/builds/install/arch-specific/win32/FirebirdInstall.iss
index f988c1aa420..7741b4394f5 100644
--- a/builds/install/arch-specific/win32/FirebirdInstall.iss
+++ b/builds/install/arch-specific/win32/FirebirdInstall.iss
@@ -117,8 +117,9 @@
;We speed up compilation (and hence testing) by not compressing contents.
#undef compression
-;Default to x64 for testing
+;Default to x64_release for testing
#define PlatformTarget "x64"
+#define ConfigurationTarget "release"
#endif
;-------#ifdef iss_debug
@@ -216,6 +217,15 @@
#endif
#endif
+;---- If we haven't already set ConfigurationTarget then pick it up from the environment.
+#ifndef ConfigurationTarget
+#define ConfigurationTarget GetEnv("FBBUILD_BUILDTYPE")
+#endif
+#if ConfigurationTarget == ""
+;Assume release
+#define ConfigurationTarget "release"
+#endif
+
#if FB_BUILD_TYPE == "T"
;If we are still under development we can ignore some missing files.
#define SkipFileIfDevStatus " skipifsourcedoesntexist "
@@ -224,7 +234,7 @@
#endif
;This location is relative to SourceDir (declared below)
-#define FilesDir="output_" + PlatformTarget
+#define FilesDir="output_" + PlatformTarget + "_" + ConfigurationTarget
#if PlatformTarget == "x64"
#define WOW64Dir="output_win32"
#endif
@@ -397,7 +407,7 @@ Filename: {app}\instreg.exe; Parameters: "install "; StatusMsg: {cm:instreg}; Mi
Filename: {app}\instclient.exe; Parameters: "install fbclient"; StatusMsg: {cm:instclientCopyFbClient}; MinVersion: {#MinVer}; Components: ClientComponent; Flags: runminimized; Check: CopyFBClientLib;
Filename: {app}\instclient.exe; Parameters: "install gds32"; StatusMsg: {cm:instclientGenGds32}; MinVersion: {#MinVer}; Components: ClientComponent; Flags: runminimized; Check: CopyGds32
#if PlatformTarget == "x64"
-Filename: {app}\WOW64\instclient.exe; Parameters: "install fbclient"; StatusMsg: {cm:instclientCopyFbClient}; MinVersion: {#MinVer}; Components: ClientComponent; Flags: runminimized 32bit; Check: CopyFBClientLib;
+Filename: {app}\WOW64\instclient.exe; Parameters: "install fbclient"; StatusMsg: {cm:instclientCopyFbClient}; MinVersion: {#MinVer}; Components: ClientComponent; Flags: runminimized 32bit; Check: CopyFBClientLib
Filename: {app}\WOW64\instclient.exe; Parameters: "install gds32"; StatusMsg: {cm:instclientGenGds32}; MinVersion: {#MinVer}; Components: ClientComponent; Flags: runminimized 32bit; Check: CopyGds32
#endif
@@ -500,10 +510,10 @@ Source: {#FilesDir}\icuin??.dll; DestDir: {app}; Components: ClientComponent; Fl
Source: {#FilesDir}\icudt??.dll; DestDir: {app}; Components: ClientComponent; Flags: sharedfile ignoreversion
Source: {#FilesDir}\icudt*.dat; DestDir: {app}; Components: ClientComponent; Flags: sharedfile ignoreversion
#if PlatformTarget == "x64"
-Source: {#WOW64Dir}\icuuc??.dll; DestDir: {app}\WOW64; Components: ClientComponent; Flags: sharedfile ignoreversion
-Source: {#WOW64Dir}\icuin??.dll; DestDir: {app}\WOW64; Components: ClientComponent; Flags: sharedfile ignoreversion
-Source: {#WOW64Dir}\icudt??.dll; DestDir: {app}\WOW64; Components: ClientComponent; Flags: sharedfile ignoreversion
-Source: {#WOW64Dir}\icudt*.dat; DestDir: {app}\WOW64; Components: ClientComponent; Flags: sharedfile ignoreversion
+Source: {#WOW64Dir}\icuuc??.dll; DestDir: {app}\WOW64; Components: ClientComponent; Flags: sharedfile ignoreversion {#SkipFileIfDevStatus}
+Source: {#WOW64Dir}\icuin??.dll; DestDir: {app}\WOW64; Components: ClientComponent; Flags: sharedfile ignoreversion {#SkipFileIfDevStatus}
+Source: {#WOW64Dir}\icudt??.dll; DestDir: {app}\WOW64; Components: ClientComponent; Flags: sharedfile ignoreversion {#SkipFileIfDevStatus}
+Source: {#WOW64Dir}\icudt*.dat; DestDir: {app}\WOW64; Components: ClientComponent; Flags: sharedfile ignoreversion {#SkipFileIfDevStatus}
#endif
#if PlatformTarget =="Win32"
@@ -512,7 +522,7 @@ Source: {#FilesDir}\fbrmclib.dll; DestDir: {app}; Components: ServerComponent; F
Source: {#FilesDir}\zlib1.dll; DestDir: {app}; Components: ClientComponent; Flags: sharedfile ignoreversion
#if PlatformTarget == "x64"
-Source: {#WOW64Dir}\zlib1.dll; DestDir: {app}\WOW64; Components: ClientComponent; Flags: sharedfile ignoreversion
+Source: {#WOW64Dir}\zlib1.dll; DestDir: {app}\WOW64; Components: ClientComponent; Flags: sharedfile ignoreversion {#SkipFileIfDevStatus}
#endif
;Rules for installation of MS runtimes are simplified with MSVC10
@@ -549,7 +559,7 @@ Source: {#FilesDir}\doc\sql.extensions\*.*; DestDir: {app}\doc\sql.extensions; C
Source: {#FilesDir}\include\*.*; DestDir: {app}\include; Components: DevAdminComponent; Flags: ignoreversion recursesubdirs createallsubdirs;
Source: {#FilesDir}\intl\fbintl.dll; DestDir: {app}\intl; Components: ServerComponent; Flags: sharedfile ignoreversion;
Source: {#FilesDir}\intl\fbintl.conf; DestDir: {app}\intl; Components: ServerComponent; Flags: onlyifdoesntexist
-Source: {#FilesDir}\lib\*.*; DestDir: {app}\lib; Components: DevAdminComponent; Flags: ignoreversion;
+Source: {#FilesDir}\lib\*.lib; DestDir: {app}\lib; Components: DevAdminComponent; Flags: ignoreversion;
#if PlatformTarget == "x64"
Source: {#WOW64Dir}\lib\*.lib; DestDir: {app}\WOW64\lib; Components: DevAdminComponent; Flags: ignoreversion {#SkipFileIfDevStatus}
#endif
@@ -566,7 +576,7 @@ Source: {#FilesDir}\plugins\chacha.dll; DestDir: {app}\plugins; Components: Clie
Source: {#FilesDir}\plugins\*.conf; DestDir: {app}\plugins; Components: ServerComponent; Flags: ignoreversion;
Source: {#FilesDir}\plugins\udr\*.*; DestDir: {app}\plugins\udr; Components: ServerComponent; Flags: ignoreversion;
#if PlatformTarget == "x64"
-Source: {#WOW64Dir}\plugins\chacha*.dll; DestDir: {app}\WOW64\plugins; Components: ClientComponent; Flags: ignoreversion;
+Source: {#WOW64Dir}\plugins\chacha*.dll; DestDir: {app}\WOW64\plugins; Components: ClientComponent; Flags: ignoreversion {#SkipFileIfDevStatus};
#endif
Source: {#FilesDir}\misc\*.*; DestDir: {app}\misc; Components: ServerComponent; Flags: ignoreversion createallsubdirs recursesubdirs ;
@@ -588,7 +598,7 @@ Source: {#FilesDir}\gfix.pdb; DestDir: {app}; Components: DevAdminComponent;
Source: {#FilesDir}\isql.pdb; DestDir: {app}; Components: ClientComponent;
Source: {#FilesDir}\plugins\*.pdb; DestDir: {app}\plugins; Components: ServerComponent;
#if PlatformTarget == "x64"
-Source: {#WOW64Dir}\fbclient.pdb; DestDir: {app}\WOW64; Components: ClientComponent;
+Source: {#WOW64Dir}\fbclient.pdb; DestDir: {app}\WOW64; Components: ClientComponent; Flags: {#SkipFileIfDevStatus};
#endif
#endif
diff --git a/builds/win32/clean_all.bat b/builds/win32/clean_all.bat
index bcc53ad0bc5..3cf5d940ebe 100644
--- a/builds/win32/clean_all.bat
+++ b/builds/win32/clean_all.bat
@@ -1,6 +1,6 @@
@echo off
-@call setenvvar.bat
+@call setenvvar.bat %*
@if errorlevel 1 (goto :END)
set FB_CLEAN_SHARED=
diff --git a/builds/win32/create_msgs.bat b/builds/win32/create_msgs.bat
index 984fbb15a6f..fb19bd69949 100644
--- a/builds/win32/create_msgs.bat
+++ b/builds/win32/create_msgs.bat
@@ -1,15 +1,14 @@
@echo off
-@call setenvvar.bat
+@call setenvvar.bat %*
@if errorlevel 1 (goto :END)
-@if not defined FB_BIN_DIR (@call set_build_target.bat %*)
@echo Building build_msg (%FB_OBJ_DIR%)...
@call compile.bat builds\win32\%VS_VER%\FirebirdBoot build_msg_%FB_TARGET_PLATFORM%.log build_msg
@if errorlevel 1 (goto :END)
@echo Building message file...
-@%FB_BIN_DIR%\build_msg -f %FB_GEN_DB_DIR%\firebird.msg -c %FB_OUTPUT_DIR%\include\firebird\impl\iberror_c.h
+@%FB_BOOT_BIN_DIR%\build_msg -f %FB_GEN_DB_DIR%\firebird.msg -c %FB_OUTPUT_DIR%\include\firebird\impl\iberror_c.h
@copy %FB_GEN_DIR%\firebird.msg %FB_BIN_DIR% > nul
:END
diff --git a/builds/win32/gen_helper.nmake b/builds/win32/gen_helper.nmake
index 07f201e29fc..d2a7729f883 100644
--- a/builds/win32/gen_helper.nmake
+++ b/builds/win32/gen_helper.nmake
@@ -49,7 +49,7 @@ $(RPL_GREP): $(RPL_GREP_SRC)
$(FB_GEN_DIR)\iberror.pas: $(ERR_CONSTS_PAS) $(FB_ROOT_PATH)\src\include\firebird\impl\msg\*.h
compile.bat builds\win32\%VS_VER%\FirebirdBoot build_msg_%FB_TARGET_PLATFORM%.log build_msg
- %FB_BIN_DIR%\build_msg -p $(FB_GEN_DIR)\iberror_codes.pas
+ %FB_BOOT_BIN_DIR%\build_msg -p $(FB_GEN_DIR)\iberror_codes.pas
copy $(ERR_CONSTS_PAS) $(FB_GEN_DIR)\iberror.pas
type $(FB_GEN_DIR)\iberror_codes.pas >> $(FB_GEN_DIR)\iberror.pas
diff --git a/builds/win32/make_all.bat b/builds/win32/make_all.bat
index 7a3f626c0a1..f74c0abf171 100644
--- a/builds/win32/make_all.bat
+++ b/builds/win32/make_all.bat
@@ -2,17 +2,15 @@
set ERRLEV=0
:: Set env vars
-@call setenvvar.bat
+@call setenvvar.bat %*
@if errorlevel 1 (call :ERROR Executing setenvvar.bat failed & goto :EOF)
:: verify that boot was run before
-@if not exist %FB_GEN_DIR%\firebird.msg (goto :HELP_BOOT & goto :EOF)
+@if not exist %FB_BIN_DIR%\firebird.msg (goto :HELP_BOOT & goto :EOF)
-@call set_build_target.bat %*
-
::==========
:: MAIN
@@ -30,16 +28,6 @@ if errorlevel 1 call :ERROR build failed - see make_all_%FB_TARGET_PLATFORM%.log
::===========
:MOVE
-@echo Copying files to output
-@set FB_OUTPUT_DIR=%FB_ROOT_PATH%\output_%FB_TARGET_PLATFORM%
-@del %FB_ROOT_PATH%\temp\%FB_OBJ_DIR%\firebird\*.exp 2>nul
-@del %FB_ROOT_PATH%\temp\%FB_OBJ_DIR%\firebird\*.lib 2>nul
-@rmdir /q /s %FB_OUTPUT_DIR% 2>nul
-
-:: short delay to let OS complete actions by rmdir above
-@timeout 1 >nul
-
-@mkdir %FB_OUTPUT_DIR% 2>nul
@mkdir %FB_OUTPUT_DIR%\intl 2>nul
@mkdir %FB_OUTPUT_DIR%\tzdata 2>nul
@mkdir %FB_OUTPUT_DIR%\doc 2>nul
@@ -51,22 +39,9 @@ if errorlevel 1 call :ERROR build failed - see make_all_%FB_TARGET_PLATFORM%.log
@mkdir %FB_OUTPUT_DIR%\plugins 2>nul
@mkdir %FB_OUTPUT_DIR%\plugins\udr 2>nul
-@copy %FB_ROOT_PATH%\temp\%FB_OBJ_DIR%\firebird\* %FB_OUTPUT_DIR% >nul
-@del %FB_OUTPUT_DIR%\*_test.exe >nul
-@copy %FB_ROOT_PATH%\temp\%FB_OBJ_DIR%\firebird\intl\* %FB_OUTPUT_DIR%\intl >nul
-@copy %FB_ROOT_PATH%\temp\%FB_OBJ_DIR%\firebird\tzdata\* %FB_OUTPUT_DIR%\tzdata >nul
@copy %FB_ROOT_PATH%\temp\%FB_OBJ_DIR%\firebird\system32\* %FB_OUTPUT_DIR%\system32 >nul
-@copy %FB_ROOT_PATH%\temp\%FB_OBJ_DIR%\firebird\plugins\*.dll %FB_OUTPUT_DIR%\plugins >nul
-@copy %FB_ROOT_PATH%\temp\%FB_OBJ_DIR%\firebird\plugins\udr\*.dll %FB_OUTPUT_DIR%\plugins\udr >nul
-@copy %FB_ROOT_PATH%\temp\%FB_OBJ_DIR%\yvalve\fbclient.lib %FB_OUTPUT_DIR%\lib\fbclient_ms.lib >nul
-@copy %FB_ROOT_PATH%\temp\%FB_OBJ_DIR%\ib_util\ib_util.lib %FB_OUTPUT_DIR%\lib\ib_util_ms.lib >nul
-
-for %%v in (gpre_boot build_msg) do (
-@del %FB_OUTPUT_DIR%\%%v.* 2>nul
-)
:: Firebird.conf, etc
-@copy %FB_GEN_DIR%\firebird.msg %FB_OUTPUT_DIR%\ > nul
@copy %FB_ROOT_PATH%\builds\install\misc\firebird.conf %FB_OUTPUT_DIR%\firebird.conf >nul
@copy %FB_ROOT_PATH%\builds\install\misc\databases.conf %FB_OUTPUT_DIR%\databases.conf >nul
@copy %FB_ROOT_PATH%\builds\install\misc\fbintl.conf %FB_OUTPUT_DIR%\intl\ >nul
@@ -94,7 +69,7 @@ copy %FB_ROOT_PATH%\src\include\ibase.h %FB_OUTPUT_DIR%\include > nul
copy %FB_ROOT_PATH%\src\include\iberror.h %FB_OUTPUT_DIR%\include > nul
:: New API headers
-xcopy %FB_ROOT_PATH%\src\include\firebird %FB_OUTPUT_DIR%\include\firebird /e > nul
+xcopy /y %FB_ROOT_PATH%\src\include\firebird %FB_OUTPUT_DIR%\include\firebird /e > nul
:: UDR
copy %FB_ROOT_PATH%\src\extlib\*.sql %FB_OUTPUT_DIR%\plugins\udr > nul
diff --git a/builds/win32/make_boot.bat b/builds/win32/make_boot.bat
index 033142dd02b..9620b8dafda 100644
--- a/builds/win32/make_boot.bat
+++ b/builds/win32/make_boot.bat
@@ -8,15 +8,19 @@
set ERRLEV=0
:CHECK_ENV
-@call setenvvar.bat
+@call setenvvar.bat %*
@if errorlevel 1 (goto :END)
-@call set_build_target.bat %*
-
::===========
:MAIN
@echo.
+
+@echo Cleaning output directory
+@rmdir /S /Q "%FB_OUTPUT_DIR%" 2>nul
+:: short delay to let OS complete actions by rmdir above
+@timeout 1 >nul
+
@echo Creating directories
:: Create the directory hierarchy.
for %%v in ( alice auth burp dsql gpre isql jrd misc msgs examples yvalve utilities) do (
@@ -28,6 +32,7 @@ for %%v in ( alice auth burp dsql gpre isql jrd misc msgs examples yvalve utilit
@mkdir %FB_GEN_DIR%\gpre\std 2>nul
@mkdir %FB_OUTPUT_DIR%\include\firebird\impl 2>nul
+@mkdir %FB_OUTPUT_DIR%\tzdata 2>nul
call :interfaces
if "%ERRLEV%"=="1" goto :END
@@ -59,16 +64,13 @@ call :gpre_boot
if "%ERRLEV%"=="1" goto :END
::=======
-@echo Preprocessing the source files needed to build gbak, gpre and isql...
-@call preprocess.bat BOOT
+@echo Preprocessing the source files needed to build gpre and isql...
+@call preprocess.bat %FBBUILD_BUILDTYPE% BOOT
::=======
call :engine
if "%ERRLEV%"=="1" goto :END
-call :gbak
-if "%ERRLEV%"=="1" goto :END
-
call :gpre
if "%ERRLEV%"=="1" goto :END
@@ -77,36 +79,26 @@ if "%ERRLEV%"=="1" goto :END
@copy %FB_ROOT_PATH%\builds\install\misc\firebird.conf %FB_BIN_DIR%\firebird.conf
-:: Copy ICU and zlib both to Debug and Release configurations
-
-@call set_build_target.bat %* RELEASE
+:: Copy ICU and zlib to the output directory
@mkdir %FB_BIN_DIR%
@copy %FB_ROOT_PATH%\extern\icu\icudt???.dat %FB_BIN_DIR% >nul 2>&1
@copy %FB_ICU_SOURCE_BIN%\*.dll %FB_BIN_DIR% >nul 2>&1
+@copy %FB_ROOT_PATH%\extern\icu\tzdata-extract\* %FB_OUTPUT_DIR%\tzdata >nul 2>&1
@copy %FB_ROOT_PATH%\extern\zlib\%FB_TARGET_PLATFORM%\*.dll %FB_BIN_DIR% >nul 2>&1
-@call set_build_target.bat %* DEBUG
-@mkdir %FB_BIN_DIR%
-@copy %FB_ROOT_PATH%\extern\icu\icudt???.dat %FB_BIN_DIR% >nul 2>&1
-@copy %FB_ICU_SOURCE_BIN%\*.dll %FB_BIN_DIR% >nul 2>&1
-@copy %FB_ROOT_PATH%\extern\zlib\%FB_TARGET_PLATFORM%\*.dll %FB_BIN_DIR% >nul 2>&1
-
-@call set_build_target.bat %*
-
-
::=======
@call :databases
::=======
@echo Preprocessing the entire source tree...
-@call preprocess.bat
+@call preprocess.bat %FBBUILD_BUILDTYPE%
::=======
@call :msgs
if "%ERRLEV%"=="1" goto :END
::=======
-@call create_msgs.bat msg
+@call create_msgs.bat %FBBUILD_BUILDTYPE%
::=======
@call :NEXT_STEP
@@ -124,59 +116,37 @@ goto :EOF
::===================
:: BUILD LibTom
-:: NS: Note we need both debug and non-debug version as it is a static library linked to CRT
-:: and linking executable with both debug and non-debug CRT results in undefined behavior
:LibTom
@echo.
-@call set_build_target.bat %* RELEASE
@echo Building LibTomMath (%FB_OBJ_DIR%)...
@call compile.bat extern\libtommath\libtommath_MSVC%MSVC_VERSION% libtommath_%FB_CONFIG%_%FB_TARGET_PLATFORM%.log libtommath
if errorlevel 1 call :boot2 libtommath_%FB_OBJ_DIR%
@echo Building LibTomCrypt (%FB_OBJ_DIR%)...
@call compile.bat extern\libtomcrypt\libtomcrypt_MSVC%MSVC_VERSION% libtomcrypt_%FB_CONFIG%_%FB_TARGET_PLATFORM%.log libtomcrypt
if errorlevel 1 call :boot2 libtomcrypt_%FB_OBJ_DIR%
-
-@call set_build_target.bat %* DEBUG
-@echo Building LibTomMath (%FB_OBJ_DIR%)...
-@call compile.bat extern\libtommath\libtommath_MSVC%MSVC_VERSION% libtommath_%FB_CONFIG%_%FB_TARGET_PLATFORM%.log libtommath
-if errorlevel 1 call :boot2 libtommath_%FB_OBJ_DIR%
-@echo Building LibTomCrypt (%FB_OBJ_DIR%)...
-@call compile.bat extern\libtomcrypt\libtomcrypt_MSVC%MSVC_VERSION% libtomcrypt_%FB_CONFIG%_%FB_TARGET_PLATFORM%.log libtomcrypt
-if errorlevel 1 call :boot2 libtomcrypt_%FB_OBJ_DIR%
-
-@call set_build_target.bat %*
goto :EOF
::===================
:: BUILD decNumber
:decNumber
@echo.
-@call set_build_target.bat %* RELEASE
@echo Building decNumber (%FB_OBJ_DIR%)...
@call compile.bat extern\decNumber\msvc\decNumber_MSVC%MSVC_VERSION% decNumber_%FB_CONFIG%_%FB_TARGET_PLATFORM%.log decNumber
if errorlevel 1 call :boot2 decNumber_%FB_OBJ_DIR%
-@call set_build_target.bat %* DEBUG
-@echo Building decNumber (%FB_OBJ_DIR%)...
-@call compile.bat extern\decNumber\msvc\decNumber_MSVC%MSVC_VERSION% decNumber_%FB_CONFIG%_%FB_TARGET_PLATFORM%.log decNumber
-if errorlevel 1 call :boot2 decNumber_%FB_OBJ_DIR%
-@call set_build_target.bat %*
goto :EOF
::===================
:: BUILD ttmath
:ttmath
@echo.
-@call set_build_target.bat %* RELEASE
-@echo Building ttmath (%FB_OBJ_DIR%)...
-@mkdir %FB_TEMP_DIR%\..\%FB_OBJ_DIR%\common 2>nul
-@ml64.exe /c /Fo %FB_TEMP_DIR%\..\%FB_OBJ_DIR%\common\ttmathuint_x86_64_msvc.obj %FB_ROOT_PATH%\extern\ttmath\ttmathuint_x86_64_msvc.asm
-if errorlevel 1 call :boot2 ttmath_%FB_OBJ_DIR%
-@call set_build_target.bat %* DEBUG
@echo Building ttmath (%FB_OBJ_DIR%)...
@mkdir %FB_TEMP_DIR%\..\%FB_OBJ_DIR%\common 2>nul
-@ml64.exe /c /Zi /Fo %FB_TEMP_DIR%\..\%FB_OBJ_DIR%\common\ttmathuint_x86_64_msvc.obj %FB_ROOT_PATH%\extern\ttmath\ttmathuint_x86_64_msvc.asm
+if /I "%FB_CONFIG%"=="debug" (
+ @ml64.exe /c /Zi /Fo %FB_TEMP_DIR%\..\%FB_OBJ_DIR%\common\ttmathuint_x86_64_msvc.obj %FB_ROOT_PATH%\extern\ttmath\ttmathuint_x86_64_msvc.asm
+) else (
+ @ml64.exe /c /Fo %FB_TEMP_DIR%\..\%FB_OBJ_DIR%\common\ttmathuint_x86_64_msvc.obj %FB_ROOT_PATH%\extern\ttmath\ttmathuint_x86_64_msvc.asm
+)
if errorlevel 1 call :boot2 ttmath_%FB_OBJ_DIR%
-@call set_build_target.bat %*
goto :EOF
::===================
@@ -188,8 +158,7 @@ goto :EOF
@pushd %FB_ROOT_PATH%\extern\re2\builds\%FB_TARGET_PLATFORM%
@cmake -G "%MSVC_CMAKE_GENERATOR%" -A %FB_TARGET_PLATFORM% -S %FB_ROOT_PATH%\extern\re2
if errorlevel 1 call :boot2 re2
-@cmake --build %FB_ROOT_PATH%\extern\re2\builds\%FB_TARGET_PLATFORM% --target ALL_BUILD --config Release > re2_Release_%FB_TARGET_PLATFORM%.log
-@cmake --build %FB_ROOT_PATH%\extern\re2\builds\%FB_TARGET_PLATFORM% --target ALL_BUILD --config Debug > re2_Debug_%FB_TARGET_PLATFORM%.log
+@cmake --build %FB_ROOT_PATH%\extern\re2\builds\%FB_TARGET_PLATFORM% --target ALL_BUILD --config %FBBUILD_BUILDTYPE% > re2_%FBBUILD_BUILDTYPE%_%FB_TARGET_PLATFORM%.log
@popd
goto :EOF
@@ -233,15 +202,6 @@ goto :EOF
if errorlevel 1 call :boot2 engine
@goto :EOF
-::===================
-:: BUILD gbak
-:gbak
-@echo.
-@echo Building gbak (%FB_OBJ_DIR%)...
-@call compile.bat builds\win32\%VS_VER%\Firebird gbak_%FB_TARGET_PLATFORM%.log EXEs\gbak
-if errorlevel 1 call :boot2 gbak
-@goto :EOF
-
::===================
:: BUILD gpre
:gpre
@@ -296,7 +256,9 @@ goto :EOF
@"%FB_BIN_DIR%\isql" -q %FB_GEN_DB_DIR%/dbs/security5.fdb -i %FB_ROOT_PATH%\src\dbs\security.sql
@copy %FB_GEN_DIR%\dbs\security5.fdb %FB_GEN_DIR%\dbs\security.fdb > nul
-@call create_msgs.bat db
+@echo Creating metadata.fdb...
+@echo create database '%FB_GEN_DB_DIR%/dbs/metadata.fdb'; | "%FB_BIN_DIR%\isql" -q -sqldialect 1
+@copy %FB_GEN_DIR%\dbs\metadata.fdb %FB_GEN_DIR%\dbs\yachts.lnk > nul
@goto :EOF
diff --git a/builds/win32/make_examples.bat b/builds/win32/make_examples.bat
index e2e20f86c89..e1a639564c0 100644
--- a/builds/win32/make_examples.bat
+++ b/builds/win32/make_examples.bat
@@ -1,11 +1,9 @@
@echo off
:: Set env vars
-@call setenvvar.bat
+@call setenvvar.bat %*
@if errorlevel 1 (goto :EOF)
-@call set_build_target.bat %*
-
:: verify that boot was run before
@if not exist %FB_BIN_DIR%\isql.exe (goto :HELP_BOOT & goto :EOF)
@if not exist %FB_BIN_DIR%\gpre.exe (goto :HELP_BOOT & goto :EOF)
@@ -131,7 +129,6 @@ copy %FB_ROOT_PATH%\examples\package\* %FB_OUTPUT_DIR%\examples\package > nul
copy %FB_ROOT_PATH%\examples\stat\* %FB_OUTPUT_DIR%\examples\stat > nul
copy %FB_ROOT_PATH%\examples\udf\* %FB_OUTPUT_DIR%\examples\udf > nul
copy %FB_ROOT_PATH%\examples\udr\* %FB_OUTPUT_DIR%\examples\udr > nul
-copy %FB_ROOT_PATH%\temp\%FB_OBJ_DIR%\firebird\plugins\udr\*.dll %FB_OUTPUT_DIR%\plugins\udr >nul
copy %FB_ROOT_PATH%\examples\prebuilt\%FB_OBJ_DIR%\bin\*.exe %FB_OUTPUT_DIR%\examples\prebuilt\bin > nul
copy %FB_ROOT_PATH%\examples\prebuilt\%FB_OBJ_DIR%\plugins\*.dll %FB_OUTPUT_DIR%\examples\prebuilt\plugins > nul
diff --git a/builds/win32/make_icu.bat b/builds/win32/make_icu.bat
index 2f9f610b7d7..e4f555b0495 100644
--- a/builds/win32/make_icu.bat
+++ b/builds/win32/make_icu.bat
@@ -2,9 +2,7 @@
:: Set env vars
-@call setenvvar.bat
-
-@call set_build_target.bat %* icu
+@call setenvvar.bat %*
::==========
:: MAIN
@@ -14,8 +12,8 @@
if errorlevel 1 call :ERROR build failed - see make_icu_%FB_TARGET_PLATFORM%.log for details
@echo Extracting tzdata
-mkdir %FB_ROOT_PATH%\temp\%FB_OBJ_DIR%\firebird\tzdata
-unzip -o %FB_ROOT_PATH%\extern\icu\tzdata\le.zip -d %FB_ROOT_PATH%\temp\%FB_OBJ_DIR%\firebird\tzdata
+mkdir %FB_OUTPUT_DIR%\tzdata
+unzip -o %FB_ROOT_PATH%\extern\icu\tzdata\le.zip -d %FB_ROOT_PATH%\extern\icu\tzdata-extract
@goto :EOF
diff --git a/builds/win32/msvc15/chacha.vcxproj b/builds/win32/msvc15/chacha.vcxproj
index 976f851c2e9..5cad10b81cc 100644
--- a/builds/win32/msvc15/chacha.vcxproj
+++ b/builds/win32/msvc15/chacha.vcxproj
@@ -104,10 +104,10 @@
AllRules.ruleset
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\plugins\
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\plugins\
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\plugins\
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\plugins\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\plugins\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\plugins\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\plugins\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\plugins\
diff --git a/builds/win32/msvc15/common_test.vcxproj b/builds/win32/msvc15/common_test.vcxproj
index ee0766f8835..ca9271b8ba9 100644
--- a/builds/win32/msvc15/common_test.vcxproj
+++ b/builds/win32/msvc15/common_test.vcxproj
@@ -104,10 +104,10 @@
AllRules.ruleset
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\
@@ -206,4 +206,4 @@
-
\ No newline at end of file
+
diff --git a/builds/win32/msvc15/default_profiler.vcxproj b/builds/win32/msvc15/default_profiler.vcxproj
index ebce3a94fa5..d5394302477 100644
--- a/builds/win32/msvc15/default_profiler.vcxproj
+++ b/builds/win32/msvc15/default_profiler.vcxproj
@@ -107,10 +107,10 @@
AllRules.ruleset
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\plugins\
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\plugins\
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\plugins\
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\plugins\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\plugins\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\plugins\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\plugins\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\plugins\
@@ -227,4 +227,4 @@
-
\ No newline at end of file
+
diff --git a/builds/win32/msvc15/engine.vcxproj b/builds/win32/msvc15/engine.vcxproj
index 029028aef29..1ec40958dad 100644
--- a/builds/win32/msvc15/engine.vcxproj
+++ b/builds/win32/msvc15/engine.vcxproj
@@ -151,10 +151,10 @@
engine13
engine13
engine13
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\plugins\
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\plugins\
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\plugins\
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\plugins\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\plugins\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\plugins\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\plugins\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\plugins\
true
diff --git a/builds/win32/msvc15/engine_test.vcxproj b/builds/win32/msvc15/engine_test.vcxproj
index ce6642d2ec6..0835ce3a6cd 100644
--- a/builds/win32/msvc15/engine_test.vcxproj
+++ b/builds/win32/msvc15/engine_test.vcxproj
@@ -104,10 +104,10 @@
AllRules.ruleset
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\
@@ -237,4 +237,4 @@
-
\ No newline at end of file
+
diff --git a/builds/win32/msvc15/fb_lock_print.vcxproj b/builds/win32/msvc15/fb_lock_print.vcxproj
index 4a67d26247b..520fff48186 100644
--- a/builds/win32/msvc15/fb_lock_print.vcxproj
+++ b/builds/win32/msvc15/fb_lock_print.vcxproj
@@ -103,10 +103,10 @@
AllRules.ruleset
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\
diff --git a/builds/win32/msvc15/fbguard.vcxproj b/builds/win32/msvc15/fbguard.vcxproj
index a6c392774f4..b7adc0e2dc3 100644
--- a/builds/win32/msvc15/fbguard.vcxproj
+++ b/builds/win32/msvc15/fbguard.vcxproj
@@ -103,10 +103,10 @@
AllRules.ruleset
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\
diff --git a/builds/win32/msvc15/fbrmclib.vcxproj b/builds/win32/msvc15/fbrmclib.vcxproj
index fb9c76449cb..cbca965f06a 100644
--- a/builds/win32/msvc15/fbrmclib.vcxproj
+++ b/builds/win32/msvc15/fbrmclib.vcxproj
@@ -59,10 +59,10 @@
AllRules.ruleset
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\bin\
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\bin\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\bin\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\bin\
diff --git a/builds/win32/msvc15/fbserver.vcxproj b/builds/win32/msvc15/fbserver.vcxproj
index 51cdba3a057..5f68bb0a577 100644
--- a/builds/win32/msvc15/fbserver.vcxproj
+++ b/builds/win32/msvc15/fbserver.vcxproj
@@ -103,10 +103,10 @@
AllRules.ruleset
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\
firebird
firebird
firebird
diff --git a/builds/win32/msvc15/fbsvcmgr.vcxproj b/builds/win32/msvc15/fbsvcmgr.vcxproj
index f0359b09963..0896595ac22 100644
--- a/builds/win32/msvc15/fbsvcmgr.vcxproj
+++ b/builds/win32/msvc15/fbsvcmgr.vcxproj
@@ -103,10 +103,10 @@
AllRules.ruleset
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\
diff --git a/builds/win32/msvc15/fbtrace.vcxproj b/builds/win32/msvc15/fbtrace.vcxproj
index b47e95904fe..d1c97910087 100644
--- a/builds/win32/msvc15/fbtrace.vcxproj
+++ b/builds/win32/msvc15/fbtrace.vcxproj
@@ -103,10 +103,10 @@
AllRules.ruleset
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\plugins\
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\plugins\
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\plugins\
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\plugins\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\plugins\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\plugins\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\plugins\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\plugins\
diff --git a/builds/win32/msvc15/fbtracemgr.vcxproj b/builds/win32/msvc15/fbtracemgr.vcxproj
index 9ee22a6ec3c..7cd132680d5 100644
--- a/builds/win32/msvc15/fbtracemgr.vcxproj
+++ b/builds/win32/msvc15/fbtracemgr.vcxproj
@@ -105,10 +105,10 @@
AllRules.ruleset
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\
diff --git a/builds/win32/msvc15/gbak.vcxproj b/builds/win32/msvc15/gbak.vcxproj
index 2ac340738db..51a8c32d7dc 100644
--- a/builds/win32/msvc15/gbak.vcxproj
+++ b/builds/win32/msvc15/gbak.vcxproj
@@ -103,10 +103,10 @@
AllRules.ruleset
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\
diff --git a/builds/win32/msvc15/gfix.vcxproj b/builds/win32/msvc15/gfix.vcxproj
index 1ccf23fee2d..6c769f030be 100644
--- a/builds/win32/msvc15/gfix.vcxproj
+++ b/builds/win32/msvc15/gfix.vcxproj
@@ -104,10 +104,10 @@
AllRules.ruleset
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\
diff --git a/builds/win32/msvc15/gpre.vcxproj b/builds/win32/msvc15/gpre.vcxproj
index 1b6c19fb421..2c48566e584 100644
--- a/builds/win32/msvc15/gpre.vcxproj
+++ b/builds/win32/msvc15/gpre.vcxproj
@@ -104,10 +104,10 @@
AllRules.ruleset
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\
diff --git a/builds/win32/msvc15/gsec.vcxproj b/builds/win32/msvc15/gsec.vcxproj
index 1d647ba359a..6a655eade55 100644
--- a/builds/win32/msvc15/gsec.vcxproj
+++ b/builds/win32/msvc15/gsec.vcxproj
@@ -103,10 +103,10 @@
AllRules.ruleset
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\
diff --git a/builds/win32/msvc15/gsplit.vcxproj b/builds/win32/msvc15/gsplit.vcxproj
index 56849087c09..61b929bca33 100644
--- a/builds/win32/msvc15/gsplit.vcxproj
+++ b/builds/win32/msvc15/gsplit.vcxproj
@@ -104,10 +104,10 @@
AllRules.ruleset
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\
diff --git a/builds/win32/msvc15/gstat.vcxproj b/builds/win32/msvc15/gstat.vcxproj
index 82322a05d9e..40592de37a5 100644
--- a/builds/win32/msvc15/gstat.vcxproj
+++ b/builds/win32/msvc15/gstat.vcxproj
@@ -103,10 +103,10 @@
AllRules.ruleset
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\
diff --git a/builds/win32/msvc15/ib_util.vcxproj b/builds/win32/msvc15/ib_util.vcxproj
index 37f38a2a9c5..fc0000f6441 100644
--- a/builds/win32/msvc15/ib_util.vcxproj
+++ b/builds/win32/msvc15/ib_util.vcxproj
@@ -107,10 +107,10 @@
AllRules.ruleset
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\
@@ -132,6 +132,7 @@
Windows
+ $(OutDir)\lib\$(TargetName)_ms.lib
@@ -155,6 +156,7 @@
MachineX64
Windows
+ $(OutDir)\lib\$(TargetName)_ms.lib
@@ -175,6 +177,7 @@
Windows
+ $(OutDir)\lib\$(TargetName)_ms.lib
@@ -195,6 +198,7 @@
MachineX64
Windows
+ $(OutDir)\lib\$(TargetName)_ms.lib
diff --git a/builds/win32/msvc15/instclient.vcxproj b/builds/win32/msvc15/instclient.vcxproj
index 56a56073f01..4c033c7f8fd 100644
--- a/builds/win32/msvc15/instclient.vcxproj
+++ b/builds/win32/msvc15/instclient.vcxproj
@@ -104,10 +104,10 @@
AllRules.ruleset
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\
diff --git a/builds/win32/msvc15/instreg.vcxproj b/builds/win32/msvc15/instreg.vcxproj
index c94037af44b..4286a9f066b 100644
--- a/builds/win32/msvc15/instreg.vcxproj
+++ b/builds/win32/msvc15/instreg.vcxproj
@@ -104,10 +104,10 @@
AllRules.ruleset
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\
diff --git a/builds/win32/msvc15/instsvc.vcxproj b/builds/win32/msvc15/instsvc.vcxproj
index 58091aeb622..94de00b8b29 100644
--- a/builds/win32/msvc15/instsvc.vcxproj
+++ b/builds/win32/msvc15/instsvc.vcxproj
@@ -104,10 +104,10 @@
AllRules.ruleset
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\
diff --git a/builds/win32/msvc15/intl.vcxproj b/builds/win32/msvc15/intl.vcxproj
index 9ac780a85a2..fe6a65c0d65 100644
--- a/builds/win32/msvc15/intl.vcxproj
+++ b/builds/win32/msvc15/intl.vcxproj
@@ -107,10 +107,10 @@
AllRules.ruleset
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\intl\
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\intl\
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\intl\
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\intl\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\intl\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\intl\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\intl\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\intl\
fbintl
fbintl
fbintl
@@ -132,7 +132,6 @@
comctl32.lib;ws2_32.lib;mpr.lib;version.lib;%(AdditionalDependencies)
- ..\..\..\temp\$(Platform)\$(Configuration)\firebird\$(ProjectName)\fb$(ProjectName).dll
../../../extern/icu/$(Platform)/$(Configuration)/lib;%(AdditionalLibraryDirectories)
false
@@ -156,7 +155,6 @@
comctl32.lib;ws2_32.lib;mpr.lib;version.lib;%(AdditionalDependencies)
- ..\..\..\temp\$(Platform)\$(Configuration)\firebird\$(ProjectName)\fb$(ProjectName).dll
../../../extern/icu/$(Platform)/$(Configuration)/lib;%(AdditionalLibraryDirectories)
false
@@ -179,7 +177,6 @@
comctl32.lib;ws2_32.lib;mpr.lib;version.lib;%(AdditionalDependencies)
- ..\..\..\temp\$(Platform)\$(Configuration)\firebird\$(ProjectName)\fb$(ProjectName).dll
../../../extern/icu/$(Platform)/release/lib;%(AdditionalLibraryDirectories)
false
@@ -200,7 +197,6 @@
comctl32.lib;ws2_32.lib;mpr.lib;version.lib;%(AdditionalDependencies)
- ..\..\..\temp\$(Platform)\$(Configuration)\firebird\$(ProjectName)\fb$(ProjectName).dll
../../../extern/icu/$(Platform)/release/lib;%(AdditionalLibraryDirectories)
false
diff --git a/builds/win32/msvc15/isql.vcxproj b/builds/win32/msvc15/isql.vcxproj
index 7d7669cbf78..144996f2e45 100644
--- a/builds/win32/msvc15/isql.vcxproj
+++ b/builds/win32/msvc15/isql.vcxproj
@@ -104,10 +104,10 @@
AllRules.ruleset
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\
diff --git a/builds/win32/msvc15/legacy_auth.vcxproj b/builds/win32/msvc15/legacy_auth.vcxproj
index 42a96026296..a5893b9f052 100644
--- a/builds/win32/msvc15/legacy_auth.vcxproj
+++ b/builds/win32/msvc15/legacy_auth.vcxproj
@@ -103,10 +103,10 @@
AllRules.ruleset
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\plugins\
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\plugins\
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\plugins\
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\plugins\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\plugins\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\plugins\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\plugins\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\plugins\
diff --git a/builds/win32/msvc15/legacy_usermanager.vcxproj b/builds/win32/msvc15/legacy_usermanager.vcxproj
index 2eecaaff5a7..448559e4124 100644
--- a/builds/win32/msvc15/legacy_usermanager.vcxproj
+++ b/builds/win32/msvc15/legacy_usermanager.vcxproj
@@ -103,10 +103,10 @@
AllRules.ruleset
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\plugins\
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\plugins\
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\plugins\
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\plugins\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\plugins\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\plugins\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\plugins\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\plugins\
diff --git a/builds/win32/msvc15/nbackup.vcxproj b/builds/win32/msvc15/nbackup.vcxproj
index 8d1ccd99701..e5cee93c9c1 100644
--- a/builds/win32/msvc15/nbackup.vcxproj
+++ b/builds/win32/msvc15/nbackup.vcxproj
@@ -103,10 +103,10 @@
AllRules.ruleset
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\
diff --git a/builds/win32/msvc15/srp.vcxproj b/builds/win32/msvc15/srp.vcxproj
index 665f9bdd2c1..6dfebf140ac 100644
--- a/builds/win32/msvc15/srp.vcxproj
+++ b/builds/win32/msvc15/srp.vcxproj
@@ -104,10 +104,10 @@
AllRules.ruleset
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\plugins\
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\plugins\
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\plugins\
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\plugins\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\plugins\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\plugins\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\plugins\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\plugins\
diff --git a/builds/win32/msvc15/udf_compat.vcxproj b/builds/win32/msvc15/udf_compat.vcxproj
index 445a0583b15..86b20b93014 100644
--- a/builds/win32/msvc15/udf_compat.vcxproj
+++ b/builds/win32/msvc15/udf_compat.vcxproj
@@ -103,10 +103,10 @@
AllRules.ruleset
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\plugins\udr\
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\plugins\udr\
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\plugins\udr\
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\plugins\udr\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\plugins\udr\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\plugins\udr\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\plugins\udr\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\plugins\udr\
true
diff --git a/builds/win32/msvc15/udr_engine.vcxproj b/builds/win32/msvc15/udr_engine.vcxproj
index 7ecaa80407c..21cccd9fe9b 100644
--- a/builds/win32/msvc15/udr_engine.vcxproj
+++ b/builds/win32/msvc15/udr_engine.vcxproj
@@ -107,10 +107,10 @@
AllRules.ruleset
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\plugins\
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\plugins\
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\plugins\
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\plugins\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\plugins\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\plugins\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\plugins\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\plugins\
@@ -125,7 +125,6 @@
comctl32.lib;ws2_32.lib;mpr.lib;version.lib;%(AdditionalDependencies)
- ..\..\..\temp\$(Platform)\$(Configuration)\firebird\plugins\$(ProjectName).dll
..\defs\plugin.def
false
@@ -145,7 +144,6 @@
comctl32.lib;ws2_32.lib;mpr.lib;version.lib;%(AdditionalDependencies)
- ..\..\..\temp\$(Platform)\$(Configuration)\firebird\plugins\$(ProjectName).dll
..\defs\plugin.def
false
@@ -169,7 +167,6 @@
comctl32.lib;ws2_32.lib;mpr.lib;version.lib;%(AdditionalDependencies)
- ..\..\..\temp\$(Platform)\$(Configuration)\firebird\plugins\$(ProjectName).dll
..\defs\plugin.def
false
@@ -192,7 +189,6 @@
comctl32.lib;ws2_32.lib;mpr.lib;version.lib;%(AdditionalDependencies)
- ..\..\..\temp\$(Platform)\$(Configuration)\firebird\plugins\$(ProjectName).dll
..\defs\plugin.def
false
diff --git a/builds/win32/msvc15/udrcpp_example.vcxproj b/builds/win32/msvc15/udrcpp_example.vcxproj
index 83326c59d65..802e7e52451 100644
--- a/builds/win32/msvc15/udrcpp_example.vcxproj
+++ b/builds/win32/msvc15/udrcpp_example.vcxproj
@@ -109,16 +109,16 @@
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\plugins\udr\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\plugins\udr\
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\plugins\udr\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\plugins\udr\
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\plugins\udr\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\plugins\udr\
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\plugins\udr\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\plugins\udr\
@@ -133,7 +133,7 @@
comctl32.lib;ws2_32.lib;mpr.lib;version.lib;%(AdditionalDependencies)
- ..\..\..\temp\$(Platform)\$(Configuration)\firebird\plugins\udr\$(ProjectName).dll
+ $(OutDir)$(TargetName)$(TargetExt)
false
@@ -154,7 +154,7 @@
comctl32.lib;ws2_32.lib;mpr.lib;version.lib;%(AdditionalDependencies)
- ..\..\..\temp\$(Platform)\$(Configuration)\firebird\plugins\udr\$(ProjectName).dll
+ $(OutDir)$(TargetName)$(TargetExt)
false
@@ -179,7 +179,7 @@
comctl32.lib;ws2_32.lib;mpr.lib;version.lib;%(AdditionalDependencies)
- ..\..\..\temp\$(Platform)\$(Configuration)\firebird\plugins\udr\$(ProjectName).dll
+ $(OutDir)$(TargetName)$(TargetExt)
false
@@ -203,7 +203,7 @@
comctl32.lib;ws2_32.lib;mpr.lib;version.lib;%(AdditionalDependencies)
- ..\..\..\temp\$(Platform)\$(Configuration)\firebird\plugins\udr\$(ProjectName).dll
+ $(OutDir)$(TargetName)$(TargetExt)
false
diff --git a/builds/win32/msvc15/yvalve.vcxproj b/builds/win32/msvc15/yvalve.vcxproj
index b73b2889c72..9df9d84ee64 100644
--- a/builds/win32/msvc15/yvalve.vcxproj
+++ b/builds/win32/msvc15/yvalve.vcxproj
@@ -171,10 +171,10 @@
fbclient
fbclient
fbclient
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\
- ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\
+ ..\..\..\output_$(PlatformName)_$(Configuration)\
true
@@ -189,6 +189,7 @@
..\defs\firebird.def
ws2_32.lib;mpr.lib;%(AdditionalDependencies)
Windows
+ $(OutDir)\lib\$(TargetName)_ms.lib
@@ -203,6 +204,7 @@
..\defs\firebird.def
ws2_32.lib;mpr.lib;%(AdditionalDependencies)
Windows
+ $(OutDir)\lib\$(TargetName)_ms.lib
@@ -220,6 +222,7 @@
..\defs\firebird.def
ws2_32.lib;mpr.lib;%(AdditionalDependencies)
Windows
+ $(OutDir)\lib\$(TargetName)_ms.lib
@@ -236,6 +239,7 @@
..\defs\firebird.def
ws2_32.lib;mpr.lib;%(AdditionalDependencies)
Windows
+ $(OutDir)\lib\$(TargetName)_ms.lib
diff --git a/builds/win32/parse.bat b/builds/win32/parse.bat
index fe7f44a5a82..e2ea85fd632 100644
--- a/builds/win32/parse.bat
+++ b/builds/win32/parse.bat
@@ -2,11 +2,9 @@
@echo.
-@call setenvvar.bat
+@call setenvvar.bat %*
@if errorlevel 1 (goto :END)
-@call set_build_target.bat %*
-
@echo Generating parse.cpp and dsql.tab.h
@sed -n "/%%type .*/p" < %FB_ROOT_PATH%\src\dsql\parse.y > types.y
diff --git a/builds/win32/preprocess.bat b/builds/win32/preprocess.bat
index ec1c46f2cd2..620d5b893d1 100644
--- a/builds/win32/preprocess.bat
+++ b/builds/win32/preprocess.bat
@@ -15,10 +15,12 @@
::===========
:MAIN
-@call setenvvar.bat
-@if not defined FB_BIN_DIR (@call set_build_target.bat %*)
+@call setenvvar.bat %*
+
+for %%v in ( %* ) do (
+ @if "%%v"=="BOOT" (set BOOTBUILD=1) else (set BOOTBUILD=0)
+)
-@if "%1"=="BOOT" (set BOOTBUILD=1) else (set BOOTBUILD=0)
@echo.
@if "%BOOTBUILD%"=="1" (call :BOOT_PROCESS) else (call :MASTER_PROCESS)
@set BOOTBUILD=
@@ -54,12 +56,12 @@ goto :EOF
::===========
:BOOT_PROCESS
@echo.
-@set GPRE=%FB_BIN_DIR%\gpre_boot -lang_internal
+@set GPRE=%FB_BOOT_BIN_DIR%\gpre_boot -lang_internal
@for %%i in (backup, restore, OdsDetection) do @call :PREPROCESS burp %%i -ocxx -m
@for %%i in (extract, isql, show) do @call :PREPROCESS isql %%i -ocxx
@for %%i in (dba) do @call :PREPROCESS utilities/gstat %%i
-@set GPRE=%FB_BIN_DIR%\gpre_boot
+@set GPRE=%FB_BOOT_BIN_DIR%\gpre_boot
@for %%i in (alice_meta) do @call :PREPROCESS alice %%i
@for %%i in (array, blob) do @call :PREPROCESS yvalve %%i
@for %%i in (metd, DdlNodes, PackageNodes) do @call :PREPROCESS dsql %%i -gds_cxx
diff --git a/builds/win32/run_all.bat b/builds/win32/run_all.bat
index 5316efe02eb..b485ab63c0e 100644
--- a/builds/win32/run_all.bat
+++ b/builds/win32/run_all.bat
@@ -41,9 +41,9 @@ if defined FBBUILD_MAKE_KITS_ONLY (goto :MAKE_KITS & goto :EOF)
:: Go to work
-if not defined FBBUILD_NOCLEAN (call clean_all %FBBUILD_REAL_CLEAN%)
+if not defined FBBUILD_NOCLEAN (call clean_all %FBBUILD_BUILDTYPE% %FBBUILD_REAL_CLEAN%)
:: We do not support debug builds of icu, so we don't pass %FBBUILD_BUILDTYPE%
-call make_icu
+call make_icu %FBBUILD_BUILDTYPE%
if "%ERRLEV%"=="1" goto :END
call make_boot %FBBUILD_BUILDTYPE%
if "%ERRLEV%"=="1" goto :END
@@ -104,7 +104,7 @@ goto :END
::===============================
:: Set up the compiler environment
-@call setenvvar.bat
+@call setenvvar.bat %*
if "%ERRLEV%"=="1" goto :END
diff --git a/builds/win32/run_tests.bat b/builds/win32/run_tests.bat
index baff20a3208..db1094898b9 100644
--- a/builds/win32/run_tests.bat
+++ b/builds/win32/run_tests.bat
@@ -2,11 +2,9 @@
@echo.
-@call setenvvar.bat
+@call setenvvar.bat %*
@if errorlevel 1 (goto :END)
-@call set_build_target.bat %*
-
@%FB_BIN_DIR%\common_test --log_level=all
@%FB_BIN_DIR%\engine_test --log_level=all
diff --git a/builds/win32/set_build_target.bat b/builds/win32/set_build_target.bat
deleted file mode 100644
index ba27fac14fe..00000000000
--- a/builds/win32/set_build_target.bat
+++ /dev/null
@@ -1,18 +0,0 @@
-@echo off
-set FB_DBG=
-set FB_CONFIG=release
-set FB_CLEAN=
-set FB_ICU=
-
-for %%v in ( %* ) do (
- ( if /I "%%v"=="DEBUG" ( (set FB_DBG=TRUE) && (set FB_CONFIG=debug) ) )
- ( if /I "%%v"=="CLEAN" (set FB_CLEAN=:rebuild) )
- ( if /I "%%v"=="ICU" ( (set FB_ICU=1) && (set FB_DBG=) ) )
- ( if /I "%%v"=="RELEASE" ( (set FB_DBG=) && (set FB_CONFIG=release) ) )
-)
-
-set FB_OBJ_DIR=%FB_TARGET_PLATFORM%\%FB_CONFIG%
-set FB_BIN_DIR=%FB_ROOT_PATH%\temp\%FB_OBJ_DIR%\firebird\
-
-@echo Executed %0
-@echo.
diff --git a/builds/win32/setenvvar.bat b/builds/win32/setenvvar.bat
index 834311e2033..3c757307efe 100644
--- a/builds/win32/setenvvar.bat
+++ b/builds/win32/setenvvar.bat
@@ -4,9 +4,22 @@
:: FB_DB_PATH unix format path of the main directory
:: (This is used by gpre and preprocess.bat)
:: VS_VER VisualStudio version (msvc15)
+:: FB_OBJ_DIR
+:: FB_BOOT_BIN_DIR
+:: FB_BIN_DIR
@echo off
+set FB_DBG=
+set FB_CONFIG=release
+set FB_CLEAN=
+
+for %%v in ( %* ) do (
+ ( if /I "%%v"=="DEBUG" ( (set FB_DBG=TRUE) && (set FB_CONFIG=debug) ) )
+ ( if /I "%%v"=="CLEAN" (set FB_CLEAN=:rebuild) )
+ ( if /I "%%v"=="RELEASE" ( (set FB_DBG=) && (set FB_CONFIG=release) ) )
+)
+
:: Default target CPU architecture is the native environment
@if NOT DEFINED FB_PROCESSOR_ARCHITECTURE (
set FB_PROCESSOR_ARCHITECTURE=%PROCESSOR_ARCHITECTURE%
@@ -117,7 +130,7 @@
@if "%FB_PROCESSOR_ARCHITECTURE%"=="AMD64" (set FB_TARGET_PLATFORM=x64)
-@set FB_OUTPUT_DIR=%FB_ROOT_PATH%\output_%FB_TARGET_PLATFORM%
+@set FB_OUTPUT_DIR=%FB_ROOT_PATH%\output_%FB_TARGET_PLATFORM%_%FB_CONFIG%
@set FB_TEMP_DIR=%FB_ROOT_PATH%\temp\%FB_TARGET_PLATFORM%
@set FB_INSTALL_SCRIPTS=%FB_ROOT_PATH%\builds\install\arch-specific\win32
@set FB_GEN_DIR=%FB_ROOT_PATH%\gen
@@ -125,7 +138,9 @@
@set FB_ICU_SOURCE_BIN=%FB_ROOT_PATH%\extern\icu\%FB_TARGET_PLATFORM%\release\bin\
@set FIREBIRD_BOOT_BUILD=1
-
+@set FB_OBJ_DIR=%FB_TARGET_PLATFORM%\%FB_CONFIG%
+@set FB_BOOT_BIN_DIR=%FB_ROOT_PATH%\temp\%FB_OBJ_DIR%\firebird
+@set FB_BIN_DIR=%FB_OUTPUT_DIR%
goto :END
diff --git a/examples/build_win32/clean_api.bat b/examples/build_win32/clean_api.bat
index ddcf5540c5e..2ddb73984a9 100644
--- a/examples/build_win32/clean_api.bat
+++ b/examples/build_win32/clean_api.bat
@@ -1,5 +1,5 @@
-call setenvvar.bat
+call setenvvar.bat %*
@echo.
@echo cleaning api
diff --git a/examples/build_win32/clean_dyn.bat b/examples/build_win32/clean_dyn.bat
index 80ff4c55d10..c52b7b81fcf 100644
--- a/examples/build_win32/clean_dyn.bat
+++ b/examples/build_win32/clean_dyn.bat
@@ -1,5 +1,5 @@
-call setenvvar.bat
+call setenvvar.bat %*
@echo.
@echo cleaning dyn
diff --git a/examples/build_win32/clean_stat.bat b/examples/build_win32/clean_stat.bat
index ae9d00aa6c3..9e0a2f7eaeb 100644
--- a/examples/build_win32/clean_stat.bat
+++ b/examples/build_win32/clean_stat.bat
@@ -1,5 +1,5 @@
-call setenvvar.bat
+call setenvvar.bat %*
@echo.
@echo cleaning stat
diff --git a/examples/build_win32/clean_udf.bat b/examples/build_win32/clean_udf.bat
index ede0c0190b4..9c11bc002b9 100644
--- a/examples/build_win32/clean_udf.bat
+++ b/examples/build_win32/clean_udf.bat
@@ -1,5 +1,5 @@
-call setenvvar.bat
+call setenvvar.bat %*
@echo.
@echo cleaning udf
diff --git a/examples/build_win32/make_api.bat b/examples/build_win32/make_api.bat
index 4797a1cd06b..6e4ba08188a 100644
--- a/examples/build_win32/make_api.bat
+++ b/examples/build_win32/make_api.bat
@@ -1,5 +1,5 @@
-call setenvvar.bat
+call setenvvar.bat %*
:: CLEANING
call clean_api.bat
@@ -11,7 +11,7 @@ call clean_api.bat
cd %ROOT_PATH%\examples\api\
:: OLD FLAGS (to analyze)
:: /c /AL /Ge /Zi /Mq /Od /G2 /Zp1 /W3
-set CLFLAGS=-I %ROOT_PATH%\include -I %ROOT_PATH%\examples\include
+set CLFLAGS=-I %ROOT_PATH%\include -I %ROOT_PATH%\examples\include
cl %CLFLAGS% %ROOT_PATH%\lib\gds32_ms.lib %ROOT_PATH%\examples\api\api1.c
cl %CLFLAGS% %ROOT_PATH%\lib\gds32_ms.lib %ROOT_PATH%\examples\api\api2.c
diff --git a/examples/build_win32/make_dyn.bat b/examples/build_win32/make_dyn.bat
index 5fde1de99bc..2dafa7c9974 100644
--- a/examples/build_win32/make_dyn.bat
+++ b/examples/build_win32/make_dyn.bat
@@ -1,5 +1,5 @@
-call setenvvar.bat
+call setenvvar.bat %*
:: CLEANING
@call clean_dyn.bat
@@ -14,11 +14,11 @@ call setenvvar.bat
%ROOT_PATH%\bin\gpre -r -m -n -z %ROOT_PATH%\examples\dyn\dynfull.e %ROOT_PATH%\examples\dyn\dynfull.c -b localhost:%ROOT_PATH%\examples\empbuild\
cd %ROOT_PATH%\examples\dyn\
-set CLFLAGS=-I %ROOT_PATH%\include -I %ROOT_PATH%\examples\include
-cl %CLFLAGS% %ROOT_PATH%\lib\gds32_ms.lib %ROOT_PATH%\examples\dyn\dyn1.c
-cl %CLFLAGS% %ROOT_PATH%\lib\gds32_ms.lib %ROOT_PATH%\examples\dyn\dyn2.c
-cl %CLFLAGS% %ROOT_PATH%\lib\gds32_ms.lib %ROOT_PATH%\examples\dyn\dyn3.c
-cl %CLFLAGS% %ROOT_PATH%\lib\gds32_ms.lib %ROOT_PATH%\examples\dyn\dyn4.c
-cl %CLFLAGS% %ROOT_PATH%\lib\gds32_ms.lib %ROOT_PATH%\examples\dyn\dyn5.c
-cl %CLFLAGS% %ROOT_PATH%\lib\gds32_ms.lib %ROOT_PATH%\examples\dyn\dynfull.c
+set CLFLAGS=-I %ROOT_PATH%\include -I %ROOT_PATH%\examples\include
+cl %CLFLAGS% %ROOT_PATH%\lib\gds32_ms.lib %ROOT_PATH%\examples\dyn\dyn1.c
+cl %CLFLAGS% %ROOT_PATH%\lib\gds32_ms.lib %ROOT_PATH%\examples\dyn\dyn2.c
+cl %CLFLAGS% %ROOT_PATH%\lib\gds32_ms.lib %ROOT_PATH%\examples\dyn\dyn3.c
+cl %CLFLAGS% %ROOT_PATH%\lib\gds32_ms.lib %ROOT_PATH%\examples\dyn\dyn4.c
+cl %CLFLAGS% %ROOT_PATH%\lib\gds32_ms.lib %ROOT_PATH%\examples\dyn\dyn5.c
+cl %CLFLAGS% %ROOT_PATH%\lib\gds32_ms.lib %ROOT_PATH%\examples\dyn\dynfull.c
cd %ROOT_PATH%\examples\build_win32
diff --git a/examples/build_win32/make_stat.bat b/examples/build_win32/make_stat.bat
index 2bef1762a87..422ba6bf948 100644
--- a/examples/build_win32/make_stat.bat
+++ b/examples/build_win32/make_stat.bat
@@ -1,5 +1,5 @@
-call setenvvar.bat
+call setenvvar.bat %*
:: CLEANING
@call clean_stat.bat
@@ -22,20 +22,20 @@ call setenvvar.bat
%ROOT_PATH%\bin\gpre -c -m -n -z %ROOT_PATH%\examples\stat\stat12t.e %ROOT_PATH%\examples\stat\stat12t.c -b localhost:%DB_PATH%/examples/empbuild/
cd %ROOT_PATH%\examples\stat\
-set CLFLAGS=-I %ROOT_PATH%\include -I %ROOT_PATH%\examples\include
-cl %CLFLAGS% %ROOT_PATH%\lib\gds32_ms.lib %ROOT_PATH%\examples\stat\stat1.c
-cl %CLFLAGS% %ROOT_PATH%\lib\gds32_ms.lib %ROOT_PATH%\examples\stat\stat2.c
-cl %CLFLAGS% %ROOT_PATH%\lib\gds32_ms.lib %ROOT_PATH%\examples\stat\stat3.c
-cl %CLFLAGS% %ROOT_PATH%\lib\gds32_ms.lib %ROOT_PATH%\examples\stat\stat4.c
-cl %CLFLAGS% %ROOT_PATH%\lib\gds32_ms.lib %ROOT_PATH%\examples\stat\stat5.c
+set CLFLAGS=-I %ROOT_PATH%\include -I %ROOT_PATH%\examples\include
+cl %CLFLAGS% %ROOT_PATH%\lib\gds32_ms.lib %ROOT_PATH%\examples\stat\stat1.c
+cl %CLFLAGS% %ROOT_PATH%\lib\gds32_ms.lib %ROOT_PATH%\examples\stat\stat2.c
+cl %CLFLAGS% %ROOT_PATH%\lib\gds32_ms.lib %ROOT_PATH%\examples\stat\stat3.c
+cl %CLFLAGS% %ROOT_PATH%\lib\gds32_ms.lib %ROOT_PATH%\examples\stat\stat4.c
+cl %CLFLAGS% %ROOT_PATH%\lib\gds32_ms.lib %ROOT_PATH%\examples\stat\stat5.c
:: TODO
-:: cl %CLFLAGS% %ROOT_PATH%\lib\gds32_ms.lib %ROOT_PATH%\examples\stat\stat6.c
-cl %CLFLAGS% %ROOT_PATH%\lib\gds32_ms.lib %ROOT_PATH%\examples\stat\stat7.c
-cl %CLFLAGS% %ROOT_PATH%\lib\gds32_ms.lib %ROOT_PATH%\examples\stat\stat8.c
-cl %CLFLAGS% %ROOT_PATH%\lib\gds32_ms.lib %ROOT_PATH%\examples\stat\stat9.c
-cl %CLFLAGS% %ROOT_PATH%\lib\gds32_ms.lib %ROOT_PATH%\examples\stat\stat10.c
-cl %CLFLAGS% %ROOT_PATH%\lib\gds32_ms.lib %ROOT_PATH%\examples\stat\stat11.c
-cl %CLFLAGS% %ROOT_PATH%\lib\gds32_ms.lib %ROOT_PATH%\examples\stat\stat12.c
-cl %CLFLAGS% %ROOT_PATH%\lib\gds32_ms.lib %ROOT_PATH%\examples\stat\stat12t.c
+:: cl %CLFLAGS% %ROOT_PATH%\lib\gds32_ms.lib %ROOT_PATH%\examples\stat\stat6.c
+cl %CLFLAGS% %ROOT_PATH%\lib\gds32_ms.lib %ROOT_PATH%\examples\stat\stat7.c
+cl %CLFLAGS% %ROOT_PATH%\lib\gds32_ms.lib %ROOT_PATH%\examples\stat\stat8.c
+cl %CLFLAGS% %ROOT_PATH%\lib\gds32_ms.lib %ROOT_PATH%\examples\stat\stat9.c
+cl %CLFLAGS% %ROOT_PATH%\lib\gds32_ms.lib %ROOT_PATH%\examples\stat\stat10.c
+cl %CLFLAGS% %ROOT_PATH%\lib\gds32_ms.lib %ROOT_PATH%\examples\stat\stat11.c
+cl %CLFLAGS% %ROOT_PATH%\lib\gds32_ms.lib %ROOT_PATH%\examples\stat\stat12.c
+cl %CLFLAGS% %ROOT_PATH%\lib\gds32_ms.lib %ROOT_PATH%\examples\stat\stat12t.c
cd %ROOT_PATH%\examples\build_win32
diff --git a/examples/build_win32/make_udf.bat b/examples/build_win32/make_udf.bat
index 52f888e7705..b2b61e3745a 100644
--- a/examples/build_win32/make_udf.bat
+++ b/examples/build_win32/make_udf.bat
@@ -1,7 +1,7 @@
-call setenvvar.bat
+call setenvvar.bat %*
:: CLEANING
@call clean_udf.bat
-:: TODO
\ No newline at end of file
+:: TODO
diff --git a/examples/dbcrypt/msvc/DbCryptApp_MSVC15.vcxproj b/examples/dbcrypt/msvc/DbCryptApp_MSVC15.vcxproj
index e5007f05b31..3c4b2587304 100644
--- a/examples/dbcrypt/msvc/DbCryptApp_MSVC15.vcxproj
+++ b/examples/dbcrypt/msvc/DbCryptApp_MSVC15.vcxproj
@@ -110,8 +110,8 @@
Console
- ..\..\..\temp\$(Platform)\$(Configuration)\yvalve\
- fbclient.lib;%(AdditionalDependencies)
+ ..\..\..\output_$(Platform)_$(Configuration)\lib\
+ fbclient_ms.lib;%(AdditionalDependencies)
@@ -125,8 +125,8 @@
Console
- ..\..\..\temp\$(Platform)\$(Configuration)\yvalve\
- fbclient.lib;%(AdditionalDependencies)
+ ..\..\..\output_$(Platform)_$(Configuration)\lib\
+ fbclient_ms.lib;%(AdditionalDependencies)
@@ -144,8 +144,8 @@
Console
true
true
- ..\..\..\temp\$(Platform)\$(Configuration)\yvalve\
- fbclient.lib;%(AdditionalDependencies)
+ ..\..\..\output_$(Platform)_$(Configuration)\lib\
+ fbclient_ms.lib;%(AdditionalDependencies)
@@ -163,8 +163,8 @@
Console
true
true
- ..\..\..\temp\$(Platform)\$(Configuration)\yvalve\
- fbclient.lib;%(AdditionalDependencies)
+ ..\..\..\output_$(Platform)_$(Configuration)\lib\
+ fbclient_ms.lib;%(AdditionalDependencies)
diff --git a/extern/icu/.gitignore b/extern/icu/.gitignore
index fe570806bb7..1b2dd8dd914 100644
--- a/extern/icu/.gitignore
+++ b/extern/icu/.gitignore
@@ -3,6 +3,7 @@ include/
lib/
Win32/
x64/
+tzdata-extract/
icudt63l.dat
icudt63l_empty.dat
license.html