8
0
mirror of https://github.com/FirebirdSQL/firebird.git synced 2025-02-02 10:40:38 +01:00

Merge result

This commit is contained in:
AlexPeshkoff 2023-04-04 16:31:42 +03:00
commit dae83f6815
4399 changed files with 927698 additions and 38583 deletions

View File

@ -3,3 +3,7 @@ root = true
[*] [*]
indent_style = tab indent_style = tab
indent_size = 4 indent_size = 4
[*.yml]
indent_style = space
indent_size = 2

View File

@ -0,0 +1,87 @@
# TODO: Replace asfernandes/action-gh-release@master by softprops/action-gh-release@v1
# once https://github.com/softprops/action-gh-release/pull/343 is merged.
name: Create release
description: Create release
inputs:
token:
description: Token
required: true
deletePatterns:
description: Pattern to delete old assets
required: true
uploadFiles:
description: Files to upload
required: true
runs:
using: composite
steps:
- name: Get release info
id: release-info
if: github.event.head_commit.message == 'increment build number' || github.ref_type == 'tag'
uses: ./.github/actions/release-info
- name: Delete old assets
uses: mknejp/delete-release-assets@v1
if: steps.release-info.outputs.artifacts-tag && github.ref_type != 'tag'
with:
repository: ${{
(steps.release-info.outputs.artifacts-repository != github.repository &&
steps.release-info.outputs.artifacts-repository) ||
null
}}
token: ${{
(steps.release-info.outputs.artifacts-repository != github.repository &&
inputs.token) ||
github.token
}}
tag: ${{ steps.release-info.outputs.artifacts-tag }}
fail-if-no-release: false
fail-if-no-assets: false
assets: ${{ inputs.deletePatterns }}
- name: Release
id: release_try1
uses: asfernandes/action-gh-release@master
if: steps.release-info.outputs.artifacts-tag
continue-on-error: true
with:
repository: ${{
(steps.release-info.outputs.artifacts-repository != github.repository &&
steps.release-info.outputs.artifacts-repository) ||
null
}}
token: ${{
(steps.release-info.outputs.artifacts-repository != github.repository &&
inputs.token) ||
github.token
}}
name: ${{ steps.release-info.outputs.artifacts-tag-description }}
tag_name: ${{ steps.release-info.outputs.artifacts-tag }}
prerelease: true
overwrite_files: github.ref_type != 'tag'
files: ${{ inputs.uploadFiles }}
- name: Release (retry)
uses: asfernandes/action-gh-release@master
if: |
steps.release-info.outputs.artifacts-tag &&
steps.release_try1.outcome == 'failure'
with:
repository: ${{
(steps.release-info.outputs.artifacts-repository != github.repository &&
steps.release-info.outputs.artifacts-repository) ||
null
}}
token: ${{
(steps.release-info.outputs.artifacts-repository != github.repository &&
inputs.token) ||
github.token
}}
name: ${{ steps.release-info.outputs.artifacts-tag-description }}
tag_name: ${{ steps.release-info.outputs.artifacts-tag }}
prerelease: true
overwrite_files: github.ref_type != 'tag'
files: ${{ inputs.uploadFiles }}

View File

@ -0,0 +1,21 @@
name: Get Release Notes
description: Get Release Notes
runs:
using: composite
steps:
- name: Get release info
id: release-info
uses: ./.github/actions/release-info
- id: filename
if: steps.release-info.outputs.version
shell: bash
run: |
echo "filename=Firebird-${{ steps.release-info.outputs.version }}-ReleaseNotes.pdf" >> $GITHUB_OUTPUT
- id: copy-release-notes-file
if: steps.filename.outputs.filename
shell: bash
run: |
(cd doc && curl -OL https://firebirdsql.org/file/documentation/release_notes/${{ steps.filename.outputs.filename }})

58
.github/actions/release-info/action.yml vendored Normal file
View File

@ -0,0 +1,58 @@
name: Get release info
description: Get release info
outputs:
version:
description: Version
value: ${{ steps.version.outputs.version }}
artifacts-repository:
description: Artifacts repository
value: ${{ steps.artifacts-repository.outputs.artifacts-repository }}
artifacts-tag:
description: Artifacts tag
value: ${{ steps.artifacts-tag.outputs.tag }}
artifacts-tag-description:
description: Artifacts tag description
value: ${{ steps.artifacts-tag.outputs.tag-description }}
runs:
using: composite
steps:
- id: version
if: github.ref_type == 'tag' && startsWith(github.ref_name, 'v')
shell: bash
run: |
version=$(echo ${{ github.ref_name }} | cut -c2-)
echo "version=$version" >> $GITHUB_OUTPUT
- id: artifacts-repository
if: github.repository == 'FirebirdSQL/firebird'
shell: bash
run: |
repository=${{
(github.ref_type == 'tag' && startsWith(github.ref_name, 'v') && github.repository) ||
(github.ref_type == 'branch' &&
(github.ref_name == 'master' ||
(startsWith(github.ref_name, 'v') && endsWith(github.ref_name, '-release'))
) &&
'FirebirdSQL/snapshots'
) ||
''
}}
echo "artifacts-repository=$repository" >> $GITHUB_OUTPUT
- id: artifacts-tag
if: steps.artifacts-repository.outputs.artifacts-repository
shell: bash
run: |
tag=${{
(github.ref_type == 'tag' && github.ref_name) ||
format('snapshot-{0}', github.ref_name)
}}
echo "tag=$tag" >> $GITHUB_OUTPUT
tag_description="${{
(github.ref_type == 'tag' && github.ref_name) ||
format('Latest snapshots for {0}', github.ref_name)
}}"
echo "tag-description=$tag_description" >> $GITHUB_OUTPUT

View File

@ -0,0 +1,20 @@
name: ChangeLog generator
on:
workflow_dispatch:
inputs:
version:
description: 'Version'
required: true
jobs:
changelog-generator:
runs-on: ubuntu-latest
steps:
- name: Generate ChangeLog
uses: asfernandes/changelog-generator@v1
with:
fix-version-label: "fix-version: ${{ github.event.inputs.version }}"
token: ${{ secrets.GITHUB_TOKEN }}

View File

@ -0,0 +1,29 @@
name: increment-build-number
on:
workflow_dispatch:
schedule:
- cron: '0 23 * * *'
jobs:
increment-build-number:
if: github.repository == 'FirebirdSQL/firebird'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
token: ${{ secrets.FIREBIRD_INC_BUILDNUM }}
persist-credentials: true
fetch-depth: 0
- name: Configure git
run: |
git config --local user.email "action@github.com"
git config --local user.name "GitHub Action"
- name: Run setupBuildNum.sh
env:
GITHUB_TOKEN: ${{ secrets.FIREBIRD_INC_BUILDNUM }}
run: |
sh setupBuildNum.sh

View File

@ -3,228 +3,602 @@ name: CI
on: [pull_request] on: [pull_request]
jobs: jobs:
build:
runs-on: ${{ matrix.os }} build-linux-ubuntu-x64-clang:
container: ${{ matrix.container }} if: github.ref_type != 'tag'
runs-on: ubuntu-20.04
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 10
- name: Prepare
run: |
sudo apt-get install libtool-bin libtomcrypt1 libtomcrypt-dev libtommath1 libtommath-dev libicu-dev zlib1g-dev cmake
- 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-*-linux-x64.tar.gz
(cd Firebird-*-linux-x64; sudo ./install.sh -silent)
- name: Upload installer
uses: actions/upload-artifact@main
with:
name: firebird-ubuntu-20.04-clang-x64
path: gen/Firebird-*-linux-x64.tar.gz
build-linux-docker:
name: build-linux-docker-${{ matrix.arch }}
runs-on: ubuntu-22.04
env: env:
VS_VERSION: ${{ matrix.os == 'windows-2016' && '2017' || (matrix.os == 'windows-2019' && '2019' || (matrix.os == 'windows-2022' && '2022' || '')) }} FB_DOCKER_PATH: ${{ (startsWith(matrix.arch, 'arm') && 'arm32-arm64') || 'x86-x64' }}
strategy:
fail-fast: false
matrix:
arch:
- x86
- x64
- arm32
- arm64
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 10
- name: Get Release Notes
uses: ./.github/actions/get-release-notes
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
if: ${{ startsWith(matrix.arch, 'arm') }}
- name: Build
run: |
cd builds/docker/linux/$FB_DOCKER_PATH
./run-${{ matrix.arch }}.sh
- name: Upload installer
uses: actions/upload-artifact@main
with:
name: firebird-linux-${{ matrix.arch }}
path: gen/Firebird-*-linux-${{ matrix.arch }}.tar.gz
- name: Upload debug symbols
uses: actions/upload-artifact@main
with:
name: firebird-linux-${{ matrix.arch }}-debugSymbols
path: gen/Firebird-*-linux-${{ matrix.arch }}-debugSymbols.tar.gz
- name: Create release
uses: ./.github/actions/create-release
with:
token: ${{ secrets.SNAPSHOT_RELEASE_TOKEN }}
deletePatterns: Firebird-*-linux-${{ matrix.arch }}*.tar.gz
uploadFiles: gen/Firebird-*-linux-${{ matrix.arch }}*.tar.gz
build-src-bundle-docker:
name: build-src-bundle-docker
runs-on: ubuntu-22.04
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 10
- name: Get Release Notes
uses: ./.github/actions/get-release-notes
- name: Build
run: |
cd builds/docker/linux/x86-x64
./run-src-bundle.sh
- name: Create release
uses: ./.github/actions/create-release
with:
token: ${{ secrets.SNAPSHOT_RELEASE_TOKEN }}
deletePatterns: Firebird-*-source.tar.xz
uploadFiles: gen/Firebird-*-source.tar.xz
build-alpine-x64:
if: github.ref_type != 'tag'
runs-on: ubuntu-20.04
container: alpine:3.14
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 10
- name: Prepare
run: apk update && apk --no-cache --update add build-base libtool git autoconf automake cmake 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-*-linux-x64.tar.gz
- name: Upload installer
uses: actions/upload-artifact@main
with:
name: firebird-alpine-x64
path: gen/Firebird-*-linux-x64.tar.gz
build-windows:
if: github.ref_type != 'tag'
runs-on: ${{ matrix.os }}
env:
VS_VERSION: ${{ (matrix.os == 'windows-2019' && '2019' || (matrix.os == 'windows-2022' && '2022' || '')) }}
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
os: os:
- windows-2016 - windows-2022
- windows-2019 - windows-2019
platform: [x64, x86] 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: steps:
- uses: actions/checkout@v1 - name: Checkout
with: uses: actions/checkout@v3
fetch-depth: 10 with:
fetch-depth: 10
- name: Prepare (Ubuntu) - name: Prepare
if: startsWith(matrix.os, 'ubuntu-') && !matrix.container && !matrix.docker shell: cmd
run: | run: |
sudo apt-get install libtool-bin libtomcrypt1 libtomcrypt-dev libtommath1 libtommath-dev libicu-dev zlib1g-dev 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 (Ubuntu) - name: Build
if: startsWith(matrix.os, 'ubuntu-') && !matrix.container && !matrix.docker shell: cmd
run: | env:
CC=clang CXX=clang++ ./autogen.sh --enable-binreloc --prefix=/opt/firebird PLATFORM: ${{ matrix.platform }}
make -j4 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' }}
make dist run: |
tar xzvf gen/Firebird-[0-9]*.tar.gz set SEVENZIP=C:\Program Files\7-Zip
(cd Firebird-[0-9]*; sudo ./install.sh -silent) 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%" == "x86" set FB_VS_ARCH=x86
if "%PLATFORM%" == "x86" set FB_PROCESSOR_ARCHITECTURE=x86
call "%VS_SCRIPT%" -arch=%FB_VS_ARCH%
cd builds\win32
call run_all.bat
call run_tests.bat
- name: Build (Linux, Docker) - name: Upload zip
if: startsWith(matrix.container, 'asfernandes/firebird-builder') uses: actions/upload-artifact@main
run: /entry.sh with:
name: firebird-windows-vs-${{ env.VS_VERSION }}-${{ matrix.platform }}-zip
path: builds/install_images/Firebird-*-windows-${{ matrix.platform }}.zip
# asfernandes/firebird-builder:i586-5 - name: Upload installer
- name: Build (Linux, Docker) uses: actions/upload-artifact@main
if: startsWith(matrix.os, 'ubuntu-') && matrix.docker with:
run: | name: firebird-windows-vs-${{ env.VS_VERSION }}-${{ matrix.platform }}-installer
cd builds/docker/linux/i586-x86_64 path: builds/install_images/*-windows-${{ matrix.platform }}.exe
./run-i586.sh
- name: Prepare (Linux, Alpine) build-windows-docker:
if: startsWith(matrix.container, 'alpine') runs-on: windows-2022
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) strategy:
if: startsWith(matrix.container, 'alpine') fail-fast: false
run: | matrix:
./autogen.sh --enable-binreloc-threads --with-builtin-tommath --with-builtin-tomcrypt --prefix=/opt/firebird platform: [x64, x86]
make -j4
make dist
tar xzvf gen/Firebird-[0-9]*.tar.gz
- name: Prepare (MacOS) steps:
if: matrix.os == 'macOS-latest' - name: Checkout
run: | uses: actions/checkout@v3
brew install automake libtool with:
export LIBTOOLIZE=glibtoolize fetch-depth: 10
export LIBTOOL=glibtool
mkdir extern/icu-macos - name: Get Release Notes
pushd extern/icu-macos uses: ./.github/actions/get-release-notes
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
ICU_INSTALL_PATH=`pwd`/install
cd icu/source
patch -p3 < ../../24aeb9a5a5874f4ce5db912e30670ac3ae236971.patch
./runConfigureICU MacOSX --prefix=$ICU_INSTALL_PATH
make -j4
make install
install_name_tool -id @rpath/lib/libicuuc.dylib $ICU_INSTALL_PATH/lib/libicuuc.dylib
install_name_tool -id @rpath/lib/libicui18n.dylib $ICU_INSTALL_PATH/lib/libicui18n.dylib
install_name_tool -id @rpath/lib/libicudata.dylib $ICU_INSTALL_PATH/lib/libicudata.dylib
install_name_tool -change libicudata.63.dylib @loader_path/libicudata.63.dylib $ICU_INSTALL_PATH/lib/libicuuc.63.dylib
install_name_tool -change libicudata.63.dylib @loader_path/libicudata.63.dylib $ICU_INSTALL_PATH/lib/libicui18n.63.dylib
install_name_tool -change libicuuc.63.dylib @loader_path/libicuuc.63.dylib $ICU_INSTALL_PATH/lib/libicui18n.63.dylib
popd
mkdir -p gen/Release/firebird/lib
mkdir -p gen/Debug/firebird/lib
cp $ICU_INSTALL_PATH/lib/libicu{data,i18n,uc}.*dylib gen/Release/firebird/lib/
cp $ICU_INSTALL_PATH/lib/libicu{data,i18n,uc}.*dylib gen/Debug/firebird/lib/
- name: Build (MacOS) - name: Build
if: matrix.os == 'macOS-latest' id: build
run: | shell: cmd
export LIBTOOLIZE=glibtoolize env:
export LIBTOOL=glibtool PLATFORM: ${{ matrix.platform }}
run: |
echo arch_suffix=%PLATFORM%>> %GITHUB_OUTPUT%
mkdir builds\install_images
cd builds\docker\windows
call build.bat
call run.bat C:\fbscripts\build-%PLATFORM%.bat
ICU_INSTALL_PATH=`pwd`/extern/icu-macos/install - name: Upload zip
uses: actions/upload-artifact@main
with:
name: firebird-windows-${{ matrix.platform }}-zip
path: builds/install_images/Firebird-*-windows-${{ matrix.platform }}.zip
export C_INCLUDE_PATH="$ICU_INSTALL_PATH/include:$C_INCLUDE_PATH" - name: Upload zip (withDebugSymbols)
export CPLUS_INCLUDE_PATH="$ICU_INSTALL_PATH/include:$CPLUS_INCLUDE_PATH" uses: actions/upload-artifact@main
with:
name: firebird-windows-${{ matrix.platform }}-withDebugSymbols-zip
path: builds/install_images/Firebird-*-windows-${{ matrix.platform }}-withDebugSymbols.zip
LIBRARY_PATH="$ICU_INSTALL_PATH/lib:$LIBRARY_PATH" ./autogen.sh --with-builtin-tommath --with-builtin-tomcrypt - name: Upload installer
make -j4 uses: actions/upload-artifact@main
with:
name: firebird-windows-${{ matrix.platform }}-installer
path: builds/install_images/*-windows-${{ matrix.platform }}.exe
(cd gen; make -B -f make.platform.postfix ICU_LOC="$ICU_INSTALL_PATH/lib/") - name: Upload installer (withDebugSymbols)
(cd gen; make -B -f Makefile.install) uses: actions/upload-artifact@main
with:
name: firebird-windows-${{ matrix.platform }}-withDebugSymbols-installer
path: builds/install_images/*-windows-${{ matrix.platform }}-withDebugSymbols.exe
# Rename directory to make sure the build is relocatable. - name: Create release
mv gen gen2 uses: ./.github/actions/create-release
sudo installer -pkg gen2/Release/*.pkg -verbose -target / with:
token: ${{ secrets.SNAPSHOT_RELEASE_TOKEN }}
deletePatterns: |
Firebird-*-windows-${{ steps.build.outputs.arch_suffix }}*.exe
Firebird-*-windows-${{ steps.build.outputs.arch_suffix }}*.zip
uploadFiles: |
builds/install_images/Firebird-*-windows-*.exe
builds/install_images/Firebird-*-windows-*.zip
export FIREBIRD_LOCK=`pwd`/temp build-macos:
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 runs-on: macos-latest
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 steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 10
mv gen2 gen - name: Prepare - Install tools
mkdir gen/artifacts run: |
mv gen/Release/*.pkg gen/artifacts brew install automake cmake libtool ninja
- name: Prepare (Windows) - name: Cache - libc++ install
if: startsWith(matrix.os, 'windows-') id: cache-libcxx-install-macos
shell: cmd uses: actions/cache@v3
run: | with:
for /r %%i in (*.bat) do unix2dos "%%i" key: ${{ runner.os }}-libcxx-install-13.0.1
path: |
extern/libcxx-macos-install
- name: Build (Windows) - name: Download libc++ sources
if: startsWith(matrix.os, 'windows-') && !matrix.docker if: steps.cache-libcxx-install-macos.outputs.cache-hit != 'true'
shell: cmd run: |
env: mkdir extern/libcxx-macos
PLATFORM: ${{ matrix.platform }} pushd extern/libcxx-macos
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' }} curl -OL https://github.com/llvm/llvm-project/releases/download/llvmorg-13.0.1/llvm-project-13.0.1.src.tar.xz
run: | tar xJf llvm-project-13.0.1.src.tar.xz
if "%PLATFORM%" == "x64" set FB_VS_ARCH=amd64 popd
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
run_all.bat JUSTBUILD
- name: Build (Windows, Docker) - name: Build libc++
if: startsWith(matrix.os, 'windows-') && matrix.docker if: steps.cache-libcxx-install-macos.outputs.cache-hit != 'true'
shell: cmd run: |
env: LIBCXX_BUILD_PATH=`pwd`/extern/libcxx-macos-build
PLATFORM: ${{ matrix.platform }} LIBCXX_INSTALL_PATH=`pwd`/extern/libcxx-macos-install
run: | mkdir $LIBCXX_BUILD_PATH
mkdir output pushd extern/libcxx-macos/llvm-project-13.0.1.src
cd builds\docker\windows export MACOSX_DEPLOYMENT_TARGET=10.9
call build.bat cmake -G Ninja -S llvm -B $LIBCXX_BUILD_PATH \
call run.bat C:\fbscripts\build-%PLATFORM%.bat -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: Upload (Ubuntu) - name: Cache - libicu install
if: startsWith(matrix.os, 'ubuntu-') && !matrix.container && !matrix.docker id: cache-libicu-install-macos
uses: actions/upload-artifact@main uses: actions/cache@v3
with: with:
name: firebird-ubuntu-20.04-clang-${{ matrix.platform }} key: ${{ runner.os }}-libicu-install-63.2
path: gen/Firebird-*.tar.gz path: |
extern/libicu-macos-install
- name: Upload (Linux, Docker) - name: Download and patch libicu sources
if: startsWith(matrix.container, 'asfernandes/firebird-builder') || (startsWith(matrix.os, 'ubuntu-') && matrix.docker) if: steps.cache-libicu-install-macos.outputs.cache-hit != 'true'
uses: actions/upload-artifact@main run: |
with: mkdir extern/libicu-macos
name: firebird-linux-${{ matrix.platform }} pushd extern/libicu-macos
path: gen/Firebird-*.tar.gz 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: Upload (Linux, Alpine) - name: Build libicu
if: startsWith(matrix.container, 'alpine') if: steps.cache-libicu-install-macos.outputs.cache-hit != 'true'
uses: actions/upload-artifact@main run: |
with: export LIBTOOLIZE=glibtoolize
name: firebird-alpine-x64 export LIBTOOL=glibtool
path: gen/Firebird-*.tar.gz
- name: Upload (MacOS) LIBICU_INSTALL_PATH=`pwd`/extern/libicu-macos-install
if: matrix.os == 'macOS-latest' pushd extern/libicu-macos/icu/source
uses: actions/upload-artifact@main ./runConfigureICU MacOSX --prefix=$LIBICU_INSTALL_PATH
with: make -j4
name: firebird-macos make install
path: gen/artifacts 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: Upload (Windows x64) - name: Build
if: startsWith(matrix.os, 'windows-') && !matrix.docker && matrix.platform == 'x64' run: |
uses: actions/upload-artifact@main export LIBTOOLIZE=glibtoolize
with: export LIBTOOL=glibtool
name: firebird-windows-vs-${{ env.VS_VERSION }}-x64
path: output_x64
- name: Upload (Windows x86) LIBCXX_INSTALL_PATH=`pwd`/extern/libcxx-macos-install
if: startsWith(matrix.os, 'windows-') && !matrix.docker && matrix.platform == 'x86' LIBICU_INSTALL_PATH=`pwd`/extern/libicu-macos-install
uses: actions/upload-artifact@main
with:
name: firebird-windows-vs-${{ env.VS_VERSION }}-x86
path: output_win32
- name: Upload (Windows, Docker) mkdir -p gen/Release/firebird/lib
if: startsWith(matrix.os, 'windows-') && matrix.docker cp -R $LIBICU_INSTALL_PATH/lib/libicu{data,i18n,uc}.*dylib gen/Release/firebird/lib/
uses: actions/upload-artifact@main
with: export C_INCLUDE_PATH="$LIBICU_INSTALL_PATH/include:`xcrun --show-sdk-path`/usr/include"
name: firebird-windows-${{ matrix.platform }} export CPLUS_INCLUDE_PATH="$LIBCXX_INSTALL_PATH/include/c++/v1:$LIBICU_INSTALL_PATH/include:`xcrun --show-sdk-path`/usr/include"
path: output 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 installer
uses: actions/upload-artifact@main
with:
name: firebird-macos
path: gen/artifacts
- name: Create release
uses: ./.github/actions/create-release
with:
token: ${{ secrets.SNAPSHOT_RELEASE_TOKEN }}
deletePatterns: Firebird-*-macos-x64*.pkg
uploadFiles: gen/artifacts/Firebird-*-macos-x64*.pkg
build-android-initial:
name: build-android-${{ matrix.arch }}-initial
runs-on: ubuntu-22.04
env:
NDK: /home/runner/Android/Ndk
ARCH: ${{ matrix.arch }}
FB_PREFIX: ${{ (matrix.arch == 'arm32' && 'arme') || (matrix.arch == 'x64' && 'x86_64') || matrix.arch }}
strategy:
fail-fast: false
matrix:
arch:
- arm32
- arm64
- x86
- x64
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 10
- name: Prepare - install Linux tools
run: |
sudo apt-get install libtool-bin libtomcrypt1 libtomcrypt-dev libtommath1 libtommath-dev libicu-dev zlib1g-dev
- name: Prepare - Download and install Android NDK
run: |
mkdir downloads
pushd downloads
curl -OL https://dl.google.com/android/repository/android-ndk-r25b-linux.zip
mkdir -p $NDK
unzip android-ndk-r25b-linux.zip -d $NDK && f=("$NDK"/*) && mv "$NDK"/*/* "$NDK" && rmdir "${f[@]}"
- name: Build
run: |
./autogen.sh --prefix=/opt/firebird --enable-binreloc --with-cross-build=android.$FB_PREFIX --without-editline
make -j4
make CROSS_OUT=Y tests -j4
builds/install/arch-specific/android/BuildPackage.sh $ARCH
- name: Upload initial build
uses: actions/upload-artifact@v3
with:
name: firebird-android-initial-${{ matrix.arch }}
path: |
gen/Firebird-*-android-initial-${{ matrix.arch }}*.tar.gz
gen/Make.Version
build-android-final:
name: build-android-${{ matrix.arch }}-final
needs: build-android-initial
runs-on: macos-latest
env:
ARCH: ${{ matrix.arch }}
strategy:
fail-fast: false
matrix:
arch:
- arm32
- arm64
- x86
- x64
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 10
- name: Download initial build
uses: actions/download-artifact@v3
with:
name: firebird-android-initial-${{ matrix.arch }}
path: gen
- name: Cache - AVD
uses: actions/cache@v3
id: avd-cache
with:
path: |
~/.android/avd/*
~/.android/adb*
key: avd-v3
- name: Create AVD and generate snapshot for caching
if: steps.avd-cache.outputs.cache-hit != 'true'
uses: reactivecircus/android-emulator-runner@v2
with:
avd-name: firebird-builder
arch: x86_64
api-level: 30
target: google_apis
ndk: 25.1.8937393
emulator-options: -no-window -noaudio -no-boot-anim -camera-back none -port 5554
script: |
echo "Generated AVD snapshot for caching."
- name: Create necessary files in Android emulator
uses: reactivecircus/android-emulator-runner@v2
with:
avd-name: firebird-builder
arch: x86_64
api-level: 30
target: google_apis
ndk: 25.1.8937393
emulator-options: -no-snapshot-save -no-window -noaudio -no-boot-anim -camera-back none -port 5554
script: |
sleep 20
adb wait-for-device
adb root
NDK=/Users/runner/Library/Android/sdk/ndk/25.1.8937393 builds/install/arch-specific/android/BuildFinalPackage.sh $ARCH
- name: Upload installer
uses: actions/upload-artifact@v3
with:
name: firebird-android-${{ matrix.arch }}
path: gen/Firebird-*-android-${{ matrix.arch }}.tar.gz
- name: Upload installer (withDebugSymbols)
uses: actions/upload-artifact@v3
with:
name: firebird-android-${{ matrix.arch }}-withDebugSymbols
path: gen/Firebird-*-android-${{ matrix.arch }}-withDebugSymbols.tar.gz
- name: Delete initial build
uses: geekyeggo/delete-artifact@v1
with:
name: firebird-android-initial-${{ matrix.arch }}
- name: Create release
uses: ./.github/actions/create-release
with:
token: ${{ secrets.SNAPSHOT_RELEASE_TOKEN }}
deletePatterns: Firebird-*-android-${{ matrix.arch }}*.tar.gz
uploadFiles: gen/Firebird-*-android-${{ matrix.arch }}*.tar.gz
build-android-aar:
needs: build-android-final
runs-on: ubuntu-22.04
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 10
- name: Download final build (x86)
uses: actions/download-artifact@v3
with:
name: firebird-android-x86
path: android/temp
- name: Download final build (x64)
uses: actions/download-artifact@v3
with:
name: firebird-android-x64
path: android/temp
- name: Download final build (arm32)
uses: actions/download-artifact@v3
with:
name: firebird-android-arm32
path: android/temp
- name: Download final build (arm64)
uses: actions/download-artifact@v3
with:
name: firebird-android-arm64
path: android/temp
- name: Extract final builds
working-directory: android
run: |
mkdir -p embedded/src/main/jniLibs/{x86,x86_64,armeabi-v7a,arm64-v8a}
tar xzvf temp/Firebird-*-android-x86.tar.gz -C embedded/src/main/jniLibs/x86 --strip-components=1
tar xzvf temp/Firebird-*-android-x64.tar.gz -C embedded/src/main/jniLibs/x86_64 --strip-components=1
tar xzvf temp/Firebird-*-android-arm32.tar.gz -C embedded/src/main/jniLibs/armeabi-v7a --strip-components=1
tar xzvf temp/Firebird-*-android-arm64.tar.gz -C embedded/src/main/jniLibs/arm64-v8a --strip-components=1
mkdir -p embedded/src/main/assets/firebird
mv embedded/src/main/jniLibs/x86/{*.conf,*.msg,*.dat,*.res} embedded/src/main/assets/firebird/
find embedded/src/main/jniLibs -type f ! -iname "*.so" -delete
- name: Assemble AAR
working-directory: android
run: |
./gradlew assembleRelease
FB_VERSION=`cd ../src/misc/ && . writeBuildNum.sh && echo $PRODUCT_VER_STRING-$FIREBIRD_PACKAGE_VERSION`
mv embedded/build/outputs/aar/firebird-embedded-release.aar \
embedded/build/outputs/aar/Firebird-$FB_VERSION-android-embedded.aar
- name: Upload installer
uses: actions/upload-artifact@main
with:
name: firebird-android-aar
path: android/embedded/build/outputs/aar/Firebird-*-android-embedded.aar
- name: Create release
uses: ./.github/actions/create-release
with:
token: ${{ secrets.SNAPSHOT_RELEASE_TOKEN }}
deletePatterns: Firebird-*-android-embedded.aar
uploadFiles: android/embedded/build/outputs/aar/Firebird-*-android-embedded.aar

View File

@ -0,0 +1,40 @@
name: trim-trailing-spaces
on:
schedule:
- cron: '0 10 * * *'
jobs:
trim-trailing-spaces:
if: github.repository == 'FirebirdSQL/firebird'
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
branch:
- master
- v4.0-release
steps:
- uses: actions/checkout@v3
with:
ref: ${{ matrix.branch }}
persist-credentials: false
fetch-depth: 0
- name: Trim trailing spaces
run: |
find src/ -type f \( -iname \*.h -o -iname \*.cpp -o -iname \*.c -o -iname \*.epp -o -iname \*.y \) | xargs sed -i 's/[ \t]*$//'
- name: Commit files
run: |
git config --local user.email "action@github.com"
git config --local user.name "GitHub Action"
git commit -a -m Misc. || exit 0
- name: Push changes
uses: ad-m/github-push-action@master
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
branch: ${{ matrix.branch }}

View File

@ -17,7 +17,7 @@ jobs:
- v4.0-release - v4.0-release
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v3
with: with:
ref: ${{ matrix.branch }} ref: ${{ matrix.branch }}

7
.gitignore vendored
View File

@ -1,7 +1,7 @@
temp/ temp/
/gen/ /gen/
output_Win32/ output_Win32_*/
output_x64/ output_x64_*/
examples/prebuilt/ examples/prebuilt/
.vs/ .vs/
m4/ m4/
@ -21,7 +21,10 @@ src/dsql/parse.cpp
.vscode/.browse.VC.db .vscode/.browse.VC.db
extern/decNumber/libdecFloat*.a extern/decNumber/libdecFloat*.a
extern/int128/absl/numeric/libi128*.a extern/int128/absl/numeric/libi128*.a
extern/ttmath/debug/
extern/ttmath/release/
/Makefile /Makefile
/src/include/gen/parse.h /src/include/gen/parse.h
/src/include/gen/autoconfig.auto /src/include/gen/autoconfig.auto
/src/include/gen/autoconfig.h /src/include/gen/autoconfig.h
extern/libcds/lib/

View File

@ -1,78 +0,0 @@
matrix:
include:
# - os: osx
# osx_image: xcode9.2 # macOS 10.12 Sierra
# - os: osx
# osx_image: xcode11.2 # macOS 10.14 Mojave
- os: linux
language: cpp
notifications:
email: false
sudo: required
dist: xenial
install:
- |
if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
sudo apt-get update
sudo apt-get install -y libtool-bin libtommath0 libtommath-dev libicu-dev zlib1g-dev
fi
script:
- |
if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
./autogen.sh --enable-binreloc --with-builtin-tomcrypt --prefix=/opt/firebird
make -j4
make dist
tar xzvf gen/Firebird-[0-9]*.tar.gz
(cd Firebird-[0-9]*; sudo ./install.sh -silent)
fi
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
export LIBTOOLIZE=glibtoolize
export LIBTOOL=glibtool
mkdir extern/icu-macos
pushd extern/icu-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
ICU_INSTALL_PATH=`pwd`/install
cd icu/source
patch -p3 < ../../24aeb9a5a5874f4ce5db912e30670ac3ae236971.patch
./runConfigureICU MacOSX --prefix=$ICU_INSTALL_PATH
make -j4
make install
install_name_tool -id @rpath/lib/libicuuc.dylib $ICU_INSTALL_PATH/lib/libicuuc.dylib
install_name_tool -id @rpath/lib/libicui18n.dylib $ICU_INSTALL_PATH/lib/libicui18n.dylib
install_name_tool -id @rpath/lib/libicudata.dylib $ICU_INSTALL_PATH/lib/libicudata.dylib
install_name_tool -change libicudata.63.dylib @loader_path/libicudata.63.dylib $ICU_INSTALL_PATH/lib/libicuuc.63.dylib
install_name_tool -change libicudata.63.dylib @loader_path/libicudata.63.dylib $ICU_INSTALL_PATH/lib/libicui18n.63.dylib
install_name_tool -change libicuuc.63.dylib @loader_path/libicuuc.63.dylib $ICU_INSTALL_PATH/lib/libicui18n.63.dylib
popd
mkdir -p gen/Release/firebird/lib
mkdir -p gen/Debug/firebird/lib
cp $ICU_INSTALL_PATH/lib/libicu{data,i18n,uc}.*dylib gen/Release/firebird/lib/
cp $ICU_INSTALL_PATH/lib/libicu{data,i18n,uc}.*dylib gen/Debug/firebird/lib/
export C_INCLUDE_PATH="$ICU_INSTALL_PATH/include:$C_INCLUDE_PATH"
export CPLUS_INCLUDE_PATH="$ICU_INSTALL_PATH/include:$CPLUS_INCLUDE_PATH"
LIBRARY_PATH="$ICU_INSTALL_PATH/lib:$LIBRARY_PATH" ./autogen.sh --with-builtin-tommath --with-builtin-tomcrypt
make -j4
(cd gen; make -B -f make.platform.postfix ICU_LOC="$ICU_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
fi

View File

@ -1,6 +1,300 @@
# v5.0 Initial (planned) # v5.0 Beta 1 (27-Mar-2023)
## New features
* [#7447](https://github.com/FirebirdSQL/firebird/pull/7447): Parallel sweeping and index creation inside the engine
Reference(s): [/doc/README.parallel_features](https://github.com/FirebirdSQL/firebird/raw/master/doc/README.parallel_features)
Contributor(s): Vlad Khorsun
* [#7397](https://github.com/FirebirdSQL/firebird/pull/7397): Inline minor ODS upgrade
Contributor(s): Dmitry Yemanov
* [#7350](https://github.com/FirebirdSQL/firebird/pull/7350): SKIP LOCKED clause for SELECT WITH LOCK, UPDATE and DELETE
Reference(s): [/doc/sql.extensions/README.skip_locked.md](https://github.com/FirebirdSQL/firebird/raw/master/doc/sql.extensions/README.skip_locked.md)
Contributor(s): Adriano dos Santos Fernandes
* [#7216](https://github.com/FirebirdSQL/firebird/pull/7216): New built-in function `BLOB_APPEND`
Reference(s): [/doc/sql.extensions/README.blob_append.md](https://github.com/FirebirdSQL/firebird/raw/master/doc/sql.extensions/README.blob_append.md)
Contributor(s): Vlad Khorsun
* [#7144](https://github.com/FirebirdSQL/firebird/pull/7144): Compiled statement cache
Contributor(s): Adriano dos Santos Fernandes
* [#7086](https://github.com/FirebirdSQL/firebird/pull/7086): PSQL and SQL profiler
Reference(s): [/doc/sql.extensions/README.profiler.md](https://github.com/FirebirdSQL/firebird/raw/master/doc/sql.extensions/README.profiler.md)
Contributor(s): Adriano dos Santos Fernandes
* [#7050](https://github.com/FirebirdSQL/firebird/pull/7050): Add table `MON$COMPILED_STATEMENTS` and column `MON$COMPILED_STATEMENT_ID` to both `MON$STATEMENTS` and `MON$CALL_STACK` tables
Reference(s): [/doc/README.monitoring_tables](https://github.com/FirebirdSQL/firebird/raw/master/doc/README.monitoring_tables)
Contributor(s): Adriano dos Santos Fernandes
* [#6910](https://github.com/FirebirdSQL/firebird/issues/6910): Add way to retrieve statement BLR with `Statement::getInfo` and _ISQL's_ `SET EXEC_PATH_DISPLAY` BLR
Contributor(s): Adriano dos Santos Fernandes
* [#6798](https://github.com/FirebirdSQL/firebird/issues/6798): Add built-in functions `UNICODE_CHAR` and `UNICODE_VAL` to convert between Unicode code point and character
Reference(s): [/doc/sql.extensions/README.builtin_functions.txt](https://github.com/FirebirdSQL/firebird/raw/master/doc/sql.extensions/README.builtin_functions.txt)
Contributor(s): Adriano dos Santos Fernandes
* [#6713](https://github.com/FirebirdSQL/firebird/issues/6713): System table `RDB$KEYWORDS` with keywords [CORE6482]
Contributor(s): Adriano dos Santos Fernandes
* [#6681](https://github.com/FirebirdSQL/firebird/issues/6681): Support for `WHEN NOT MATCHED BY SOURCE` for `MERGE` statement [CORE6448]
Reference(s): [/doc/sql.extensions/README.merge.txt](https://github.com/FirebirdSQL/firebird/raw/master/doc/sql.extensions/README.merge.txt)
Contributor(s): Adriano dos Santos Fernandes
* [#3750](https://github.com/FirebirdSQL/firebird/issues/3750): Partial indices [CORE3384]
Reference(s): [/doc/sql.extensions/README.partial_indices](https://github.com/FirebirdSQL/firebird/raw/master/doc/sql.extensions/README.partial_indices)
Contributor(s): Dmitry Yemanov, Vlad Khorsun
* [#1783](https://github.com/FirebirdSQL/firebird/issues/1783): New GBAK switch to backup / restore tables/indexes in parallel
Reference(s): [/doc/README.gbak](https://github.com/FirebirdSQL/firebird/raw/master/doc/README.gbak)
Contributor(s): Vlad Khorsun
## Improvements ## Improvements
* [CORE-6794](http://tracker.firebirdsql.org/browse/CORE-6794): Add MON$SESSION_TIMEZONE to MON$ATTACHMENTS * [#7441](https://github.com/FirebirdSQL/firebird/pull/7441): More cursor-related details in the plan output
Contributor(s): Dmitry Yemanov
* [#7437](https://github.com/FirebirdSQL/firebird/issues/7437): Update _zlib_ to 1.2.13
Contributor(s): Vlad Khorsun
* [#7411](https://github.com/FirebirdSQL/firebird/issues/7411): Unify display of system procedures & packages with other system objects
Contributor(s): Alexander Peshkov
* [#7399](https://github.com/FirebirdSQL/firebird/pull/7399): Simplify client library build
Contributor(s): Adriano dos Santos Fernandes
* [#7382](https://github.com/FirebirdSQL/firebird/issues/7382): Performance improvement for BLOB copying
Contributor(s): Adriano dos Santos Fernandes
* [#7331](https://github.com/FirebirdSQL/firebird/issues/7331): Cost-based choice between nested loop join and hash join
Contributor(s): Dmitry Yemanov
* [#7294](https://github.com/FirebirdSQL/firebird/issues/7294): Allow FB-known macros in replication.conf
Contributor(s): Dmitry Yemanov
* [#7293](https://github.com/FirebirdSQL/firebird/pull/7293): Create Android packages with all necessary files in all architectures (x86, x64, arm32, arm64)
Contributor(s): Adriano dos Santos Fernandes
* [#7284](https://github.com/FirebirdSQL/firebird/pull/7284): Change release filenames as the following examples
Contributor(s): Adriano dos Santos Fernandes
* [#7259](https://github.com/FirebirdSQL/firebird/issues/7259): Remove _TcpLoopbackFastPath_ and use of _SIO_LOOPBACK_FAST_PATH_
Contributor(s): Vlad Khorsun
* [#7208](https://github.com/FirebirdSQL/firebird/issues/7208): Trace: provide performance statistics for DDL statements
Contributor(s): Vlad Khorsun
* [#7194](https://github.com/FirebirdSQL/firebird/issues/7194): Make it possible to avoid fbclient dependency in pascal programs using firebird.pas
Contributor(s): Alexander Peshkov
* [#7186](https://github.com/FirebirdSQL/firebird/issues/7186): _Nbackup_ `RDB$BACKUP_HISTORY` cleanup
Contributor(s): Vlad Khorsun
* [#7169](https://github.com/FirebirdSQL/firebird/issues/7169): Improve _ICU_ version mismatch diagnostics
Contributor(s): Adriano dos Santos Fernandes
* [#7168](https://github.com/FirebirdSQL/firebird/issues/7168): Ignore missing UDR libraries during restore
Contributor(s): Adriano dos Santos Fernandes
* [#7165](https://github.com/FirebirdSQL/firebird/issues/7165): Provide ability to see in the trace log events related to missing security context
Contributor(s): Vlad Khorsun
* [#7093](https://github.com/FirebirdSQL/firebird/issues/7093): Improve indexed lookup speed of strings when the last keys characters are part of collated contractions
Contributor(s): Adriano dos Santos Fernandes
* [#7092](https://github.com/FirebirdSQL/firebird/issues/7092): Improve performance of `CURRENT_TIME`
Contributor(s): Adriano dos Santos Fernandes
* [#7083](https://github.com/FirebirdSQL/firebird/issues/7083): `ResultSet::getInfo()` implementation
Contributor(s): Dmitry Yemanov
* [#7065](https://github.com/FirebirdSQL/firebird/issues/7065): Connection hangs after delivery of 256GB of data
Contributor(s): Alexander Peshkov
* [#7051](https://github.com/FirebirdSQL/firebird/issues/7051): Network support for bi-directional cursors
Contributor(s): Dmitry Yemanov
* [#7046](https://github.com/FirebirdSQL/firebird/issues/7046): Make ability to add comment to mapping `('COMMENT ON MAPPING ... IS ...')`
Contributor(s): Alexander Peshkov
* [#7042](https://github.com/FirebirdSQL/firebird/issues/7042): `ON DISCONNECT` triggers are not executed during forced attachment shutdown
Contributor(s): Ilya Eremin
* [#7041](https://github.com/FirebirdSQL/firebird/issues/7041): Firebird port for _Apple M1_
Contributor(s): Adriano dos Santos Fernandes
* [#7038](https://github.com/FirebirdSQL/firebird/issues/7038): Improve performance of `STARTING WITH` with insensitive collations
Contributor(s): Adriano dos Santos Fernandes
* [#7025](https://github.com/FirebirdSQL/firebird/issues/7025): Results of negation must be the same for each datatype (smallint / int / bigint / int128) when argument is least possible value for this type
Contributor(s): Alexander Peshkov
* [#6992](https://github.com/FirebirdSQL/firebird/issues/6992): Transform `OUTER` joins into `INNER` ones if the `WHERE` condition violates the outer join rules
Contributor(s): Dmitry Yemanov
* [#6959](https://github.com/FirebirdSQL/firebird/issues/6959): `IBatch::getInfo()` implementation
Contributor(s): Alexander Peshkov
* [#6957](https://github.com/FirebirdSQL/firebird/issues/6957): Add database creation time to the output of _ISQL's_ command `SHOW DATABASE`
Contributor(s): Vlad Khorsun
* [#6954](https://github.com/FirebirdSQL/firebird/issues/6954): _fb_info_protocol_version_ support
Contributor(s): Alexander Peshkov
* [#6929](https://github.com/FirebirdSQL/firebird/issues/6929): Add support of _PKCS v.1.5_ padding to RSA functions, needed for backward compatibility with old systems.
Contributor(s): Alexander Peshkov
* [#6915](https://github.com/FirebirdSQL/firebird/issues/6915): Allow attribute DISABLE-COMPRESSIONS in UNICODE collations
Contributor(s): Adriano dos Santos Fernandes
* [#6903](https://github.com/FirebirdSQL/firebird/issues/6903): Unable to create ICU-based collation with locale keywords
Contributor(s): tkeinz, Adriano dos Santos Fernandes
* [#6874](https://github.com/FirebirdSQL/firebird/issues/6874): Literal 65536 (interpreted as int) can not be multiplied by itself w/o cast if result more than 2^63-1
Contributor(s): Alexander Peshkov
* [#6873](https://github.com/FirebirdSQL/firebird/issues/6873): `SIMILAR TO` should use index when pattern starts with non-wildcard character (as `LIKE` does)
Contributor(s): Adriano dos Santos Fernandes
* [#6872](https://github.com/FirebirdSQL/firebird/issues/6872): Faster execution of indexed `STARTING WITH` with _UNICODE_ collation
Contributor(s): Adriano dos Santos Fernandes
* [#6815](https://github.com/FirebirdSQL/firebird/issues/6815): Support multiple rows for DML `RETURNING`
Contributor(s): Adriano dos Santos Fernandes
* [#6810](https://github.com/FirebirdSQL/firebird/issues/6810): Use precise limit of salt length when signing messages and verifying the sign
Contributor(s): Alexander Peshkov
* [#6809](https://github.com/FirebirdSQL/firebird/issues/6809): Integer hex-literal support for INT128
Contributor(s): Alexander Peshkov
* [#6794](https://github.com/FirebirdSQL/firebird/pull/6794): Improvement: add `MON$SESSION_TIMEZONE` to `MON$ATTACHMENTS`
Contributor(s): Adriano dos Santos Fernandes
* [#6740](https://github.com/FirebirdSQL/firebird/issues/6740): Allow parenthesized query expression for standard-compliance [CORE6511]
Contributor(s): Adriano dos Santos Fernandes
* [#6730](https://github.com/FirebirdSQL/firebird/issues/6730): Trace: provide ability to see _STATEMENT RESTART_ events (or their count) [CORE6500]
Contributor(s): Vlad Khorsun
* [#6571](https://github.com/FirebirdSQL/firebird/issues/6571): Improve memory consumption of statements and requests [CORE6330]
Contributor(s): Adriano dos Santos Fernandes
* [#5589](https://github.com/FirebirdSQL/firebird/issues/5589): Support full SQL standard character string literal syntax [CORE5312]
Contributor(s): Adriano dos Santos Fernandes
* [#5588](https://github.com/FirebirdSQL/firebird/issues/5588): Support full SQL standard binary string literal syntax [CORE5311]
Contributor(s): Adriano dos Santos Fernandes
* [#4769](https://github.com/FirebirdSQL/firebird/issues/4769): Allow sub-routines to access variables/parameters defined at the outer/parent level [CORE4449]
Contributor(s): Adriano dos Santos Fernandes
* [#4723](https://github.com/FirebirdSQL/firebird/issues/4723): Optimize the record-level _RLE_ algorithm for a denser compression of shorter-than-declared strings and sets of subsequent _NULLs_ [CORE4401]
Contributor(s): Dmitry Yemanov
* [#1708](https://github.com/FirebirdSQL/firebird/issues/1708): Avoid data retrieval if the `WHERE` clause always evaluates to `FALSE` [CORE1287]
Contributor(s): Dmitry Yemanov
* [#281](https://github.com/FirebirdSQL/firebird/pull/281): `RDB$BLOB_UTIL` system package
Contributor(s): Adriano dos Santos Fernandes
## Bugfixes
* [#7388](https://github.com/FirebirdSQL/firebird/issues/7388): Different invariants optimization between views and CTEs
Contributor(s): Dmitry Yemanov
* [#7314](https://github.com/FirebirdSQL/firebird/issues/7314): Multitreaded activating indices restarts server process
Contributor(s): Vlad Khorsun
* [#7304](https://github.com/FirebirdSQL/firebird/issues/7304): Events in system attachments (like garbage collector) are not traced
Contributor(s): Alexander Peshkov
* [#7298](https://github.com/FirebirdSQL/firebird/issues/7298): Info result parsing
Contributor(s): Alexander Peshkov
* [#7296](https://github.com/FirebirdSQL/firebird/issues/7296): During shutdown _op_disconnect_ may be sent to invalid handle
Contributor(s): Alexander Peshkov
* [#7295](https://github.com/FirebirdSQL/firebird/issues/7295): Unexpected message 'Error reading data from the connection' when fbtracemgr is closed using _Ctrl-C_
Contributor(s): Alexander Peshkov
* [#7283](https://github.com/FirebirdSQL/firebird/issues/7283): Suspicious error message during install
Contributor(s): Alexander Peshkov
* [#7262](https://github.com/FirebirdSQL/firebird/issues/7262): Repeated _op_batch_create_ leaks the batch
Contributor(s): Alexander Peshkov
* [#7045](https://github.com/FirebirdSQL/firebird/issues/7045): International characters in table or alias names causes queries of `MON$STATEMENTS` to fail
Contributor(s): Adriano dos Santos Fernandes
* [#6968](https://github.com/FirebirdSQL/firebird/issues/6968): On Windows, engine may hung when works with corrupted database and read after the end of file
Contributor(s): Vlad Khorsun
* [#6854](https://github.com/FirebirdSQL/firebird/issues/6854): Crash occurs when use `SIMILAR TO`
Contributor(s): Adriano dos Santos Fernandes
* [#6845](https://github.com/FirebirdSQL/firebird/issues/6845): Result type of `AVG` over `BIGINT` column results in type `INT128`
Contributor(s): Alexander Peshkov
* [#6838](https://github.com/FirebirdSQL/firebird/issues/6838): Deleting multiple rows from a view with triggers may cause triggers to fire just once
Contributor(s): Dmitry Yemanov
* [#6836](https://github.com/FirebirdSQL/firebird/issues/6836): `fb_shutdown()` does not wait for self completion in other thread
Contributor(s): Alexander Peshkov
* [#6832](https://github.com/FirebirdSQL/firebird/issues/6832): Segfault using "commit retaining" with GTT
Contributor(s): Alexander Peshkov
* [#6825](https://github.com/FirebirdSQL/firebird/pull/6825): Correct error message for `DROP VIEW`
Contributor(s): Ilya Eremin
* [#6817](https://github.com/FirebirdSQL/firebird/issues/6817): _-fetch_password passwordfile_ does not work with gfix
Contributor(s): Alexander Peshkov
* [#6807](https://github.com/FirebirdSQL/firebird/issues/6807): Regression in FB 4.x : "Unexpected end of command" with incorrect line/column info
Contributor(s): Adriano dos Santos Fernandes
* [#6801](https://github.com/FirebirdSQL/firebird/issues/6801): Error recompiling a package with some combination of nested functions
Contributor(s): Adriano dos Santos Fernandes
* [#5749](https://github.com/FirebirdSQL/firebird/issues/5749): Token unknown error on formfeed in query [CORE5479]
Contributor(s): Adriano dos Santos Fernandes
* [#5534](https://github.com/FirebirdSQL/firebird/issues/5534): String truncation exception on `UPPER/LOWER` functions, UTF8 database and some multibyte characters [CORE5255]
Contributor(s): Adriano dos Santos Fernandes
* [#5173](https://github.com/FirebirdSQL/firebird/issues/5173): Compound `ALTER TABLE` statement with `ADD` and `DROP` the same constraint failed if this constraint involves index creation (PK/UNQ/FK) [CORE4878]
Contributor(s): Ilya Eremin
* [#5082](https://github.com/FirebirdSQL/firebird/issues/5082): Exception "too few key columns found for index" raises when attempt to create table with PK and immediatelly drop this PK within the same transaction [CORE4783]
Contributor(s): Ilya Eremin
* [#4893](https://github.com/FirebirdSQL/firebird/issues/4893): Syntax error when `UNION` subquery ("query primary") in parentheses [CORE4577]
Contributor(s): Adriano dos Santos Fernandes
* [#4085](https://github.com/FirebirdSQL/firebird/issues/4085): `RDB$INDICES` information stored inconsistently after a `CREATE INDEX` [CORE3741]
Contributor(s): Dmitry Yemanov
* [#3886](https://github.com/FirebirdSQL/firebird/issues/3886): `RECREATE TABLE T` with PK or UK is impossible after duplicate typing w/o commit when _ISQL_ is launched in _AUTODDL=OFF_ mode [CORE3529]
Contributor(s): Ilya Eremin
* [#3812](https://github.com/FirebirdSQL/firebird/issues/3812): Query with SP doesn't accept explicit plan [CORE3451]
Contributor(s): Dmitry Yemanov
* [#3357](https://github.com/FirebirdSQL/firebird/issues/3357): Bad execution plan if some stream depends on multiple streams via a function [CORE2975]
Contributor(s): Dmitry Yemanov
* [#1210](https://github.com/FirebirdSQL/firebird/issues/1210): Server hangs on I/O error during "open" operation for file "/tmp/firebird/fb_trace_ksVDoc" [CORE2917]
Contributor(s): Alexander Peshkov
* [#3218](https://github.com/FirebirdSQL/firebird/issues/3218): Optimizer fails applying stream-local predicates before merging [CORE2832]
Contributor(s): Dmitry Yemanov
## Cleanup
* [#7082](https://github.com/FirebirdSQL/firebird/issues/7082): Remove the WNET protocol
Contributor(s): Dmitry Yemanov
* [#6840](https://github.com/FirebirdSQL/firebird/issues/6840): Remove QLI
Contributor(s): Adriano dos Santos Fernandes Contributor(s): Adriano dos Santos Fernandes

View File

@ -1,5 +1,5 @@
[![Build Status](https://travis-ci.com/FirebirdSQL/firebird.svg?branch=master)](https://travis-ci.com/FirebirdSQL/firebird) [![Build Status (GitHub)](https://github.com/FirebirdSQL/firebird/actions/workflows/main.yml/badge.svg?branch=master)](https://github.com/FirebirdSQL/firebird/actions/workflows/main.yml?query=branch%3Amaster)
[![Build Status](https://ci.appveyor.com/api/projects/status/github/FirebirdSQL/firebird?branch=master&svg=true)](https://ci.appveyor.com/project/FirebirdSQL/firebird) [![Build Status (AppVeyor)](https://ci.appveyor.com/api/projects/status/github/FirebirdSQL/firebird?branch=master&svg=true)](https://ci.appveyor.com/project/FirebirdSQL/firebird)
# Firebird README # Firebird README

15
android/.gitignore vendored Normal file
View File

@ -0,0 +1,15 @@
*.iml
.gradle
/local.properties
/.idea/caches
/.idea/libraries
/.idea/modules.xml
/.idea/workspace.xml
/.idea/navEditor.xml
/.idea/assetWizardSettings.xml
.DS_Store
/build
/captures
.externalNativeBuild
.cxx
local.properties

3
android/.idea/.gitignore vendored Normal file
View File

@ -0,0 +1,3 @@
# Default ignored files
/shelf/
/workspace.xml

1
android/.idea/.name Normal file
View File

@ -0,0 +1 @@
Firebird for Android

View File

@ -0,0 +1,125 @@
<component name="ProjectCodeStyleConfiguration">
<code_scheme name="Project" version="173">
<JetCodeStyleSettings>
<option name="CODE_STYLE_DEFAULTS" value="KOTLIN_OFFICIAL" />
</JetCodeStyleSettings>
<editorconfig>
<option name="ENABLED" value="false" />
</editorconfig>
<codeStyleSettings language="XML">
<indentOptions>
<option name="CONTINUATION_INDENT_SIZE" value="4" />
</indentOptions>
<arrangement>
<rules>
<section>
<rule>
<match>
<AND>
<NAME>xmlns:android</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>^$</XML_NAMESPACE>
</AND>
</match>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>xmlns:.*</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>^$</XML_NAMESPACE>
</AND>
</match>
<order>BY_NAME</order>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>.*:id</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
</AND>
</match>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>.*:name</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
</AND>
</match>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>name</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>^$</XML_NAMESPACE>
</AND>
</match>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>style</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>^$</XML_NAMESPACE>
</AND>
</match>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>.*</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>^$</XML_NAMESPACE>
</AND>
</match>
<order>BY_NAME</order>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>.*</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
</AND>
</match>
<order>ANDROID_ATTRIBUTE_ORDER</order>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>.*</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>.*</XML_NAMESPACE>
</AND>
</match>
<order>BY_NAME</order>
</rule>
</section>
</rules>
</arrangement>
</codeStyleSettings>
<codeStyleSettings language="kotlin">
<option name="CODE_STYLE_DEFAULTS" value="KOTLIN_OFFICIAL" />
</codeStyleSettings>
</code_scheme>
</component>

View File

@ -0,0 +1,5 @@
<component name="ProjectCodeStyleConfiguration">
<state>
<option name="USE_PER_PROJECT_SETTINGS" value="true" />
</state>
</component>

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CompilerConfiguration">
<bytecodeTargetLevel target="11" />
</component>
</project>

19
android/.idea/gradle.xml Normal file
View File

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="GradleMigrationSettings" migrationVersion="1" />
<component name="GradleSettings">
<option name="linkedExternalProjectsSettings">
<GradleProjectSettings>
<option name="testRunner" value="GRADLE" />
<option name="distributionType" value="DEFAULT_WRAPPED" />
<option name="externalProjectPath" value="$PROJECT_DIR$" />
<option name="modules">
<set>
<option value="$PROJECT_DIR$" />
<option value="$PROJECT_DIR$/embedded" />
</set>
</option>
</GradleProjectSettings>
</option>
</component>
</project>

9
android/.idea/misc.xml Normal file
View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectRootManager" version="2" languageLevel="JDK_11" default="true" project-jdk-name="Android Studio default JDK" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/build/classes" />
</component>
<component name="ProjectType">
<option name="id" value="Android" />
</component>
</project>

6
android/.idea/vcs.xml Normal file
View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$/.." vcs="Git" />
</component>
</project>

10
android/build.gradle Normal file
View File

@ -0,0 +1,10 @@
// Top-level build file where you can add configuration options common to all sub-projects/modules.
plugins {
id 'com.android.application' version '7.2.2' apply false
id 'com.android.library' version '7.2.2' apply false
id 'org.jetbrains.kotlin.android' version '1.6.10' apply false
}
task clean(type: Delete) {
delete rootProject.buildDir
}

1
android/embedded/.gitignore vendored Normal file
View File

@ -0,0 +1 @@
/build

View File

@ -0,0 +1,43 @@
plugins {
id 'com.android.library'
id 'org.jetbrains.kotlin.android'
}
android {
compileSdk 32
defaultConfig {
minSdk 24
targetSdk 32
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
consumerProguardFiles "consumer-rules.pro"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = '1.8'
}
libraryVariants.all { variant ->
variant.outputs.all {
outputFileName = "firebird-embedded-${variant.name}.aar"
}
}
}
dependencies {
implementation 'androidx.core:core-ktx:1.7.0'
testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.5'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1'
}

View File

21
android/embedded/proguard-rules.pro vendored Normal file
View File

@ -0,0 +1,21 @@
# Add project specific ProGuard rules here.
# You can control the set of applied configuration files using the
# proguardFiles setting in build.gradle.
#
# For more details, see
# http://developer.android.com/guide/developing/tools/proguard.html
# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
# public *;
#}
# Uncomment this to preserve the line number information for
# debugging stack traces.
#-keepattributes SourceFile,LineNumberTable
# If you keep the line number information, uncomment this to
# hide the original source file name.
#-renamesourcefileattribute SourceFile

View File

@ -0,0 +1,24 @@
package org.firebirdsql.android.embedded
import androidx.test.platform.app.InstrumentationRegistry
import androidx.test.ext.junit.runners.AndroidJUnit4
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.Assert.*
/**
* Instrumented test, which will execute on an Android device.
*
* See [testing documentation](http://d.android.com/tools/testing).
*/
@RunWith(AndroidJUnit4::class)
class ExampleInstrumentedTest {
@Test
fun useAppContext() {
// Context of the app under test.
val appContext = InstrumentationRegistry.getInstrumentation().targetContext
assertEquals("org.firebirdsql.android.embedded.test", appContext.packageName)
}
}

View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.firebirdsql.android.embedded">
</manifest>

View File

@ -0,0 +1,78 @@
package org.firebirdsql.android.embedded
import android.content.Context
import android.system.ErrnoException
import android.system.Os
import android.util.Log
import java.io.File
import java.io.FileOutputStream
import java.io.IOException
public object FirebirdConf {
private const val TAG = "FirebirdAndroid"
@JvmStatic
@Throws(IOException::class)
public fun extractAssets(context: Context, force: Boolean = true) {
val firebirdRootPath = File(context.filesDir, "firebird")
if (!force && firebirdRootPath.exists())
return;
val firebirdTempRootPath = File(context.filesDir, "firebird.tmp")
if (firebirdTempRootPath.exists())
deleteDirectory(firebirdTempRootPath)
firebirdTempRootPath.mkdir()
val firebirdTmpPath = File(firebirdTempRootPath, "tmp")
firebirdTmpPath.mkdirs()
val firebirdLockPath = File(firebirdTempRootPath, "lock")
firebirdLockPath.mkdirs()
val assetManager = context.assets
val buffer = ByteArray(1024)
for (asset in assetManager.list("firebird")!!) {
Log.d(TAG, "Extracting Firebird asset: $asset")
assetManager.open("firebird/$asset").use { input ->
FileOutputStream(File(firebirdTempRootPath, asset)).use { output ->
var len: Int
while (input.read(buffer).also { len = it } > 0)
output.write(buffer, 0, len)
output.flush()
}
}
}
if (firebirdRootPath.exists())
deleteDirectory(firebirdRootPath)
firebirdTempRootPath.renameTo(firebirdRootPath);
}
@JvmStatic
@Throws(ErrnoException::class)
public fun setEnv(context: Context) {
val firebirdRootPath = File(context.filesDir, "firebird")
val firebirdTmpPath = File(firebirdRootPath, "tmp")
val firebirdLockPath = File(firebirdRootPath, "lock")
Os.setenv("FIREBIRD", firebirdRootPath.absolutePath, true)
Os.setenv("FIREBIRD_TMP", firebirdTmpPath.absolutePath, true)
Os.setenv("FIREBIRD_LOCK", firebirdLockPath.absolutePath, true)
}
private fun deleteDirectory(directory: File) {
for (file in directory.listFiles()) {
if (file.isDirectory)
deleteDirectory(file)
else
file.delete()
}
}
}

View File

@ -0,0 +1,17 @@
package org.firebirdsql.android.embedded
import org.junit.Test
import org.junit.Assert.*
/**
* Example local unit test, which will execute on the development machine (host).
*
* See [testing documentation](http://d.android.com/tools/testing).
*/
class ExampleUnitTest {
@Test
fun addition_isCorrect() {
assertEquals(4, 2 + 2)
}
}

23
android/gradle.properties Normal file
View File

@ -0,0 +1,23 @@
# Project-wide Gradle settings.
# IDE (e.g. Android Studio) users:
# Gradle settings configured through the IDE *will override*
# any settings specified in this file.
# For more details on how to configure your build environment visit
# http://www.gradle.org/docs/current/userguide/build_environment.html
# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8
# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
# org.gradle.parallel=true
# AndroidX package structure to make it clearer which packages are bundled with the
# Android operating system, and which are packaged with your app"s APK
# https://developer.android.com/topic/libraries/support-library/androidx-rn
android.useAndroidX=true
# Kotlin code style for this project: "official" or "obsolete":
kotlin.code.style=official
# Enables namespacing of each library's R class so that its R class includes only the
# resources declared in the library itself and none from the library's dependencies,
# thereby reducing the size of the R class for that library
android.nonTransitiveRClass=true

Binary file not shown.

View File

@ -0,0 +1,6 @@
#Mon Feb 06 07:47:43 BRT 2023
distributionBase=GRADLE_USER_HOME
distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-bin.zip
distributionPath=wrapper/dists
zipStorePath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME

185
android/gradlew vendored Executable file
View File

@ -0,0 +1,185 @@
#!/usr/bin/env sh
#
# Copyright 2015 the original author or authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
##############################################################################
##
## Gradle start up script for UN*X
##
##############################################################################
# Attempt to set APP_HOME
# Resolve links: $0 may be a link
PRG="$0"
# Need this for relative symlinks.
while [ -h "$PRG" ] ; do
ls=`ls -ld "$PRG"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
PRG="$link"
else
PRG=`dirname "$PRG"`"/$link"
fi
done
SAVED="`pwd`"
cd "`dirname \"$PRG\"`/" >/dev/null
APP_HOME="`pwd -P`"
cd "$SAVED" >/dev/null
APP_NAME="Gradle"
APP_BASE_NAME=`basename "$0"`
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD="maximum"
warn () {
echo "$*"
}
die () {
echo
echo "$*"
echo
exit 1
}
# OS specific support (must be 'true' or 'false').
cygwin=false
msys=false
darwin=false
nonstop=false
case "`uname`" in
CYGWIN* )
cygwin=true
;;
Darwin* )
darwin=true
;;
MINGW* )
msys=true
;;
NONSTOP* )
nonstop=true
;;
esac
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
# Determine the Java command to use to start the JVM.
if [ -n "$JAVA_HOME" ] ; then
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
# IBM's JDK on AIX uses strange locations for the executables
JAVACMD="$JAVA_HOME/jre/sh/java"
else
JAVACMD="$JAVA_HOME/bin/java"
fi
if [ ! -x "$JAVACMD" ] ; then
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
else
JAVACMD="java"
which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
# Increase the maximum file descriptors if we can.
if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
MAX_FD_LIMIT=`ulimit -H -n`
if [ $? -eq 0 ] ; then
if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
MAX_FD="$MAX_FD_LIMIT"
fi
ulimit -n $MAX_FD
if [ $? -ne 0 ] ; then
warn "Could not set maximum file descriptor limit: $MAX_FD"
fi
else
warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
fi
fi
# For Darwin, add options to specify how the application appears in the dock
if $darwin; then
GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
fi
# For Cygwin or MSYS, switch paths to Windows format before running java
if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then
APP_HOME=`cygpath --path --mixed "$APP_HOME"`
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
JAVACMD=`cygpath --unix "$JAVACMD"`
# We build the pattern for arguments to be converted via cygpath
ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
SEP=""
for dir in $ROOTDIRSRAW ; do
ROOTDIRS="$ROOTDIRS$SEP$dir"
SEP="|"
done
OURCYGPATTERN="(^($ROOTDIRS))"
# Add a user-defined pattern to the cygpath arguments
if [ "$GRADLE_CYGPATTERN" != "" ] ; then
OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
fi
# Now convert the arguments - kludge to limit ourselves to /bin/sh
i=0
for arg in "$@" ; do
CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
else
eval `echo args$i`="\"$arg\""
fi
i=`expr $i + 1`
done
case $i in
0) set -- ;;
1) set -- "$args0" ;;
2) set -- "$args0" "$args1" ;;
3) set -- "$args0" "$args1" "$args2" ;;
4) set -- "$args0" "$args1" "$args2" "$args3" ;;
5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
esac
fi
# Escape application args
save () {
for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
echo " "
}
APP_ARGS=`save "$@"`
# Collect all arguments for the java command, following the shell quoting and substitution rules
eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
exec "$JAVACMD" "$@"

89
android/gradlew.bat vendored Normal file
View File

@ -0,0 +1,89 @@
@rem
@rem Copyright 2015 the original author or authors.
@rem
@rem Licensed under the Apache License, Version 2.0 (the "License");
@rem you may not use this file except in compliance with the License.
@rem You may obtain a copy of the License at
@rem
@rem https://www.apache.org/licenses/LICENSE-2.0
@rem
@rem Unless required by applicable law or agreed to in writing, software
@rem distributed under the License is distributed on an "AS IS" BASIS,
@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@rem See the License for the specific language governing permissions and
@rem limitations under the License.
@rem
@if "%DEBUG%" == "" @echo off
@rem ##########################################################################
@rem
@rem Gradle startup script for Windows
@rem
@rem ##########################################################################
@rem Set local scope for the variables with windows NT shell
if "%OS%"=="Windows_NT" setlocal
set DIRNAME=%~dp0
if "%DIRNAME%" == "" set DIRNAME=.
set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME%
@rem Resolve any "." and ".." in APP_HOME to make it shorter.
for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
@rem Find java.exe
if defined JAVA_HOME goto findJavaFromJavaHome
set JAVA_EXE=java.exe
%JAVA_EXE% -version >NUL 2>&1
if "%ERRORLEVEL%" == "0" goto execute
echo.
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.
goto fail
:findJavaFromJavaHome
set JAVA_HOME=%JAVA_HOME:"=%
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
if exist "%JAVA_EXE%" goto execute
echo.
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.
goto fail
:execute
@rem Setup the command line
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
@rem Execute Gradle
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
:end
@rem End local scope for the variables with windows NT shell
if "%ERRORLEVEL%"=="0" goto mainEnd
:fail
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
rem the _cmd.exe /c_ return code!
if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
exit /b 1
:mainEnd
if "%OS%"=="Windows_NT" endlocal
:omega

16
android/settings.gradle Normal file
View File

@ -0,0 +1,16 @@
pluginManagement {
repositories {
gradlePluginPortal()
google()
mavenCentral()
}
}
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
google()
mavenCentral()
}
}
rootProject.name = "Firebird for Android"
include ':embedded'

View File

@ -1,55 +0,0 @@
image:
- Visual Studio 2017
- Ubuntu1804
platform:
- x64
- x86
for:
-
matrix:
only:
- platform: x86
only_commits:
message: /increment build number/
shallow_clone: true
install:
- cmd: for /r %%i in (*.bat) do unix2dos "%%i"
- cmd: if "%PLATFORM%" == "x64" set FB_PROCESSOR_ARCHITECTURE=AMD64
- cmd: if "%PLATFORM%" == "x64" set FB_OUTPUT_SUFFIX=x64
- cmd: if "%PLATFORM%" == "x64" set FB_VS_ARCH=amd64
- cmd: if "%PLATFORM%" == "x86" set FB_PROCESSOR_ARCHITECTURE=x86
- cmd: if "%PLATFORM%" == "x86" set FB_OUTPUT_SUFFIX=win32
- cmd: if "%PLATFORM%" == "x86" set FB_VS_ARCH=x86
- cmd: if "%APPVEYOR_BUILD_WORKER_IMAGE%" == "Visual Studio 2017" call "%ProgramFiles(x86)%\Microsoft Visual Studio\2017\Community\Common7\Tools\VsDevCmd.bat" -arch=%FB_VS_ARCH%
- cmd: cd builds\win32
- cmd: run_all.bat JUSTBUILD
- cmd: set ARTIFACTS_PATH=output_%FB_OUTPUT_SUFFIX%
- sh: export APT_PACKAGES="libtool-bin"
- sh: if [ $PLATFORM = "x64" ]; then export APT_PACKAGES="$APT_PACKAGES libtommath1 libtommath-dev libicu-dev zlib1g-dev"; fi
- sh: if [ $PLATFORM = "x86" ]; then export APT_PACKAGES="$APT_PACKAGES gcc-multilib g++-multilib libncurses5-dev:i386 libtommath-dev:i386 libicu-dev:i386 zlib1g-dev:i386"; fi
- sh: if [ $PLATFORM = "x64" ]; then export CC="gcc" CXX="g++"; fi
- sh: if [ $PLATFORM = "x86" ]; then export CC="gcc -m32" CXX="g++ -m32"; fi
- sh: if [ $PLATFORM = "x86" ]; then export BUILD_FLAG=--build=i386-pc-linux-gnu; fi
- sh: sudo apt-get -y update
- sh: sudo apt-get -y install $APT_PACKAGES
- sh: sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 80 --slave /usr/bin/g++ g++ /usr/bin/g++-7
- sh: find . -type f -iname "*.sh" -exec chmod +x {} \;
- sh: ./autogen.sh --enable-binreloc --with-builtin-tomcrypt --prefix=/opt/firebird $BUILD_FLAG
- sh: make -j4
- sh: make dist
- sh: (mkdir output; tar xzvf gen/Firebird-[0-9]*.tar.gz -C output)
- sh: (cd output/Firebird-[0-9]*; sudo ./install.sh -silent)
- sh: export ARTIFACTS_PATH=`find gen/Firebird-[0-9]*.tar.gz`
artifacts:
- path: $(ARTIFACTS_PATH)
name: output
type: zip
build: off
test: off
deploy: off

View File

@ -0,0 +1,245 @@
ARG ARG_BASE=arm64v8/ubuntu:22.04
ARG ARG_TARGET_ARCH=aarch64-pc-linux-gnu
ARG ARG_CTNF_CONFIG=crosstool-ng-config-arm64
ARG ARG_CTNG_VERSION=1.25.0
ARG ARG_LIBTOOL_VERSION=2.4.6
ARG ARG_NCURSES_VERSION=6.3
ARG ARG_LTM_VERSION=1.2.0
ARG ARG_ZLIB_VERSION=1.2.13
ARG ARG_ICU_VERSION=70-1
ARG ARG_CPUCOUNT=6
ARG ARG_CTNG_UID=1000
ARG ARG_CTNG_GID=1000
FROM ubuntu:22.04 as builder
ARG ARG_TARGET_ARCH
ARG ARG_CTNF_CONFIG
ARG ARG_CTNG_VERSION
ARG ARG_LIBTOOL_VERSION
ARG ARG_NCURSES_VERSION
ARG ARG_LTM_VERSION
ARG ARG_ZLIB_VERSION
ARG ARG_ICU_VERSION
ARG ARG_CPUCOUNT
ARG ARG_CTNG_UID
ARG ARG_CTNG_GID
RUN groupadd -g $ARG_CTNG_GID ctng && \
useradd -d /home/ctng -m -g $ARG_CTNG_GID -u $ARG_CTNG_UID -s /bin/bash ctng && \
\
{ echo 'tzdata tzdata/Areas select Etc'; echo 'tzdata tzdata/Zones/Etc select UTC'; } | debconf-set-selections && \
\
apt-get update && \
apt-get -y install \
sudo \
automake \
bison \
chrpath \
flex \
gcc \
g++ \
git \
gperf \
gawk \
help2man \
libexpat1-dev \
libncurses5-dev \
libsdl1.2-dev \
libtool \
libtool-bin \
libtool-doc \
python2.7-dev \
python3-dev \
texinfo \
make \
curl \
wget \
unzip \
nano && \
\
adduser ctng sudo && \
echo '%sudo ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers
USER ctng
COPY --from=asfernandes/firebird-builder:fb5-x64-ng-v1 --chown=ctng:ctng /home/ctng/x-tools /home/ctng/x-tools
RUN mkdir ~/build && \
curl -SL --output ~/build/icu4c-${ARG_ICU_VERSION}-src.tgz https://github.com/unicode-org/icu/releases/download/release-${ARG_ICU_VERSION}/icu4c-`echo ${ARG_ICU_VERSION} | tr - _`-src.tgz && \
curl -SL --output ~/build/ncurses-${ARG_NCURSES_VERSION}.tar.gz https://ftp.gnu.org/pub/gnu/ncurses/ncurses-${ARG_NCURSES_VERSION}.tar.gz && \
curl -SL --output ~/build/libtool-${ARG_LIBTOOL_VERSION}.tar.gz https://ftpmirror.gnu.org/libtool/libtool-${ARG_LIBTOOL_VERSION}.tar.gz && \
curl -SL --output ~/build/ltm-${ARG_LTM_VERSION}.tar.xz https://github.com/libtom/libtommath/releases/download/v${ARG_LTM_VERSION}/ltm-${ARG_LTM_VERSION}.tar.xz && \
curl -SL --output ~/build/zlib-${ARG_ZLIB_VERSION}.tar.gz https://zlib.net/zlib-${ARG_ZLIB_VERSION}.tar.gz
ADD --chown=ctng:ctng $ARG_CTNF_CONFIG /tmp/crosstool-ng-config
RUN cd && \
mkdir src && \
git clone https://github.com/crosstool-ng/crosstool-ng.git && \
cd crosstool-ng && \
git checkout -b branch crosstool-ng-${ARG_CTNG_VERSION} && \
./bootstrap && \
./configure --enable-local && \
make && \
mv /tmp/crosstool-ng-config .config && \
cd ~/crosstool-ng && \
./ct-ng build.${ARG_CPUCOUNT}
RUN sudo apt-get -y remove \
autoconf \
automake \
binutils \
cpp \
gcc \
g++ \
binutils \
libtool \
git \
libtommath1 \
libtommath-dev \
libtomcrypt1 \
libtomcrypt-dev && \
sudo rm -rf /var/lib/apt/lists/*
ENV PATH "/home/ctng/x-tools/x86_64-pc-linux-gnu/bin:${PATH}"
ENV PATH "/home/ctng/x-tools/${ARG_TARGET_ARCH}/bin:/home/ctng/x-tools/${ARG_TARGET_ARCH}/${ARG_TARGET_ARCH}/sysroot/usr/local/bin:${PATH}"
RUN cd ~/build && \
mkdir -p libtool-${ARG_LIBTOOL_VERSION}-src && \
tar xvf libtool-${ARG_LIBTOOL_VERSION}.tar.gz --strip 1 -C libtool-${ARG_LIBTOOL_VERSION}-src && \
rm libtool-${ARG_LIBTOOL_VERSION}.tar.gz && \
mkdir libtool-${ARG_LIBTOOL_VERSION}-build && \
cd libtool-${ARG_LIBTOOL_VERSION}-build && \
../libtool-${ARG_LIBTOOL_VERSION}-src/configure \
--host=${ARG_TARGET_ARCH} \
--prefix=/home/ctng/x-tools/${ARG_TARGET_ARCH} && \
make -j${ARG_CPUCOUNT} && \
make install
RUN cd ~/build && \
mkdir -p ncurses-${ARG_NCURSES_VERSION}-src && \
tar xvf ncurses-${ARG_NCURSES_VERSION}.tar.gz --strip 1 -C ncurses-${ARG_NCURSES_VERSION}-src && \
rm ncurses-${ARG_NCURSES_VERSION}.tar.gz && \
mkdir ncurses-${ARG_NCURSES_VERSION}-build && \
cd ncurses-${ARG_NCURSES_VERSION}-build && \
../ncurses-${ARG_NCURSES_VERSION}-src/configure \
--host=${ARG_TARGET_ARCH} \
--with-build-cc=x86_64-pc-linux-gnu-gcc \
--prefix=/home/ctng/x-tools/${ARG_TARGET_ARCH}/${ARG_TARGET_ARCH}/sysroot/usr \
--bindir=/home/ctng/x-tools/${ARG_TARGET_ARCH}/${ARG_TARGET_ARCH}/sysroot/usr/local/bin \
--libdir=/home/ctng/x-tools/${ARG_TARGET_ARCH}/${ARG_TARGET_ARCH}/sysroot/usr/local/lib \
--enable-overwrite \
--disable-db-install \
--disable-termcap \
--without-ada \
--without-cxx \
--without-cxx-binding \
--without-develop \
--without-tests \
--without-progs \
--with-default-terminfo-dir=/etc/terminfo \
--with-terminfo-dirs="/etc/terminfo:/lib/terminfo:/usr/share/terminfo" && \
make -j${ARG_CPUCOUNT} && \
make install
RUN cd ~/build && \
mkdir -p ltm-${ARG_LTM_VERSION}-src && \
tar xvf ltm-${ARG_LTM_VERSION}.tar.xz --strip 1 -C ltm-${ARG_LTM_VERSION}-src && \
rm ltm-${ARG_LTM_VERSION}.tar.xz && \
cd ltm-${ARG_LTM_VERSION}-src && \
CC=${ARG_TARGET_ARCH}-gcc AR=${ARG_TARGET_ARCH}-ar make \
-C ../ltm-${ARG_LTM_VERSION}-src \
-f makefile.shared \
-j${ARG_CPUCOUNT} && \
make install \
-f makefile.shared \
DESTDIR=/home/ctng/x-tools/${ARG_TARGET_ARCH}/${ARG_TARGET_ARCH}/sysroot \
INCPATH=/usr/include \
AR=${ARG_TARGET_ARCH}-ar \
RANLIB=${ARG_TARGET_ARCH}-ranlib
RUN cd ~/build && \
mkdir zlib-${ARG_ZLIB_VERSION}-src && \
tar xvf zlib-${ARG_ZLIB_VERSION}.tar.gz --strip 1 -C zlib-${ARG_ZLIB_VERSION}-src && \
rm zlib-${ARG_ZLIB_VERSION}.tar.gz && \
mkdir zlib-${ARG_ZLIB_VERSION}-build && \
cd zlib-${ARG_ZLIB_VERSION}-build && \
CROSS_PREFIX=${ARG_TARGET_ARCH}- ../zlib-${ARG_ZLIB_VERSION}-src/configure \
--prefix=/home/ctng/x-tools/${ARG_TARGET_ARCH}/${ARG_TARGET_ARCH}/sysroot/usr \
--libdir=/home/ctng/x-tools/${ARG_TARGET_ARCH}/${ARG_TARGET_ARCH}/sysroot/usr/local/lib \
--enable-shared && \
make -j${ARG_CPUCOUNT} && \
make install
RUN cd ~/build && \
mkdir icu4c-${ARG_ICU_VERSION}-src && \
tar xvf icu4c-${ARG_ICU_VERSION}-src.tgz --strip 1 -C icu4c-${ARG_ICU_VERSION}-src && \
mkdir icu4c-${ARG_ICU_VERSION}-build-x86_64 && \
cd icu4c-${ARG_ICU_VERSION}-build-x86_64 && \
../icu4c-${ARG_ICU_VERSION}-src/source/runConfigureICU \
Linux \
--host=x86_64-pc-linux-gnu \
CXXFLAGS=-std=c++17 && \
make -j${ARG_CPUCOUNT}
RUN cd ~/build && \
mkdir icu4c-${ARG_ICU_VERSION}-build && \
cd icu4c-${ARG_ICU_VERSION}-build && \
../icu4c-${ARG_ICU_VERSION}-src/source/runConfigureICU \
Linux \
--host=${ARG_TARGET_ARCH} \
--with-cross-build=/home/ctng/build/icu4c-${ARG_ICU_VERSION}-build-x86_64 \
--prefix=/home/ctng/x-tools/${ARG_TARGET_ARCH}/${ARG_TARGET_ARCH}/sysroot/usr/local \
--includedir=/home/ctng/x-tools/${ARG_TARGET_ARCH}/${ARG_TARGET_ARCH}/sysroot/usr/include \
CXXFLAGS=-std=c++17 && \
make -j${ARG_CPUCOUNT} && \
make install
FROM $ARG_BASE
ARG ARG_TARGET_ARCH
ARG ARG_CPUCOUNT
ARG ARG_CTNG_UID
ARG ARG_CTNG_GID
RUN apt-get update && \
apt-get -y install \
cmake \
libc6-amd64-cross \
libfile-copy-recursive-perl \
unzip && \
rm -rf /var/lib/apt/lists/*
RUN ln -s /usr/x86_64-linux-gnu/lib64 /lib64 && \
groupadd -g $ARG_CTNG_GID ctng && \
useradd -d /home/ctng -m -g $ARG_CTNG_GID -u $ARG_CTNG_UID -s /bin/bash ctng
USER ctng
RUN chmod o=u /home/ctng
COPY --from=builder --chown=ctng:ctng /home/ctng/x-tools /home/ctng/x-tools
COPY --chown=ctng:ctng scripts/* /
# Let non-emulated x86_64-linux-gnu make run.
RUN rm /home/ctng/x-tools/${ARG_TARGET_ARCH}/bin/make
ENV PATH "/home/ctng/x-tools/${ARG_TARGET_ARCH}/bin:/home/ctng/x-tools/${ARG_TARGET_ARCH}/${ARG_TARGET_ARCH}/sysroot/usr/local/bin:/home/ctng/x-tools/x86_64-pc-linux-gnu/bin:${PATH}"
ENV LIBRARY_PATH "/home/ctng/x-tools/${ARG_TARGET_ARCH}/${ARG_TARGET_ARCH}/sysroot/usr/local/lib"
ENV LD_LIBRARY_PATH "/usr/x86_64-linux-gnu/lib:/home/ctng/x-tools/${ARG_TARGET_ARCH}/${ARG_TARGET_ARCH}/sysroot/usr/local/lib"
ENV BUILD_ARCH=$ARG_TARGET_ARCH
ENV CPUCOUNT=$ARG_CPUCOUNT
WORKDIR /firebird
ENTRYPOINT ["/entry.sh"]

View File

@ -0,0 +1,7 @@
#!/bin/sh
docker build \
--pull \
--build-arg ARG_BASE=arm32v7/ubuntu:22.04 \
--build-arg ARG_TARGET_ARCH=arm-pc-linux-gnueabihf \
--build-arg ARG_CTNF_CONFIG=crosstool-ng-config-arm32 \
-t asfernandes/firebird-builder:fb5-arm32-ng-v1 .

View File

@ -0,0 +1,7 @@
#!/bin/sh
docker build \
--pull \
--build-arg ARG_BASE=arm64v8/ubuntu:22.04 \
--build-arg ARG_TARGET_ARCH=aarch64-pc-linux-gnu \
--build-arg ARG_CTNF_CONFIG=crosstool-ng-config-arm64 \
-t asfernandes/firebird-builder:fb5-arm64-ng-v1 .

View File

@ -0,0 +1,938 @@
#
# Automatically generated file; DO NOT EDIT.
# crosstool-NG 1.25.0 Configuration
#
CT_CONFIGURE_has_static_link=y
CT_CONFIGURE_has_cxx11=y
CT_CONFIGURE_has_wget=y
CT_CONFIGURE_has_curl=y
CT_CONFIGURE_has_make_3_81_or_newer=y
CT_CONFIGURE_has_make_4_0_or_newer=y
CT_CONFIGURE_has_libtool_2_4_or_newer=y
CT_CONFIGURE_has_libtoolize_2_4_or_newer=y
CT_CONFIGURE_has_autoconf_2_65_or_newer=y
CT_CONFIGURE_has_autoreconf_2_65_or_newer=y
CT_CONFIGURE_has_automake_1_15_or_newer=y
CT_CONFIGURE_has_gnu_m4_1_4_12_or_newer=y
CT_CONFIGURE_has_python_3_4_or_newer=y
CT_CONFIGURE_has_bison_2_7_or_newer=y
CT_CONFIGURE_has_python=y
CT_CONFIGURE_has_git=y
CT_CONFIGURE_has_md5sum=y
CT_CONFIGURE_has_sha1sum=y
CT_CONFIGURE_has_sha256sum=y
CT_CONFIGURE_has_sha512sum=y
CT_CONFIGURE_has_install_with_strip_program=y
CT_VERSION="1.25.0"
CT_VCHECK=""
CT_CONFIG_VERSION_ENV="4"
CT_CONFIG_VERSION_CURRENT="4"
CT_CONFIG_VERSION="4"
CT_MODULES=y
#
# Paths and misc options
#
#
# crosstool-NG behavior
#
CT_OBSOLETE=y
# CT_EXPERIMENTAL is not set
# CT_DEBUG_CT is not set
#
# Paths
#
CT_LOCAL_TARBALLS_DIR="${HOME}/src"
CT_SAVE_TARBALLS=y
# CT_TARBALLS_BUILDROOT_LAYOUT is not set
CT_WORK_DIR="${CT_TOP_DIR}/.build"
CT_BUILD_TOP_DIR="${CT_WORK_DIR:-${CT_TOP_DIR}/.build}/${CT_HOST:+HOST-${CT_HOST}/}${CT_TARGET}"
CT_BUILD_DIR="${CT_BUILD_TOP_DIR}/build"
CT_PREFIX_DIR="${CT_PREFIX:-${HOME}/x-tools}/${CT_HOST:+HOST-${CT_HOST}/}${CT_TARGET}"
CT_RM_RF_PREFIX_DIR=y
CT_REMOVE_DOCS=y
# CT_INSTALL_LICENSES is not set
# CT_PREFIX_DIR_RO is not set
CT_STRIP_HOST_TOOLCHAIN_EXECUTABLES=y
# CT_STRIP_TARGET_TOOLCHAIN_EXECUTABLES is not set
#
# Downloading
#
CT_DOWNLOAD_AGENT_WGET=y
# CT_DOWNLOAD_AGENT_CURL is not set
# CT_DOWNLOAD_AGENT_NONE is not set
# CT_FORBID_DOWNLOAD is not set
# CT_FORCE_DOWNLOAD is not set
CT_CONNECT_TIMEOUT=10
CT_DOWNLOAD_WGET_OPTIONS="--passive-ftp --tries=3 -nc --progress=dot:binary"
# CT_ONLY_DOWNLOAD is not set
# CT_USE_MIRROR is not set
CT_VERIFY_DOWNLOAD_DIGEST=y
CT_VERIFY_DOWNLOAD_DIGEST_SHA512=y
# CT_VERIFY_DOWNLOAD_DIGEST_SHA256 is not set
# CT_VERIFY_DOWNLOAD_DIGEST_SHA1 is not set
# CT_VERIFY_DOWNLOAD_DIGEST_MD5 is not set
CT_VERIFY_DOWNLOAD_DIGEST_ALG="sha512"
# CT_VERIFY_DOWNLOAD_SIGNATURE is not set
#
# Extracting
#
# CT_FORCE_EXTRACT is not set
CT_OVERRIDE_CONFIG_GUESS_SUB=y
# CT_ONLY_EXTRACT is not set
CT_PATCH_BUNDLED=y
# CT_PATCH_BUNDLED_LOCAL is not set
CT_PATCH_ORDER="bundled"
#
# Build behavior
#
CT_PARALLEL_JOBS=0
CT_LOAD=""
CT_USE_PIPES=y
CT_EXTRA_CFLAGS_FOR_BUILD=""
CT_EXTRA_CXXFLAGS_FOR_BUILD=""
CT_EXTRA_LDFLAGS_FOR_BUILD=""
CT_EXTRA_CFLAGS_FOR_HOST=""
CT_EXTRA_LDFLAGS_FOR_HOST=""
# CT_CONFIG_SHELL_SH is not set
# CT_CONFIG_SHELL_ASH is not set
CT_CONFIG_SHELL_BASH=y
# CT_CONFIG_SHELL_CUSTOM is not set
CT_CONFIG_SHELL="${bash}"
#
# Logging
#
# CT_LOG_ERROR is not set
# CT_LOG_WARN is not set
# CT_LOG_INFO is not set
CT_LOG_EXTRA=y
# CT_LOG_ALL is not set
# CT_LOG_DEBUG is not set
CT_LOG_LEVEL_MAX="EXTRA"
# CT_LOG_SEE_TOOLS_WARN is not set
CT_LOG_PROGRESS_BAR=y
CT_LOG_TO_FILE=y
CT_LOG_FILE_COMPRESS=y
# end of Paths and misc options
#
# Target options
#
# CT_ARCH_ALPHA is not set
# CT_ARCH_ARC is not set
CT_ARCH_ARM=y
# CT_ARCH_AVR is not set
# CT_ARCH_M68K is not set
# CT_ARCH_MIPS is not set
# CT_ARCH_NIOS2 is not set
# CT_ARCH_POWERPC is not set
# CT_ARCH_PRU is not set
# CT_ARCH_S390 is not set
# CT_ARCH_SH is not set
# CT_ARCH_SPARC is not set
# CT_ARCH_X86 is not set
# CT_ARCH_XTENSA is not set
CT_ARCH="arm"
CT_ARCH_CHOICE_KSYM="ARM"
CT_ARCH_CPU=""
CT_ARCH_TUNE=""
CT_ARCH_ARM_SHOW=y
#
# Options for arm
#
CT_ARCH_ARM_PKG_KSYM=""
CT_ARCH_ARM_MODE="arm"
CT_ARCH_ARM_MODE_ARM=y
# CT_ARCH_ARM_MODE_THUMB is not set
# CT_ARCH_ARM_INTERWORKING is not set
CT_ARCH_ARM_EABI=y
CT_ARCH_ARM_TUPLE_USE_EABIHF=y
CT_ALL_ARCH_CHOICES="ALPHA ARC ARM AVR C6X M68K MICROBLAZE MIPS MOXIE MSP430 NIOS2 POWERPC PRU RISCV S390 SH SPARC X86 XTENSA"
CT_ARCH_SUFFIX=""
# CT_OMIT_TARGET_VENDOR is not set
#
# Generic target options
#
# CT_MULTILIB is not set
CT_DEMULTILIB=y
CT_ARCH_SUPPORTS_BOTH_MMU=y
CT_ARCH_DEFAULT_HAS_MMU=y
CT_ARCH_USE_MMU=y
CT_ARCH_SUPPORTS_FLAT_FORMAT=y
CT_ARCH_SUPPORTS_EITHER_ENDIAN=y
CT_ARCH_DEFAULT_LE=y
# CT_ARCH_BE is not set
CT_ARCH_LE=y
CT_ARCH_ENDIAN="little"
CT_ARCH_SUPPORTS_32=y
CT_ARCH_SUPPORTS_64=y
CT_ARCH_DEFAULT_32=y
CT_ARCH_BITNESS=32
CT_ARCH_32=y
# CT_ARCH_64 is not set
#
# Target optimisations
#
CT_ARCH_SUPPORTS_WITH_ARCH=y
CT_ARCH_SUPPORTS_WITH_CPU=y
CT_ARCH_SUPPORTS_WITH_TUNE=y
CT_ARCH_SUPPORTS_WITH_FLOAT=y
CT_ARCH_SUPPORTS_WITH_FPU=y
CT_ARCH_SUPPORTS_SOFTFP=y
CT_ARCH_EXCLUSIVE_WITH_CPU=y
CT_ARCH_ARCH=""
CT_ARCH_FPU=""
# CT_ARCH_FLOAT_AUTO is not set
CT_ARCH_FLOAT_HW=y
# CT_ARCH_FLOAT_SOFTFP is not set
# CT_ARCH_FLOAT_SW is not set
CT_TARGET_CFLAGS=""
CT_TARGET_LDFLAGS=""
CT_ARCH_FLOAT="hard"
# end of Target options
#
# Toolchain options
#
#
# General toolchain options
#
CT_USE_SYSROOT=y
CT_SYSROOT_NAME="sysroot"
CT_SYSROOT_DIR_PREFIX=""
CT_WANTS_STATIC_LINK=y
CT_WANTS_STATIC_LINK_CXX=y
# CT_STATIC_TOOLCHAIN is not set
CT_SHOW_CT_VERSION=y
CT_TOOLCHAIN_PKGVERSION=""
CT_TOOLCHAIN_BUGURL=""
#
# Tuple completion and aliasing
#
CT_TARGET_VENDOR="pc"
CT_TARGET_ALIAS_SED_EXPR=""
CT_TARGET_ALIAS=""
#
# Toolchain type
#
CT_CROSS=y
# CT_CANADIAN is not set
CT_TOOLCHAIN_TYPE="cross"
#
# Build system
#
CT_BUILD=""
CT_BUILD_PREFIX=""
CT_BUILD_SUFFIX=""
#
# Misc options
#
# CT_TOOLCHAIN_ENABLE_NLS is not set
# end of Toolchain options
#
# Operating System
#
CT_KERNEL_SUPPORTS_SHARED_LIBS=y
# CT_KERNEL_BARE_METAL is not set
CT_KERNEL_LINUX=y
CT_KERNEL="linux"
CT_KERNEL_CHOICE_KSYM="LINUX"
CT_KERNEL_LINUX_SHOW=y
#
# Options for linux
#
CT_KERNEL_LINUX_PKG_KSYM="LINUX"
CT_LINUX_DIR_NAME="linux"
CT_LINUX_USE_WWW_KERNEL_ORG=y
# CT_LINUX_USE_ORACLE is not set
CT_LINUX_USE="LINUX"
CT_LINUX_PKG_NAME="linux"
CT_LINUX_SRC_RELEASE=y
# CT_LINUX_SRC_DEVEL is not set
CT_LINUX_PATCH_ORDER="global"
# CT_LINUX_V_5_2 is not set
# CT_LINUX_V_5_1 is not set
# CT_LINUX_V_5_0 is not set
# CT_LINUX_V_4_20 is not set
# CT_LINUX_V_4_19 is not set
# CT_LINUX_V_4_18 is not set
# CT_LINUX_V_4_17 is not set
# CT_LINUX_V_4_16 is not set
# CT_LINUX_V_4_15 is not set
# CT_LINUX_V_4_14 is not set
# CT_LINUX_V_4_13 is not set
# CT_LINUX_V_4_12 is not set
# CT_LINUX_V_4_11 is not set
# CT_LINUX_V_4_10 is not set
# CT_LINUX_V_4_9 is not set
# CT_LINUX_V_4_4 is not set
# CT_LINUX_V_4_1 is not set
# CT_LINUX_V_3_18 is not set
# CT_LINUX_V_3_16 is not set
CT_LINUX_V_3_13=y
# CT_LINUX_V_3_12 is not set
# CT_LINUX_V_3_10 is not set
# CT_LINUX_V_3_4 is not set
# CT_LINUX_V_3_2 is not set
# CT_LINUX_V_2_6_32 is not set
CT_LINUX_VERSION="3.13.11"
CT_LINUX_MIRRORS="$(CT_Mirrors kernel.org linux ${CT_LINUX_VERSION})"
CT_LINUX_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_LINUX_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_LINUX_ARCHIVE_FORMATS=".tar.xz .tar.gz"
CT_LINUX_SIGNATURE_FORMAT="unpacked/.sign"
CT_LINUX_5_12_or_older=y
CT_LINUX_older_than_5_12=y
CT_LINUX_5_3_or_older=y
CT_LINUX_older_than_5_3=y
CT_LINUX_REQUIRE_older_than_5_3=y
CT_LINUX_4_8_or_older=y
CT_LINUX_older_than_4_8=y
CT_LINUX_later_than_3_7=y
CT_LINUX_3_7_or_later=y
CT_LINUX_later_than_3_2=y
CT_LINUX_3_2_or_later=y
CT_KERNEL_DEP_RSYNC=y
#
# Linux >=5.3 requires rsync
#
CT_KERNEL_LINUX_VERBOSITY_0=y
# CT_KERNEL_LINUX_VERBOSITY_1 is not set
# CT_KERNEL_LINUX_VERBOSITY_2 is not set
CT_KERNEL_LINUX_VERBOSE_LEVEL=0
# CT_KERNEL_LINUX_INSTALL_CHECK is not set
CT_ALL_KERNEL_CHOICES="BARE_METAL LINUX WINDOWS"
#
# Common kernel options
#
CT_SHARED_LIBS=y
# end of Operating System
#
# Binary utilities
#
CT_ARCH_BINFMT_ELF=y
CT_BINUTILS_BINUTILS=y
CT_BINUTILS="binutils"
CT_BINUTILS_CHOICE_KSYM="BINUTILS"
CT_BINUTILS_BINUTILS_SHOW=y
#
# Options for binutils
#
CT_BINUTILS_BINUTILS_PKG_KSYM="BINUTILS"
CT_BINUTILS_DIR_NAME="binutils"
CT_BINUTILS_USE_GNU=y
# CT_BINUTILS_USE_ORACLE is not set
CT_BINUTILS_USE="BINUTILS"
CT_BINUTILS_PKG_NAME="binutils"
CT_BINUTILS_SRC_RELEASE=y
# CT_BINUTILS_SRC_DEVEL is not set
CT_BINUTILS_PATCH_ORDER="global"
# CT_BINUTILS_V_2_38 is not set
# CT_BINUTILS_V_2_37 is not set
# CT_BINUTILS_V_2_36 is not set
# CT_BINUTILS_V_2_35 is not set
# CT_BINUTILS_V_2_34 is not set
# CT_BINUTILS_V_2_33 is not set
# CT_BINUTILS_V_2_32 is not set
# CT_BINUTILS_V_2_31 is not set
# CT_BINUTILS_V_2_30 is not set
CT_BINUTILS_V_2_29=y
# CT_BINUTILS_V_2_28 is not set
# CT_BINUTILS_V_2_27 is not set
# CT_BINUTILS_V_2_26 is not set
CT_BINUTILS_VERSION="2.29.1"
CT_BINUTILS_MIRRORS="$(CT_Mirrors GNU binutils) $(CT_Mirrors sourceware binutils/releases)"
CT_BINUTILS_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_BINUTILS_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_BINUTILS_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz"
CT_BINUTILS_SIGNATURE_FORMAT="packed/.sig"
CT_BINUTILS_2_30_or_older=y
CT_BINUTILS_older_than_2_30=y
CT_BINUTILS_later_than_2_27=y
CT_BINUTILS_2_27_or_later=y
CT_BINUTILS_later_than_2_26=y
CT_BINUTILS_2_26_or_later=y
#
# GNU binutils
#
CT_BINUTILS_GOLD_SUPPORTS_ARCH=y
CT_BINUTILS_GOLD_SUPPORT=y
CT_BINUTILS_FORCE_LD_BFD_DEFAULT=y
CT_BINUTILS_LINKER_LD=y
# CT_BINUTILS_LINKER_LD_GOLD is not set
CT_BINUTILS_LINKERS_LIST="ld"
CT_BINUTILS_LINKER_DEFAULT="bfd"
# CT_BINUTILS_PLUGINS is not set
CT_BINUTILS_RELRO=m
CT_BINUTILS_DETERMINISTIC_ARCHIVES=y
CT_BINUTILS_EXTRA_CONFIG_ARRAY=""
# CT_BINUTILS_FOR_TARGET is not set
CT_ALL_BINUTILS_CHOICES="BINUTILS"
# end of Binary utilities
#
# C-library
#
CT_LIBC_GLIBC=y
# CT_LIBC_UCLIBC_NG is not set
CT_LIBC="glibc"
CT_LIBC_CHOICE_KSYM="GLIBC"
CT_THREADS="nptl"
CT_LIBC_GLIBC_SHOW=y
#
# Options for glibc
#
CT_LIBC_GLIBC_PKG_KSYM="GLIBC"
CT_GLIBC_DIR_NAME="glibc"
CT_GLIBC_USE_GNU=y
# CT_GLIBC_USE_ORACLE is not set
CT_GLIBC_USE="GLIBC"
CT_GLIBC_PKG_NAME="glibc"
CT_GLIBC_SRC_RELEASE=y
# CT_GLIBC_SRC_DEVEL is not set
CT_GLIBC_PATCH_ORDER="global"
# CT_GLIBC_V_2_35 is not set
# CT_GLIBC_V_2_34 is not set
# CT_GLIBC_V_2_33 is not set
# CT_GLIBC_V_2_32 is not set
# CT_GLIBC_V_2_31 is not set
# CT_GLIBC_V_2_30 is not set
# CT_GLIBC_V_2_29 is not set
# CT_GLIBC_V_2_28 is not set
# CT_GLIBC_V_2_27 is not set
# CT_GLIBC_V_2_26 is not set
# CT_GLIBC_V_2_25 is not set
# CT_GLIBC_V_2_24 is not set
# CT_GLIBC_V_2_23 is not set
CT_GLIBC_V_2_19=y
# CT_GLIBC_V_2_17 is not set
# CT_GLIBC_V_2_12_1 is not set
CT_GLIBC_VERSION="2.19"
CT_GLIBC_MIRRORS="$(CT_Mirrors GNU glibc)"
CT_GLIBC_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_GLIBC_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_GLIBC_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz"
CT_GLIBC_SIGNATURE_FORMAT="packed/.sig"
CT_GLIBC_2_34_or_older=y
CT_GLIBC_older_than_2_34=y
CT_GLIBC_2_32_or_older=y
CT_GLIBC_older_than_2_32=y
CT_GLIBC_2_31_or_older=y
CT_GLIBC_older_than_2_31=y
CT_GLIBC_2_30_or_older=y
CT_GLIBC_older_than_2_30=y
CT_GLIBC_2_29_or_older=y
CT_GLIBC_older_than_2_29=y
CT_GLIBC_2_28_or_older=y
CT_GLIBC_older_than_2_28=y
CT_GLIBC_2_27_or_older=y
CT_GLIBC_older_than_2_27=y
CT_GLIBC_2_26_or_older=y
CT_GLIBC_older_than_2_26=y
CT_GLIBC_2_25_or_older=y
CT_GLIBC_older_than_2_25=y
CT_GLIBC_2_24_or_older=y
CT_GLIBC_older_than_2_24=y
CT_GLIBC_2_23_or_older=y
CT_GLIBC_older_than_2_23=y
CT_GLIBC_2_20_or_older=y
CT_GLIBC_older_than_2_20=y
CT_GLIBC_later_than_2_17=y
CT_GLIBC_2_17_or_later=y
CT_GLIBC_later_than_2_14=y
CT_GLIBC_2_14_or_later=y
CT_GLIBC_DEP_KERNEL_HEADERS_VERSION=y
CT_GLIBC_DEP_BINUTILS=y
CT_GLIBC_DEP_GCC=y
CT_GLIBC_DEP_PYTHON=y
CT_GLIBC_SPARC_ALLOW_V7=y
CT_GLIBC_HAS_NPTL_ADDON=y
CT_GLIBC_HAS_PORTS_ADDON=y
CT_GLIBC_HAS_LIBIDN_ADDON=y
CT_GLIBC_USE_PORTS_ADDON=y
CT_GLIBC_USE_NPTL_ADDON=y
# CT_GLIBC_USE_LIBIDN_ADDON is not set
CT_GLIBC_HAS_OBSOLETE_RPC=y
CT_GLIBC_EXTRA_CONFIG_ARRAY=""
CT_GLIBC_CONFIGPARMS=""
CT_GLIBC_EXTRA_CFLAGS="-Wno-missing-attributes -Wno-array-bounds -Wno-array-parameter -Wno-stringop-overflow -Wno-maybe-uninitialized"
CT_GLIBC_ENABLE_OBSOLETE_RPC=y
# CT_GLIBC_DISABLE_VERSIONING is not set
CT_GLIBC_OLDEST_ABI=""
CT_GLIBC_FORCE_UNWIND=y
# CT_GLIBC_LOCALES is not set
# CT_GLIBC_KERNEL_VERSION_NONE is not set
CT_GLIBC_KERNEL_VERSION_AS_HEADERS=y
# CT_GLIBC_KERNEL_VERSION_CHOSEN is not set
CT_GLIBC_MIN_KERNEL="3.13.11"
CT_GLIBC_ENABLE_COMMON_FLAG=y
CT_ALL_LIBC_CHOICES="AVR_LIBC BIONIC GLIBC MINGW_W64 MOXIEBOX MUSL NEWLIB NONE UCLIBC_NG"
CT_LIBC_SUPPORT_THREADS_ANY=y
CT_LIBC_SUPPORT_THREADS_NATIVE=y
#
# Common C library options
#
CT_THREADS_NATIVE=y
# CT_CREATE_LDSO_CONF is not set
CT_LIBC_XLDD=y
# end of C-library
#
# C compiler
#
CT_CC_CORE_NEEDED=y
CT_CC_SUPPORT_CXX=y
CT_CC_SUPPORT_FORTRAN=y
CT_CC_SUPPORT_ADA=y
CT_CC_SUPPORT_OBJC=y
CT_CC_SUPPORT_OBJCXX=y
CT_CC_SUPPORT_GOLANG=y
CT_CC_GCC=y
CT_CC="gcc"
CT_CC_CHOICE_KSYM="GCC"
CT_CC_GCC_SHOW=y
#
# Options for gcc
#
CT_CC_GCC_PKG_KSYM="GCC"
CT_GCC_DIR_NAME="gcc"
CT_GCC_USE_GNU=y
CT_GCC_USE="GCC"
CT_GCC_PKG_NAME="gcc"
CT_GCC_SRC_RELEASE=y
# CT_GCC_SRC_DEVEL is not set
CT_GCC_PATCH_ORDER="global"
# CT_GCC_V_11 is not set
CT_GCC_V_10=y
# CT_GCC_V_9 is not set
# CT_GCC_V_8 is not set
# CT_GCC_V_7 is not set
# CT_GCC_V_6 is not set
# CT_GCC_V_5 is not set
# CT_GCC_V_4_9 is not set
CT_GCC_VERSION="10.3.0"
CT_GCC_MIRRORS="$(CT_Mirrors GNU gcc/gcc-${CT_GCC_VERSION}) $(CT_Mirrors sourceware gcc/releases/gcc-${CT_GCC_VERSION})"
CT_GCC_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_GCC_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_GCC_ARCHIVE_FORMATS=".tar.xz .tar.gz"
CT_GCC_SIGNATURE_FORMAT=""
CT_GCC_11_or_older=y
CT_GCC_older_than_11=y
CT_GCC_later_than_10=y
CT_GCC_10_or_later=y
CT_GCC_later_than_9=y
CT_GCC_9_or_later=y
CT_GCC_later_than_8=y
CT_GCC_8_or_later=y
CT_GCC_later_than_7=y
CT_GCC_7_or_later=y
CT_GCC_later_than_6=y
CT_GCC_6_or_later=y
CT_GCC_later_than_5=y
CT_GCC_5_or_later=y
CT_GCC_later_than_4_9=y
CT_GCC_4_9_or_later=y
CT_CC_GCC_HAS_LIBMPX=y
CT_CC_GCC_ENABLE_CXX_FLAGS=""
CT_CC_GCC_CORE_EXTRA_CONFIG_ARRAY=""
CT_CC_GCC_EXTRA_CONFIG_ARRAY=""
CT_CC_GCC_STATIC_LIBSTDCXX=y
# CT_CC_GCC_SYSTEM_ZLIB is not set
CT_CC_GCC_CONFIG_TLS=m
#
# Optimisation features
#
CT_CC_GCC_USE_GRAPHITE=y
CT_CC_GCC_USE_LTO=y
CT_CC_GCC_LTO_ZSTD=m
#
# Settings for libraries running on target
#
CT_CC_GCC_ENABLE_TARGET_OPTSPACE=y
# CT_CC_GCC_LIBMUDFLAP is not set
# CT_CC_GCC_LIBGOMP is not set
# CT_CC_GCC_LIBSSP is not set
# CT_CC_GCC_LIBQUADMATH is not set
# CT_CC_GCC_LIBSANITIZER is not set
#
# Misc. obscure options.
#
CT_CC_CXA_ATEXIT=y
CT_CC_GCC_TM_CLONE_REGISTRY=m
# CT_CC_GCC_DISABLE_PCH is not set
CT_CC_GCC_SJLJ_EXCEPTIONS=m
CT_CC_GCC_LDBL_128=m
# CT_CC_GCC_BUILD_ID is not set
CT_CC_GCC_LNK_HASH_STYLE_DEFAULT=y
# CT_CC_GCC_LNK_HASH_STYLE_SYSV is not set
# CT_CC_GCC_LNK_HASH_STYLE_GNU is not set
# CT_CC_GCC_LNK_HASH_STYLE_BOTH is not set
CT_CC_GCC_LNK_HASH_STYLE=""
CT_CC_GCC_DEC_FLOATS_AUTO=y
# CT_CC_GCC_DEC_FLOATS_BID is not set
# CT_CC_GCC_DEC_FLOATS_DPD is not set
# CT_CC_GCC_DEC_FLOATS_NO is not set
CT_CC_GCC_DEC_FLOATS=""
CT_ALL_CC_CHOICES="GCC"
#
# Additional supported languages:
#
CT_CC_LANG_CXX=y
# CT_CC_LANG_FORTRAN is not set
# end of C compiler
#
# Debug facilities
#
# CT_DEBUG_DUMA is not set
CT_DEBUG_GDB=y
CT_DEBUG_GDB_PKG_KSYM="GDB"
CT_GDB_DIR_NAME="gdb"
CT_GDB_PKG_NAME="gdb"
CT_GDB_SRC_RELEASE=y
# CT_GDB_SRC_DEVEL is not set
CT_GDB_PATCH_ORDER="global"
CT_GDB_V_11=y
# CT_GDB_V_10 is not set
# CT_GDB_V_9 is not set
# CT_GDB_V_8_3 is not set
# CT_GDB_V_8_2 is not set
# CT_GDB_V_8_1 is not set
# CT_GDB_V_8_0 is not set
# CT_GDB_V_7_12 is not set
# CT_GDB_V_7_11 is not set
CT_GDB_VERSION="11.2"
CT_GDB_MIRRORS="$(CT_Mirrors GNU gdb) $(CT_Mirrors sourceware gdb/releases)"
CT_GDB_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_GDB_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_GDB_ARCHIVE_FORMATS=".tar.xz .tar.gz"
CT_GDB_SIGNATURE_FORMAT=""
CT_GDB_later_than_11=y
CT_GDB_11_or_later=y
CT_GDB_later_than_10=y
CT_GDB_10_or_later=y
CT_GDB_later_than_8_3=y
CT_GDB_8_3_or_later=y
CT_GDB_later_than_8_0=y
CT_GDB_8_0_or_later=y
CT_GDB_later_than_7_12=y
CT_GDB_7_12_or_later=y
CT_GDB_later_than_7_11=y
CT_GDB_7_11_or_later=y
CT_GDB_CROSS=y
# CT_GDB_CROSS_STATIC is not set
# CT_GDB_CROSS_SIM is not set
CT_GDB_CROSS_PYTHON=y
CT_GDB_CROSS_PYTHON_BINARY=""
CT_GDB_CROSS_EXTRA_CONFIG_ARRAY=""
# CT_GDB_NATIVE is not set
CT_GDB_GDBSERVER=y
# CT_GDB_NATIVE_BUILD_IPA_LIB is not set
# CT_GDB_NATIVE_STATIC_LIBSTDCXX is not set
CT_GDB_GDBSERVER_TOPLEVEL=y
# CT_DEBUG_LTRACE is not set
# CT_DEBUG_STRACE is not set
CT_ALL_DEBUG_CHOICES="DUMA GDB LTRACE STRACE"
# end of Debug facilities
#
# Companion libraries
#
# CT_COMPLIBS_CHECK is not set
# CT_COMP_LIBS_CLOOG is not set
CT_COMP_LIBS_EXPAT=y
CT_COMP_LIBS_EXPAT_PKG_KSYM="EXPAT"
CT_EXPAT_DIR_NAME="expat"
CT_EXPAT_PKG_NAME="expat"
CT_EXPAT_SRC_RELEASE=y
# CT_EXPAT_SRC_DEVEL is not set
CT_EXPAT_PATCH_ORDER="global"
CT_EXPAT_V_2_4=y
CT_EXPAT_VERSION="2.4.1"
CT_EXPAT_MIRRORS="http://downloads.sourceforge.net/project/expat/expat/${CT_EXPAT_VERSION} https://github.com/libexpat/libexpat/releases/download/R_${CT_EXPAT_VERSION//./_}"
CT_EXPAT_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_EXPAT_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_EXPAT_ARCHIVE_FORMATS=".tar.xz .tar.lz .tar.bz2 .tar.gz"
CT_EXPAT_SIGNATURE_FORMAT=""
CT_COMP_LIBS_GETTEXT=y
CT_COMP_LIBS_GETTEXT_PKG_KSYM="GETTEXT"
CT_GETTEXT_DIR_NAME="gettext"
CT_GETTEXT_PKG_NAME="gettext"
CT_GETTEXT_SRC_RELEASE=y
# CT_GETTEXT_SRC_DEVEL is not set
CT_GETTEXT_PATCH_ORDER="global"
CT_GETTEXT_V_0_21=y
# CT_GETTEXT_V_0_20_1 is not set
# CT_GETTEXT_V_0_19_8_1 is not set
CT_GETTEXT_VERSION="0.21"
CT_GETTEXT_MIRRORS="$(CT_Mirrors GNU gettext)"
CT_GETTEXT_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_GETTEXT_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_GETTEXT_ARCHIVE_FORMATS=".tar.xz .tar.gz"
CT_GETTEXT_SIGNATURE_FORMAT="packed/.sig"
CT_GETTEXT_0_21_or_later=y
CT_GETTEXT_0_21_or_older=y
CT_GETTEXT_INCOMPATIBLE_WITH_UCLIBC_NG=y
#
# This version of gettext is not compatible with uClibc-NG. Select
#
#
# a different version if uClibc-NG is used on the target or (in a
#
#
# Canadian cross build) on the host.
#
CT_COMP_LIBS_GMP=y
CT_COMP_LIBS_GMP_PKG_KSYM="GMP"
CT_GMP_DIR_NAME="gmp"
CT_GMP_PKG_NAME="gmp"
CT_GMP_SRC_RELEASE=y
# CT_GMP_SRC_DEVEL is not set
CT_GMP_PATCH_ORDER="global"
CT_GMP_V_6_2=y
# CT_GMP_V_6_1 is not set
CT_GMP_VERSION="6.2.1"
CT_GMP_MIRRORS="https://gmplib.org/download/gmp https://gmplib.org/download/gmp/archive $(CT_Mirrors GNU gmp)"
CT_GMP_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_GMP_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_GMP_ARCHIVE_FORMATS=".tar.xz .tar.lz .tar.bz2"
CT_GMP_SIGNATURE_FORMAT="packed/.sig"
CT_COMP_LIBS_ISL=y
CT_COMP_LIBS_ISL_PKG_KSYM="ISL"
CT_ISL_DIR_NAME="isl"
CT_ISL_PKG_NAME="isl"
CT_ISL_SRC_RELEASE=y
# CT_ISL_SRC_DEVEL is not set
CT_ISL_PATCH_ORDER="global"
CT_ISL_V_0_24=y
# CT_ISL_V_0_23 is not set
# CT_ISL_V_0_22 is not set
# CT_ISL_V_0_21 is not set
# CT_ISL_V_0_20 is not set
# CT_ISL_V_0_19 is not set
# CT_ISL_V_0_18 is not set
# CT_ISL_V_0_17 is not set
# CT_ISL_V_0_16 is not set
# CT_ISL_V_0_15 is not set
CT_ISL_VERSION="0.24"
CT_ISL_MIRRORS="https://libisl.sourceforge.io"
CT_ISL_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_ISL_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_ISL_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz"
CT_ISL_SIGNATURE_FORMAT=""
CT_ISL_later_than_0_18=y
CT_ISL_0_18_or_later=y
CT_ISL_later_than_0_15=y
CT_ISL_0_15_or_later=y
# CT_COMP_LIBS_LIBELF is not set
CT_COMP_LIBS_LIBICONV=y
CT_COMP_LIBS_LIBICONV_PKG_KSYM="LIBICONV"
CT_LIBICONV_DIR_NAME="libiconv"
CT_LIBICONV_PKG_NAME="libiconv"
CT_LIBICONV_SRC_RELEASE=y
# CT_LIBICONV_SRC_DEVEL is not set
CT_LIBICONV_PATCH_ORDER="global"
CT_LIBICONV_V_1_16=y
# CT_LIBICONV_V_1_15 is not set
CT_LIBICONV_VERSION="1.16"
CT_LIBICONV_MIRRORS="$(CT_Mirrors GNU libiconv)"
CT_LIBICONV_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_LIBICONV_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_LIBICONV_ARCHIVE_FORMATS=".tar.gz"
CT_LIBICONV_SIGNATURE_FORMAT="packed/.sig"
CT_COMP_LIBS_MPC=y
CT_COMP_LIBS_MPC_PKG_KSYM="MPC"
CT_MPC_DIR_NAME="mpc"
CT_MPC_PKG_NAME="mpc"
CT_MPC_SRC_RELEASE=y
# CT_MPC_SRC_DEVEL is not set
CT_MPC_PATCH_ORDER="global"
CT_MPC_V_1_2=y
# CT_MPC_V_1_1 is not set
# CT_MPC_V_1_0 is not set
CT_MPC_VERSION="1.2.1"
CT_MPC_MIRRORS="http://www.multiprecision.org/downloads $(CT_Mirrors GNU mpc)"
CT_MPC_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_MPC_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_MPC_ARCHIVE_FORMATS=".tar.gz"
CT_MPC_SIGNATURE_FORMAT="packed/.sig"
CT_MPC_later_than_1_1_0=y
CT_MPC_1_1_0_or_later=y
CT_COMP_LIBS_MPFR=y
CT_COMP_LIBS_MPFR_PKG_KSYM="MPFR"
CT_MPFR_DIR_NAME="mpfr"
CT_MPFR_PKG_NAME="mpfr"
CT_MPFR_SRC_RELEASE=y
# CT_MPFR_SRC_DEVEL is not set
CT_MPFR_PATCH_ORDER="global"
CT_MPFR_V_4_1=y
# CT_MPFR_V_4_0 is not set
# CT_MPFR_V_3_1 is not set
CT_MPFR_VERSION="4.1.0"
CT_MPFR_MIRRORS="http://www.mpfr.org/mpfr-${CT_MPFR_VERSION} $(CT_Mirrors GNU mpfr)"
CT_MPFR_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_MPFR_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_MPFR_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz .zip"
CT_MPFR_SIGNATURE_FORMAT="packed/.asc"
CT_MPFR_later_than_4_0_0=y
CT_MPFR_4_0_0_or_later=y
CT_COMP_LIBS_NCURSES=y
CT_COMP_LIBS_NCURSES_PKG_KSYM="NCURSES"
CT_NCURSES_DIR_NAME="ncurses"
CT_NCURSES_PKG_NAME="ncurses"
CT_NCURSES_SRC_RELEASE=y
# CT_NCURSES_SRC_DEVEL is not set
CT_NCURSES_PATCH_ORDER="global"
CT_NCURSES_V_6_2=y
# CT_NCURSES_V_6_1 is not set
# CT_NCURSES_V_6_0 is not set
CT_NCURSES_VERSION="6.2"
CT_NCURSES_MIRRORS="https://invisible-mirror.net/archives/ncurses $(CT_Mirrors GNU ncurses)"
CT_NCURSES_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_NCURSES_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_NCURSES_ARCHIVE_FORMATS=".tar.gz"
CT_NCURSES_SIGNATURE_FORMAT="packed/.sig"
CT_NCURSES_NEW_ABI=y
CT_NCURSES_HOST_CONFIG_ARGS=""
CT_NCURSES_HOST_DISABLE_DB=y
CT_NCURSES_HOST_FALLBACKS="linux,xterm,xterm-color,xterm-256color,vt100"
CT_NCURSES_TARGET_CONFIG_ARGS=""
# CT_NCURSES_TARGET_DISABLE_DB is not set
CT_NCURSES_TARGET_FALLBACKS=""
CT_COMP_LIBS_ZLIB=y
CT_COMP_LIBS_ZLIB_PKG_KSYM="ZLIB"
CT_ZLIB_DIR_NAME="zlib"
CT_ZLIB_PKG_NAME="zlib"
CT_ZLIB_SRC_RELEASE=y
# CT_ZLIB_SRC_DEVEL is not set
CT_ZLIB_PATCH_ORDER="global"
CT_ZLIB_V_1_2_13=y
CT_ZLIB_VERSION="1.2.13"
CT_ZLIB_MIRRORS="http://downloads.sourceforge.net/project/libpng/zlib/${CT_ZLIB_VERSION} https://www.zlib.net/"
CT_ZLIB_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_ZLIB_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_ZLIB_ARCHIVE_FORMATS=".tar.xz .tar.gz"
CT_ZLIB_SIGNATURE_FORMAT="packed/.asc"
CT_ALL_COMP_LIBS_CHOICES="CLOOG EXPAT GETTEXT GMP GNUPRUMCU ISL LIBELF LIBICONV MPC MPFR NCURSES NEWLIB_NANO PICOLIBC ZLIB"
CT_LIBICONV_NEEDED=y
CT_GETTEXT_NEEDED=y
CT_GMP_NEEDED=y
CT_MPFR_NEEDED=y
CT_ISL_NEEDED=y
CT_MPC_NEEDED=y
CT_EXPAT_NEEDED=y
CT_NCURSES_NEEDED=y
CT_ZLIB_NEEDED=y
CT_LIBICONV=y
CT_GETTEXT=y
CT_GMP=y
CT_MPFR=y
CT_ISL=y
CT_MPC=y
CT_EXPAT=y
CT_NCURSES=y
CT_ZLIB=y
# end of Companion libraries
#
# Companion tools
#
CT_COMP_TOOLS_FOR_HOST=y
CT_COMP_TOOLS_AUTOCONF=y
CT_COMP_TOOLS_AUTOCONF_PKG_KSYM="AUTOCONF"
CT_AUTOCONF_DIR_NAME="autoconf"
CT_AUTOCONF_PKG_NAME="autoconf"
CT_AUTOCONF_SRC_RELEASE=y
# CT_AUTOCONF_SRC_DEVEL is not set
CT_AUTOCONF_PATCH_ORDER="global"
CT_AUTOCONF_V_2_71=y
# CT_AUTOCONF_V_2_69 is not set
# CT_AUTOCONF_V_2_65 is not set
CT_AUTOCONF_VERSION="2.71"
CT_AUTOCONF_MIRRORS="$(CT_Mirrors GNU autoconf)"
CT_AUTOCONF_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_AUTOCONF_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_AUTOCONF_ARCHIVE_FORMATS=".tar.xz .tar.gz"
CT_AUTOCONF_SIGNATURE_FORMAT="packed/.sig"
CT_COMP_TOOLS_AUTOMAKE=y
CT_COMP_TOOLS_AUTOMAKE_PKG_KSYM="AUTOMAKE"
CT_AUTOMAKE_DIR_NAME="automake"
CT_AUTOMAKE_PKG_NAME="automake"
CT_AUTOMAKE_SRC_RELEASE=y
# CT_AUTOMAKE_SRC_DEVEL is not set
CT_AUTOMAKE_PATCH_ORDER="global"
CT_AUTOMAKE_V_1_16=y
# CT_AUTOMAKE_V_1_15 is not set
CT_AUTOMAKE_VERSION="1.16.1"
CT_AUTOMAKE_MIRRORS="$(CT_Mirrors GNU automake)"
CT_AUTOMAKE_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_AUTOMAKE_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_AUTOMAKE_ARCHIVE_FORMATS=".tar.xz .tar.gz"
CT_AUTOMAKE_SIGNATURE_FORMAT="packed/.sig"
# CT_COMP_TOOLS_BISON is not set
# CT_COMP_TOOLS_DTC is not set
# CT_COMP_TOOLS_LIBTOOL is not set
CT_COMP_TOOLS_M4=y
CT_COMP_TOOLS_M4_PKG_KSYM="M4"
CT_M4_DIR_NAME="m4"
CT_M4_PKG_NAME="m4"
CT_M4_SRC_RELEASE=y
# CT_M4_SRC_DEVEL is not set
CT_M4_PATCH_ORDER="global"
CT_M4_V_1_4=y
CT_M4_VERSION="1.4.19"
CT_M4_MIRRORS="$(CT_Mirrors GNU m4)"
CT_M4_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_M4_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_M4_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz"
CT_M4_SIGNATURE_FORMAT="packed/.sig"
CT_COMP_TOOLS_MAKE=y
CT_COMP_TOOLS_MAKE_PKG_KSYM="MAKE"
CT_MAKE_DIR_NAME="make"
CT_MAKE_PKG_NAME="make"
CT_MAKE_SRC_RELEASE=y
# CT_MAKE_SRC_DEVEL is not set
CT_MAKE_PATCH_ORDER="global"
CT_MAKE_V_4_3=y
# CT_MAKE_V_4_2 is not set
CT_MAKE_VERSION="4.3"
CT_MAKE_MIRRORS="$(CT_Mirrors GNU make)"
CT_MAKE_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_MAKE_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_MAKE_ARCHIVE_FORMATS=".tar.lz .tar.gz"
CT_MAKE_SIGNATURE_FORMAT="packed/.sig"
# CT_MAKE_GMAKE_SYMLINK is not set
# CT_MAKE_GNUMAKE_SYMLINK is not set
CT_ALL_COMP_TOOLS_CHOICES="AUTOCONF AUTOMAKE BISON DTC LIBTOOL M4 MAKE"
# end of Companion tools

View File

@ -0,0 +1,913 @@
#
# Automatically generated file; DO NOT EDIT.
# crosstool-NG 1.25.0 Configuration
#
CT_CONFIGURE_has_static_link=y
CT_CONFIGURE_has_cxx11=y
CT_CONFIGURE_has_wget=y
CT_CONFIGURE_has_curl=y
CT_CONFIGURE_has_make_3_81_or_newer=y
CT_CONFIGURE_has_make_4_0_or_newer=y
CT_CONFIGURE_has_libtool_2_4_or_newer=y
CT_CONFIGURE_has_libtoolize_2_4_or_newer=y
CT_CONFIGURE_has_autoconf_2_65_or_newer=y
CT_CONFIGURE_has_autoreconf_2_65_or_newer=y
CT_CONFIGURE_has_automake_1_15_or_newer=y
CT_CONFIGURE_has_gnu_m4_1_4_12_or_newer=y
CT_CONFIGURE_has_python_3_4_or_newer=y
CT_CONFIGURE_has_bison_2_7_or_newer=y
CT_CONFIGURE_has_python=y
CT_CONFIGURE_has_git=y
CT_CONFIGURE_has_md5sum=y
CT_CONFIGURE_has_sha1sum=y
CT_CONFIGURE_has_sha256sum=y
CT_CONFIGURE_has_sha512sum=y
CT_CONFIGURE_has_install_with_strip_program=y
CT_VERSION="1.25.0"
CT_VCHECK=""
CT_CONFIG_VERSION_ENV="4"
CT_CONFIG_VERSION_CURRENT="4"
CT_CONFIG_VERSION="4"
CT_MODULES=y
#
# Paths and misc options
#
#
# crosstool-NG behavior
#
CT_OBSOLETE=y
# CT_EXPERIMENTAL is not set
# CT_DEBUG_CT is not set
#
# Paths
#
CT_LOCAL_TARBALLS_DIR="${HOME}/src"
CT_SAVE_TARBALLS=y
# CT_TARBALLS_BUILDROOT_LAYOUT is not set
CT_WORK_DIR="${CT_TOP_DIR}/.build"
CT_BUILD_TOP_DIR="${CT_WORK_DIR:-${CT_TOP_DIR}/.build}/${CT_HOST:+HOST-${CT_HOST}/}${CT_TARGET}"
CT_BUILD_DIR="${CT_BUILD_TOP_DIR}/build"
CT_PREFIX_DIR="${CT_PREFIX:-${HOME}/x-tools}/${CT_HOST:+HOST-${CT_HOST}/}${CT_TARGET}"
CT_RM_RF_PREFIX_DIR=y
CT_REMOVE_DOCS=y
# CT_INSTALL_LICENSES is not set
# CT_PREFIX_DIR_RO is not set
CT_STRIP_HOST_TOOLCHAIN_EXECUTABLES=y
# CT_STRIP_TARGET_TOOLCHAIN_EXECUTABLES is not set
#
# Downloading
#
CT_DOWNLOAD_AGENT_WGET=y
# CT_DOWNLOAD_AGENT_CURL is not set
# CT_DOWNLOAD_AGENT_NONE is not set
# CT_FORBID_DOWNLOAD is not set
# CT_FORCE_DOWNLOAD is not set
CT_CONNECT_TIMEOUT=10
CT_DOWNLOAD_WGET_OPTIONS="--passive-ftp --tries=3 -nc --progress=dot:binary"
# CT_ONLY_DOWNLOAD is not set
# CT_USE_MIRROR is not set
CT_VERIFY_DOWNLOAD_DIGEST=y
CT_VERIFY_DOWNLOAD_DIGEST_SHA512=y
# CT_VERIFY_DOWNLOAD_DIGEST_SHA256 is not set
# CT_VERIFY_DOWNLOAD_DIGEST_SHA1 is not set
# CT_VERIFY_DOWNLOAD_DIGEST_MD5 is not set
CT_VERIFY_DOWNLOAD_DIGEST_ALG="sha512"
# CT_VERIFY_DOWNLOAD_SIGNATURE is not set
#
# Extracting
#
# CT_FORCE_EXTRACT is not set
CT_OVERRIDE_CONFIG_GUESS_SUB=y
# CT_ONLY_EXTRACT is not set
CT_PATCH_BUNDLED=y
# CT_PATCH_BUNDLED_LOCAL is not set
CT_PATCH_ORDER="bundled"
#
# Build behavior
#
CT_PARALLEL_JOBS=0
CT_LOAD=""
CT_USE_PIPES=y
CT_EXTRA_CFLAGS_FOR_BUILD=""
CT_EXTRA_CXXFLAGS_FOR_BUILD=""
CT_EXTRA_LDFLAGS_FOR_BUILD=""
CT_EXTRA_CFLAGS_FOR_HOST=""
CT_EXTRA_LDFLAGS_FOR_HOST=""
# CT_CONFIG_SHELL_SH is not set
# CT_CONFIG_SHELL_ASH is not set
CT_CONFIG_SHELL_BASH=y
# CT_CONFIG_SHELL_CUSTOM is not set
CT_CONFIG_SHELL="${bash}"
#
# Logging
#
# CT_LOG_ERROR is not set
# CT_LOG_WARN is not set
# CT_LOG_INFO is not set
CT_LOG_EXTRA=y
# CT_LOG_ALL is not set
# CT_LOG_DEBUG is not set
CT_LOG_LEVEL_MAX="EXTRA"
# CT_LOG_SEE_TOOLS_WARN is not set
CT_LOG_PROGRESS_BAR=y
CT_LOG_TO_FILE=y
CT_LOG_FILE_COMPRESS=y
# end of Paths and misc options
#
# Target options
#
# CT_ARCH_ALPHA is not set
# CT_ARCH_ARC is not set
CT_ARCH_ARM=y
# CT_ARCH_AVR is not set
# CT_ARCH_M68K is not set
# CT_ARCH_MIPS is not set
# CT_ARCH_NIOS2 is not set
# CT_ARCH_POWERPC is not set
# CT_ARCH_PRU is not set
# CT_ARCH_S390 is not set
# CT_ARCH_SH is not set
# CT_ARCH_SPARC is not set
# CT_ARCH_X86 is not set
# CT_ARCH_XTENSA is not set
CT_ARCH="arm"
CT_ARCH_CHOICE_KSYM="ARM"
CT_ARCH_CPU=""
CT_ARCH_TUNE=""
CT_ARCH_ARM_SHOW=y
#
# Options for arm
#
CT_ARCH_ARM_PKG_KSYM=""
CT_ALL_ARCH_CHOICES="ALPHA ARC ARM AVR C6X M68K MICROBLAZE MIPS MOXIE MSP430 NIOS2 POWERPC PRU RISCV S390 SH SPARC X86 XTENSA"
CT_ARCH_SUFFIX=""
# CT_OMIT_TARGET_VENDOR is not set
#
# Generic target options
#
# CT_MULTILIB is not set
CT_DEMULTILIB=y
CT_ARCH_SUPPORTS_BOTH_MMU=y
CT_ARCH_DEFAULT_HAS_MMU=y
CT_ARCH_USE_MMU=y
CT_ARCH_SUPPORTS_FLAT_FORMAT=y
CT_ARCH_SUPPORTS_EITHER_ENDIAN=y
CT_ARCH_DEFAULT_LE=y
# CT_ARCH_BE is not set
CT_ARCH_LE=y
CT_ARCH_ENDIAN="little"
CT_ARCH_SUPPORTS_32=y
CT_ARCH_SUPPORTS_64=y
CT_ARCH_DEFAULT_32=y
CT_ARCH_BITNESS=64
# CT_ARCH_32 is not set
CT_ARCH_64=y
#
# Target optimisations
#
CT_ARCH_SUPPORTS_WITH_ARCH=y
CT_ARCH_SUPPORTS_WITH_CPU=y
CT_ARCH_SUPPORTS_WITH_TUNE=y
CT_ARCH_EXCLUSIVE_WITH_CPU=y
CT_ARCH_ARCH=""
CT_TARGET_CFLAGS=""
CT_TARGET_LDFLAGS=""
# end of Target options
#
# Toolchain options
#
#
# General toolchain options
#
CT_USE_SYSROOT=y
CT_SYSROOT_NAME="sysroot"
CT_SYSROOT_DIR_PREFIX=""
CT_WANTS_STATIC_LINK=y
CT_WANTS_STATIC_LINK_CXX=y
# CT_STATIC_TOOLCHAIN is not set
CT_SHOW_CT_VERSION=y
CT_TOOLCHAIN_PKGVERSION=""
CT_TOOLCHAIN_BUGURL=""
#
# Tuple completion and aliasing
#
CT_TARGET_VENDOR="pc"
CT_TARGET_ALIAS_SED_EXPR=""
CT_TARGET_ALIAS=""
#
# Toolchain type
#
CT_CROSS=y
# CT_CANADIAN is not set
CT_TOOLCHAIN_TYPE="cross"
#
# Build system
#
CT_BUILD=""
CT_BUILD_PREFIX=""
CT_BUILD_SUFFIX=""
#
# Misc options
#
# CT_TOOLCHAIN_ENABLE_NLS is not set
# end of Toolchain options
#
# Operating System
#
CT_KERNEL_SUPPORTS_SHARED_LIBS=y
# CT_KERNEL_BARE_METAL is not set
CT_KERNEL_LINUX=y
CT_KERNEL="linux"
CT_KERNEL_CHOICE_KSYM="LINUX"
CT_KERNEL_LINUX_SHOW=y
#
# Options for linux
#
CT_KERNEL_LINUX_PKG_KSYM="LINUX"
CT_LINUX_DIR_NAME="linux"
CT_LINUX_USE_WWW_KERNEL_ORG=y
# CT_LINUX_USE_ORACLE is not set
CT_LINUX_USE="LINUX"
CT_LINUX_PKG_NAME="linux"
CT_LINUX_SRC_RELEASE=y
# CT_LINUX_SRC_DEVEL is not set
CT_LINUX_PATCH_ORDER="global"
# CT_LINUX_V_5_2 is not set
# CT_LINUX_V_5_1 is not set
# CT_LINUX_V_5_0 is not set
# CT_LINUX_V_4_20 is not set
# CT_LINUX_V_4_19 is not set
# CT_LINUX_V_4_18 is not set
# CT_LINUX_V_4_17 is not set
# CT_LINUX_V_4_16 is not set
# CT_LINUX_V_4_15 is not set
# CT_LINUX_V_4_14 is not set
# CT_LINUX_V_4_13 is not set
# CT_LINUX_V_4_12 is not set
# CT_LINUX_V_4_11 is not set
# CT_LINUX_V_4_10 is not set
# CT_LINUX_V_4_9 is not set
# CT_LINUX_V_4_4 is not set
# CT_LINUX_V_4_1 is not set
# CT_LINUX_V_3_18 is not set
# CT_LINUX_V_3_16 is not set
CT_LINUX_V_3_13=y
# CT_LINUX_V_3_12 is not set
# CT_LINUX_V_3_10 is not set
CT_LINUX_VERSION="3.13.11"
CT_LINUX_MIRRORS="$(CT_Mirrors kernel.org linux ${CT_LINUX_VERSION})"
CT_LINUX_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_LINUX_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_LINUX_ARCHIVE_FORMATS=".tar.xz .tar.gz"
CT_LINUX_SIGNATURE_FORMAT="unpacked/.sign"
CT_LINUX_5_12_or_older=y
CT_LINUX_older_than_5_12=y
CT_LINUX_5_3_or_older=y
CT_LINUX_older_than_5_3=y
CT_LINUX_REQUIRE_older_than_5_3=y
CT_LINUX_4_8_or_older=y
CT_LINUX_older_than_4_8=y
CT_LINUX_later_than_3_7=y
CT_LINUX_3_7_or_later=y
CT_LINUX_REQUIRE_3_7_or_later=y
CT_LINUX_later_than_3_2=y
CT_LINUX_3_2_or_later=y
CT_KERNEL_DEP_RSYNC=y
#
# Linux >=5.3 requires rsync
#
CT_KERNEL_LINUX_VERBOSITY_0=y
# CT_KERNEL_LINUX_VERBOSITY_1 is not set
# CT_KERNEL_LINUX_VERBOSITY_2 is not set
CT_KERNEL_LINUX_VERBOSE_LEVEL=0
# CT_KERNEL_LINUX_INSTALL_CHECK is not set
CT_ALL_KERNEL_CHOICES="BARE_METAL LINUX WINDOWS"
#
# Common kernel options
#
CT_SHARED_LIBS=y
# end of Operating System
#
# Binary utilities
#
CT_ARCH_BINFMT_ELF=y
CT_BINUTILS_BINUTILS=y
CT_BINUTILS="binutils"
CT_BINUTILS_CHOICE_KSYM="BINUTILS"
CT_BINUTILS_BINUTILS_SHOW=y
#
# Options for binutils
#
CT_BINUTILS_BINUTILS_PKG_KSYM="BINUTILS"
CT_BINUTILS_DIR_NAME="binutils"
CT_BINUTILS_USE_GNU=y
# CT_BINUTILS_USE_ORACLE is not set
CT_BINUTILS_USE="BINUTILS"
CT_BINUTILS_PKG_NAME="binutils"
CT_BINUTILS_SRC_RELEASE=y
# CT_BINUTILS_SRC_DEVEL is not set
CT_BINUTILS_PATCH_ORDER="global"
CT_BINUTILS_V_2_29=y
# CT_BINUTILS_V_2_28 is not set
# CT_BINUTILS_V_2_27 is not set
# CT_BINUTILS_V_2_26 is not set
CT_BINUTILS_VERSION="2.29.1"
CT_BINUTILS_MIRRORS="$(CT_Mirrors GNU binutils) $(CT_Mirrors sourceware binutils/releases)"
CT_BINUTILS_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_BINUTILS_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_BINUTILS_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz"
CT_BINUTILS_SIGNATURE_FORMAT="packed/.sig"
CT_BINUTILS_2_30_or_older=y
CT_BINUTILS_older_than_2_30=y
CT_BINUTILS_REQUIRE_older_than_2_30=y
CT_BINUTILS_later_than_2_27=y
CT_BINUTILS_2_27_or_later=y
CT_BINUTILS_later_than_2_26=y
CT_BINUTILS_2_26_or_later=y
#
# GNU binutils
#
CT_BINUTILS_GOLD_SUPPORTS_ARCH=y
CT_BINUTILS_GOLD_SUPPORT=y
CT_BINUTILS_FORCE_LD_BFD_DEFAULT=y
CT_BINUTILS_LINKER_LD=y
# CT_BINUTILS_LINKER_LD_GOLD is not set
CT_BINUTILS_LINKERS_LIST="ld"
CT_BINUTILS_LINKER_DEFAULT="bfd"
# CT_BINUTILS_PLUGINS is not set
CT_BINUTILS_RELRO=m
CT_BINUTILS_DETERMINISTIC_ARCHIVES=y
CT_BINUTILS_EXTRA_CONFIG_ARRAY=""
# CT_BINUTILS_FOR_TARGET is not set
CT_ALL_BINUTILS_CHOICES="BINUTILS"
# end of Binary utilities
#
# C-library
#
CT_LIBC_GLIBC=y
# CT_LIBC_UCLIBC_NG is not set
CT_LIBC="glibc"
CT_LIBC_CHOICE_KSYM="GLIBC"
CT_THREADS="nptl"
CT_LIBC_GLIBC_SHOW=y
#
# Options for glibc
#
CT_LIBC_GLIBC_PKG_KSYM="GLIBC"
CT_GLIBC_DIR_NAME="glibc"
CT_GLIBC_USE_GNU=y
# CT_GLIBC_USE_ORACLE is not set
CT_GLIBC_USE="GLIBC"
CT_GLIBC_PKG_NAME="glibc"
CT_GLIBC_SRC_RELEASE=y
# CT_GLIBC_SRC_DEVEL is not set
CT_GLIBC_PATCH_ORDER="global"
# CT_GLIBC_V_2_35 is not set
# CT_GLIBC_V_2_34 is not set
# CT_GLIBC_V_2_33 is not set
# CT_GLIBC_V_2_32 is not set
# CT_GLIBC_V_2_31 is not set
# CT_GLIBC_V_2_30 is not set
# CT_GLIBC_V_2_29 is not set
# CT_GLIBC_V_2_28 is not set
# CT_GLIBC_V_2_27 is not set
# CT_GLIBC_V_2_26 is not set
# CT_GLIBC_V_2_25 is not set
# CT_GLIBC_V_2_24 is not set
# CT_GLIBC_V_2_23 is not set
CT_GLIBC_V_2_19=y
# CT_GLIBC_V_2_17 is not set
# CT_GLIBC_V_2_12_1 is not set
CT_GLIBC_VERSION="2.19"
CT_GLIBC_MIRRORS="$(CT_Mirrors GNU glibc)"
CT_GLIBC_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_GLIBC_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_GLIBC_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz"
CT_GLIBC_SIGNATURE_FORMAT="packed/.sig"
CT_GLIBC_2_34_or_older=y
CT_GLIBC_older_than_2_34=y
CT_GLIBC_2_32_or_older=y
CT_GLIBC_older_than_2_32=y
CT_GLIBC_2_31_or_older=y
CT_GLIBC_older_than_2_31=y
CT_GLIBC_2_30_or_older=y
CT_GLIBC_older_than_2_30=y
CT_GLIBC_2_29_or_older=y
CT_GLIBC_older_than_2_29=y
CT_GLIBC_2_28_or_older=y
CT_GLIBC_older_than_2_28=y
CT_GLIBC_2_27_or_older=y
CT_GLIBC_older_than_2_27=y
CT_GLIBC_2_26_or_older=y
CT_GLIBC_older_than_2_26=y
CT_GLIBC_2_25_or_older=y
CT_GLIBC_older_than_2_25=y
CT_GLIBC_2_24_or_older=y
CT_GLIBC_older_than_2_24=y
CT_GLIBC_2_23_or_older=y
CT_GLIBC_older_than_2_23=y
CT_GLIBC_2_20_or_older=y
CT_GLIBC_older_than_2_20=y
CT_GLIBC_later_than_2_17=y
CT_GLIBC_2_17_or_later=y
CT_GLIBC_later_than_2_14=y
CT_GLIBC_2_14_or_later=y
CT_GLIBC_DEP_KERNEL_HEADERS_VERSION=y
CT_GLIBC_DEP_BINUTILS=y
CT_GLIBC_DEP_GCC=y
CT_GLIBC_DEP_PYTHON=y
CT_GLIBC_SPARC_ALLOW_V7=y
CT_GLIBC_HAS_NPTL_ADDON=y
CT_GLIBC_HAS_PORTS_ADDON=y
CT_GLIBC_HAS_LIBIDN_ADDON=y
CT_GLIBC_USE_PORTS_ADDON=y
CT_GLIBC_USE_NPTL_ADDON=y
# CT_GLIBC_USE_LIBIDN_ADDON is not set
CT_GLIBC_HAS_OBSOLETE_RPC=y
CT_GLIBC_EXTRA_CONFIG_ARRAY=""
CT_GLIBC_CONFIGPARMS=""
CT_GLIBC_EXTRA_CFLAGS="-Wno-missing-attributes -Wno-array-bounds -Wno-array-parameter -Wno-stringop-overflow -Wno-maybe-uninitialized"
CT_GLIBC_ENABLE_OBSOLETE_RPC=y
# CT_GLIBC_DISABLE_VERSIONING is not set
CT_GLIBC_OLDEST_ABI=""
CT_GLIBC_FORCE_UNWIND=y
# CT_GLIBC_LOCALES is not set
# CT_GLIBC_KERNEL_VERSION_NONE is not set
CT_GLIBC_KERNEL_VERSION_AS_HEADERS=y
# CT_GLIBC_KERNEL_VERSION_CHOSEN is not set
CT_GLIBC_MIN_KERNEL="3.13.11"
CT_GLIBC_ENABLE_COMMON_FLAG=y
CT_ALL_LIBC_CHOICES="AVR_LIBC BIONIC GLIBC MINGW_W64 MOXIEBOX MUSL NEWLIB NONE UCLIBC_NG"
CT_LIBC_SUPPORT_THREADS_ANY=y
CT_LIBC_SUPPORT_THREADS_NATIVE=y
#
# Common C library options
#
CT_THREADS_NATIVE=y
# CT_CREATE_LDSO_CONF is not set
CT_LIBC_XLDD=y
# end of C-library
#
# C compiler
#
CT_CC_CORE_NEEDED=y
CT_CC_SUPPORT_CXX=y
CT_CC_SUPPORT_FORTRAN=y
CT_CC_SUPPORT_ADA=y
CT_CC_SUPPORT_OBJC=y
CT_CC_SUPPORT_OBJCXX=y
CT_CC_SUPPORT_GOLANG=y
CT_CC_GCC=y
CT_CC="gcc"
CT_CC_CHOICE_KSYM="GCC"
CT_CC_GCC_SHOW=y
#
# Options for gcc
#
CT_CC_GCC_PKG_KSYM="GCC"
CT_GCC_DIR_NAME="gcc"
CT_GCC_USE_GNU=y
CT_GCC_USE="GCC"
CT_GCC_PKG_NAME="gcc"
CT_GCC_SRC_RELEASE=y
# CT_GCC_SRC_DEVEL is not set
CT_GCC_PATCH_ORDER="global"
# CT_GCC_V_11 is not set
CT_GCC_V_10=y
# CT_GCC_V_9 is not set
# CT_GCC_V_8 is not set
# CT_GCC_V_7 is not set
# CT_GCC_V_6 is not set
# CT_GCC_V_5 is not set
# CT_GCC_V_4_9 is not set
CT_GCC_VERSION="10.3.0"
CT_GCC_MIRRORS="$(CT_Mirrors GNU gcc/gcc-${CT_GCC_VERSION}) $(CT_Mirrors sourceware gcc/releases/gcc-${CT_GCC_VERSION})"
CT_GCC_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_GCC_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_GCC_ARCHIVE_FORMATS=".tar.xz .tar.gz"
CT_GCC_SIGNATURE_FORMAT=""
CT_GCC_11_or_older=y
CT_GCC_older_than_11=y
CT_GCC_later_than_10=y
CT_GCC_10_or_later=y
CT_GCC_later_than_9=y
CT_GCC_9_or_later=y
CT_GCC_later_than_8=y
CT_GCC_8_or_later=y
CT_GCC_later_than_7=y
CT_GCC_7_or_later=y
CT_GCC_later_than_6=y
CT_GCC_6_or_later=y
CT_GCC_later_than_5=y
CT_GCC_5_or_later=y
CT_GCC_later_than_4_9=y
CT_GCC_4_9_or_later=y
CT_CC_GCC_HAS_LIBMPX=y
CT_CC_GCC_ENABLE_CXX_FLAGS=""
CT_CC_GCC_CORE_EXTRA_CONFIG_ARRAY=""
CT_CC_GCC_EXTRA_CONFIG_ARRAY=""
CT_CC_GCC_STATIC_LIBSTDCXX=y
# CT_CC_GCC_SYSTEM_ZLIB is not set
CT_CC_GCC_CONFIG_TLS=m
#
# Optimisation features
#
CT_CC_GCC_USE_GRAPHITE=y
CT_CC_GCC_USE_LTO=y
CT_CC_GCC_LTO_ZSTD=m
#
# Settings for libraries running on target
#
CT_CC_GCC_ENABLE_TARGET_OPTSPACE=y
# CT_CC_GCC_LIBMUDFLAP is not set
# CT_CC_GCC_LIBGOMP is not set
# CT_CC_GCC_LIBSSP is not set
# CT_CC_GCC_LIBQUADMATH is not set
# CT_CC_GCC_LIBSANITIZER is not set
#
# Misc. obscure options.
#
CT_CC_CXA_ATEXIT=y
CT_CC_GCC_TM_CLONE_REGISTRY=m
# CT_CC_GCC_DISABLE_PCH is not set
CT_CC_GCC_SJLJ_EXCEPTIONS=m
CT_CC_GCC_LDBL_128=m
# CT_CC_GCC_BUILD_ID is not set
CT_CC_GCC_LNK_HASH_STYLE_DEFAULT=y
# CT_CC_GCC_LNK_HASH_STYLE_SYSV is not set
# CT_CC_GCC_LNK_HASH_STYLE_GNU is not set
# CT_CC_GCC_LNK_HASH_STYLE_BOTH is not set
CT_CC_GCC_LNK_HASH_STYLE=""
CT_CC_GCC_DEC_FLOATS_AUTO=y
# CT_CC_GCC_DEC_FLOATS_BID is not set
# CT_CC_GCC_DEC_FLOATS_DPD is not set
# CT_CC_GCC_DEC_FLOATS_NO is not set
CT_CC_GCC_DEC_FLOATS=""
CT_ALL_CC_CHOICES="GCC"
#
# Additional supported languages:
#
CT_CC_LANG_CXX=y
# CT_CC_LANG_FORTRAN is not set
# end of C compiler
#
# Debug facilities
#
# CT_DEBUG_DUMA is not set
CT_DEBUG_GDB=y
CT_DEBUG_GDB_PKG_KSYM="GDB"
CT_GDB_DIR_NAME="gdb"
CT_GDB_PKG_NAME="gdb"
CT_GDB_SRC_RELEASE=y
# CT_GDB_SRC_DEVEL is not set
CT_GDB_PATCH_ORDER="global"
CT_GDB_V_11=y
# CT_GDB_V_10 is not set
# CT_GDB_V_9 is not set
# CT_GDB_V_8_3 is not set
# CT_GDB_V_8_2 is not set
# CT_GDB_V_8_1 is not set
# CT_GDB_V_8_0 is not set
# CT_GDB_V_7_12 is not set
# CT_GDB_V_7_11 is not set
CT_GDB_VERSION="11.2"
CT_GDB_MIRRORS="$(CT_Mirrors GNU gdb) $(CT_Mirrors sourceware gdb/releases)"
CT_GDB_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_GDB_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_GDB_ARCHIVE_FORMATS=".tar.xz .tar.gz"
CT_GDB_SIGNATURE_FORMAT=""
CT_GDB_later_than_11=y
CT_GDB_11_or_later=y
CT_GDB_later_than_10=y
CT_GDB_10_or_later=y
CT_GDB_later_than_8_3=y
CT_GDB_8_3_or_later=y
CT_GDB_later_than_8_0=y
CT_GDB_8_0_or_later=y
CT_GDB_later_than_7_12=y
CT_GDB_7_12_or_later=y
CT_GDB_later_than_7_11=y
CT_GDB_7_11_or_later=y
CT_GDB_CROSS=y
# CT_GDB_CROSS_STATIC is not set
# CT_GDB_CROSS_SIM is not set
CT_GDB_CROSS_PYTHON=y
CT_GDB_CROSS_PYTHON_BINARY=""
CT_GDB_CROSS_EXTRA_CONFIG_ARRAY=""
# CT_GDB_NATIVE is not set
CT_GDB_GDBSERVER=y
# CT_GDB_NATIVE_BUILD_IPA_LIB is not set
# CT_GDB_NATIVE_STATIC_LIBSTDCXX is not set
CT_GDB_GDBSERVER_TOPLEVEL=y
# CT_DEBUG_LTRACE is not set
# CT_DEBUG_STRACE is not set
CT_ALL_DEBUG_CHOICES="DUMA GDB LTRACE STRACE"
# end of Debug facilities
#
# Companion libraries
#
# CT_COMPLIBS_CHECK is not set
# CT_COMP_LIBS_CLOOG is not set
CT_COMP_LIBS_EXPAT=y
CT_COMP_LIBS_EXPAT_PKG_KSYM="EXPAT"
CT_EXPAT_DIR_NAME="expat"
CT_EXPAT_PKG_NAME="expat"
CT_EXPAT_SRC_RELEASE=y
# CT_EXPAT_SRC_DEVEL is not set
CT_EXPAT_PATCH_ORDER="global"
CT_EXPAT_V_2_4=y
CT_EXPAT_VERSION="2.4.1"
CT_EXPAT_MIRRORS="http://downloads.sourceforge.net/project/expat/expat/${CT_EXPAT_VERSION} https://github.com/libexpat/libexpat/releases/download/R_${CT_EXPAT_VERSION//./_}"
CT_EXPAT_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_EXPAT_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_EXPAT_ARCHIVE_FORMATS=".tar.xz .tar.lz .tar.bz2 .tar.gz"
CT_EXPAT_SIGNATURE_FORMAT=""
CT_COMP_LIBS_GETTEXT=y
CT_COMP_LIBS_GETTEXT_PKG_KSYM="GETTEXT"
CT_GETTEXT_DIR_NAME="gettext"
CT_GETTEXT_PKG_NAME="gettext"
CT_GETTEXT_SRC_RELEASE=y
# CT_GETTEXT_SRC_DEVEL is not set
CT_GETTEXT_PATCH_ORDER="global"
CT_GETTEXT_V_0_21=y
# CT_GETTEXT_V_0_20_1 is not set
# CT_GETTEXT_V_0_19_8_1 is not set
CT_GETTEXT_VERSION="0.21"
CT_GETTEXT_MIRRORS="$(CT_Mirrors GNU gettext)"
CT_GETTEXT_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_GETTEXT_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_GETTEXT_ARCHIVE_FORMATS=".tar.xz .tar.gz"
CT_GETTEXT_SIGNATURE_FORMAT="packed/.sig"
CT_GETTEXT_0_21_or_later=y
CT_GETTEXT_0_21_or_older=y
CT_GETTEXT_INCOMPATIBLE_WITH_UCLIBC_NG=y
#
# This version of gettext is not compatible with uClibc-NG. Select
#
#
# a different version if uClibc-NG is used on the target or (in a
#
#
# Canadian cross build) on the host.
#
CT_COMP_LIBS_GMP=y
CT_COMP_LIBS_GMP_PKG_KSYM="GMP"
CT_GMP_DIR_NAME="gmp"
CT_GMP_PKG_NAME="gmp"
CT_GMP_SRC_RELEASE=y
# CT_GMP_SRC_DEVEL is not set
CT_GMP_PATCH_ORDER="global"
CT_GMP_V_6_2=y
# CT_GMP_V_6_1 is not set
CT_GMP_VERSION="6.2.1"
CT_GMP_MIRRORS="https://gmplib.org/download/gmp https://gmplib.org/download/gmp/archive $(CT_Mirrors GNU gmp)"
CT_GMP_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_GMP_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_GMP_ARCHIVE_FORMATS=".tar.xz .tar.lz .tar.bz2"
CT_GMP_SIGNATURE_FORMAT="packed/.sig"
CT_COMP_LIBS_ISL=y
CT_COMP_LIBS_ISL_PKG_KSYM="ISL"
CT_ISL_DIR_NAME="isl"
CT_ISL_PKG_NAME="isl"
CT_ISL_SRC_RELEASE=y
# CT_ISL_SRC_DEVEL is not set
CT_ISL_PATCH_ORDER="global"
CT_ISL_V_0_24=y
# CT_ISL_V_0_23 is not set
# CT_ISL_V_0_22 is not set
# CT_ISL_V_0_21 is not set
# CT_ISL_V_0_20 is not set
# CT_ISL_V_0_19 is not set
# CT_ISL_V_0_18 is not set
# CT_ISL_V_0_17 is not set
# CT_ISL_V_0_16 is not set
# CT_ISL_V_0_15 is not set
CT_ISL_VERSION="0.24"
CT_ISL_MIRRORS="https://libisl.sourceforge.io"
CT_ISL_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_ISL_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_ISL_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz"
CT_ISL_SIGNATURE_FORMAT=""
CT_ISL_later_than_0_18=y
CT_ISL_0_18_or_later=y
CT_ISL_later_than_0_15=y
CT_ISL_0_15_or_later=y
# CT_COMP_LIBS_LIBELF is not set
CT_COMP_LIBS_LIBICONV=y
CT_COMP_LIBS_LIBICONV_PKG_KSYM="LIBICONV"
CT_LIBICONV_DIR_NAME="libiconv"
CT_LIBICONV_PKG_NAME="libiconv"
CT_LIBICONV_SRC_RELEASE=y
# CT_LIBICONV_SRC_DEVEL is not set
CT_LIBICONV_PATCH_ORDER="global"
CT_LIBICONV_V_1_16=y
# CT_LIBICONV_V_1_15 is not set
CT_LIBICONV_VERSION="1.16"
CT_LIBICONV_MIRRORS="$(CT_Mirrors GNU libiconv)"
CT_LIBICONV_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_LIBICONV_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_LIBICONV_ARCHIVE_FORMATS=".tar.gz"
CT_LIBICONV_SIGNATURE_FORMAT="packed/.sig"
CT_COMP_LIBS_MPC=y
CT_COMP_LIBS_MPC_PKG_KSYM="MPC"
CT_MPC_DIR_NAME="mpc"
CT_MPC_PKG_NAME="mpc"
CT_MPC_SRC_RELEASE=y
# CT_MPC_SRC_DEVEL is not set
CT_MPC_PATCH_ORDER="global"
CT_MPC_V_1_2=y
# CT_MPC_V_1_1 is not set
# CT_MPC_V_1_0 is not set
CT_MPC_VERSION="1.2.1"
CT_MPC_MIRRORS="http://www.multiprecision.org/downloads $(CT_Mirrors GNU mpc)"
CT_MPC_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_MPC_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_MPC_ARCHIVE_FORMATS=".tar.gz"
CT_MPC_SIGNATURE_FORMAT="packed/.sig"
CT_MPC_later_than_1_1_0=y
CT_MPC_1_1_0_or_later=y
CT_COMP_LIBS_MPFR=y
CT_COMP_LIBS_MPFR_PKG_KSYM="MPFR"
CT_MPFR_DIR_NAME="mpfr"
CT_MPFR_PKG_NAME="mpfr"
CT_MPFR_SRC_RELEASE=y
# CT_MPFR_SRC_DEVEL is not set
CT_MPFR_PATCH_ORDER="global"
CT_MPFR_V_4_1=y
# CT_MPFR_V_4_0 is not set
# CT_MPFR_V_3_1 is not set
CT_MPFR_VERSION="4.1.0"
CT_MPFR_MIRRORS="http://www.mpfr.org/mpfr-${CT_MPFR_VERSION} $(CT_Mirrors GNU mpfr)"
CT_MPFR_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_MPFR_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_MPFR_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz .zip"
CT_MPFR_SIGNATURE_FORMAT="packed/.asc"
CT_MPFR_later_than_4_0_0=y
CT_MPFR_4_0_0_or_later=y
CT_COMP_LIBS_NCURSES=y
CT_COMP_LIBS_NCURSES_PKG_KSYM="NCURSES"
CT_NCURSES_DIR_NAME="ncurses"
CT_NCURSES_PKG_NAME="ncurses"
CT_NCURSES_SRC_RELEASE=y
# CT_NCURSES_SRC_DEVEL is not set
CT_NCURSES_PATCH_ORDER="global"
CT_NCURSES_V_6_2=y
# CT_NCURSES_V_6_1 is not set
# CT_NCURSES_V_6_0 is not set
CT_NCURSES_VERSION="6.2"
CT_NCURSES_MIRRORS="https://invisible-mirror.net/archives/ncurses $(CT_Mirrors GNU ncurses)"
CT_NCURSES_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_NCURSES_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_NCURSES_ARCHIVE_FORMATS=".tar.gz"
CT_NCURSES_SIGNATURE_FORMAT="packed/.sig"
CT_NCURSES_NEW_ABI=y
CT_NCURSES_HOST_CONFIG_ARGS=""
CT_NCURSES_HOST_DISABLE_DB=y
CT_NCURSES_HOST_FALLBACKS="linux,xterm,xterm-color,xterm-256color,vt100"
CT_NCURSES_TARGET_CONFIG_ARGS=""
# CT_NCURSES_TARGET_DISABLE_DB is not set
CT_NCURSES_TARGET_FALLBACKS=""
CT_COMP_LIBS_ZLIB=y
CT_COMP_LIBS_ZLIB_PKG_KSYM="ZLIB"
CT_ZLIB_DIR_NAME="zlib"
CT_ZLIB_PKG_NAME="zlib"
CT_ZLIB_SRC_RELEASE=y
# CT_ZLIB_SRC_DEVEL is not set
CT_ZLIB_PATCH_ORDER="global"
CT_ZLIB_V_1_2_13=y
CT_ZLIB_VERSION="1.2.13"
CT_ZLIB_MIRRORS="http://downloads.sourceforge.net/project/libpng/zlib/${CT_ZLIB_VERSION} https://www.zlib.net/"
CT_ZLIB_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_ZLIB_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_ZLIB_ARCHIVE_FORMATS=".tar.xz .tar.gz"
CT_ZLIB_SIGNATURE_FORMAT="packed/.asc"
CT_ALL_COMP_LIBS_CHOICES="CLOOG EXPAT GETTEXT GMP GNUPRUMCU ISL LIBELF LIBICONV MPC MPFR NCURSES NEWLIB_NANO PICOLIBC ZLIB"
CT_LIBICONV_NEEDED=y
CT_GETTEXT_NEEDED=y
CT_GMP_NEEDED=y
CT_MPFR_NEEDED=y
CT_ISL_NEEDED=y
CT_MPC_NEEDED=y
CT_EXPAT_NEEDED=y
CT_NCURSES_NEEDED=y
CT_ZLIB_NEEDED=y
CT_LIBICONV=y
CT_GETTEXT=y
CT_GMP=y
CT_MPFR=y
CT_ISL=y
CT_MPC=y
CT_EXPAT=y
CT_NCURSES=y
CT_ZLIB=y
# end of Companion libraries
#
# Companion tools
#
CT_COMP_TOOLS_FOR_HOST=y
CT_COMP_TOOLS_AUTOCONF=y
CT_COMP_TOOLS_AUTOCONF_PKG_KSYM="AUTOCONF"
CT_AUTOCONF_DIR_NAME="autoconf"
CT_AUTOCONF_PKG_NAME="autoconf"
CT_AUTOCONF_SRC_RELEASE=y
# CT_AUTOCONF_SRC_DEVEL is not set
CT_AUTOCONF_PATCH_ORDER="global"
CT_AUTOCONF_V_2_71=y
# CT_AUTOCONF_V_2_69 is not set
# CT_AUTOCONF_V_2_65 is not set
CT_AUTOCONF_VERSION="2.71"
CT_AUTOCONF_MIRRORS="$(CT_Mirrors GNU autoconf)"
CT_AUTOCONF_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_AUTOCONF_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_AUTOCONF_ARCHIVE_FORMATS=".tar.xz .tar.gz"
CT_AUTOCONF_SIGNATURE_FORMAT="packed/.sig"
CT_COMP_TOOLS_AUTOMAKE=y
CT_COMP_TOOLS_AUTOMAKE_PKG_KSYM="AUTOMAKE"
CT_AUTOMAKE_DIR_NAME="automake"
CT_AUTOMAKE_PKG_NAME="automake"
CT_AUTOMAKE_SRC_RELEASE=y
# CT_AUTOMAKE_SRC_DEVEL is not set
CT_AUTOMAKE_PATCH_ORDER="global"
CT_AUTOMAKE_V_1_16=y
# CT_AUTOMAKE_V_1_15 is not set
CT_AUTOMAKE_VERSION="1.16.1"
CT_AUTOMAKE_MIRRORS="$(CT_Mirrors GNU automake)"
CT_AUTOMAKE_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_AUTOMAKE_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_AUTOMAKE_ARCHIVE_FORMATS=".tar.xz .tar.gz"
CT_AUTOMAKE_SIGNATURE_FORMAT="packed/.sig"
# CT_COMP_TOOLS_BISON is not set
# CT_COMP_TOOLS_DTC is not set
# CT_COMP_TOOLS_LIBTOOL is not set
CT_COMP_TOOLS_M4=y
CT_COMP_TOOLS_M4_PKG_KSYM="M4"
CT_M4_DIR_NAME="m4"
CT_M4_PKG_NAME="m4"
CT_M4_SRC_RELEASE=y
# CT_M4_SRC_DEVEL is not set
CT_M4_PATCH_ORDER="global"
CT_M4_V_1_4=y
CT_M4_VERSION="1.4.19"
CT_M4_MIRRORS="$(CT_Mirrors GNU m4)"
CT_M4_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_M4_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_M4_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz"
CT_M4_SIGNATURE_FORMAT="packed/.sig"
CT_COMP_TOOLS_MAKE=y
CT_COMP_TOOLS_MAKE_PKG_KSYM="MAKE"
CT_MAKE_DIR_NAME="make"
CT_MAKE_PKG_NAME="make"
CT_MAKE_SRC_RELEASE=y
# CT_MAKE_SRC_DEVEL is not set
CT_MAKE_PATCH_ORDER="global"
CT_MAKE_V_4_3=y
# CT_MAKE_V_4_2 is not set
CT_MAKE_VERSION="4.3"
CT_MAKE_MIRRORS="$(CT_Mirrors GNU make)"
CT_MAKE_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_MAKE_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_MAKE_ARCHIVE_FORMATS=".tar.lz .tar.gz"
CT_MAKE_SIGNATURE_FORMAT="packed/.sig"
# CT_MAKE_GMAKE_SYMLINK is not set
# CT_MAKE_GNUMAKE_SYMLINK is not set
CT_ALL_COMP_TOOLS_CHOICES="AUTOCONF AUTOMAKE BISON DTC LIBTOOL M4 MAKE"
# end of Companion tools

View File

@ -0,0 +1,5 @@
#!/bin/sh
set -e
docker push asfernandes/firebird-builder:fb5-arm32-ng-v1
docker push asfernandes/firebird-builder:fb5-arm64-ng-v1

View File

@ -0,0 +1,2 @@
#!/bin/sh
docker run --platform arm --rm --user `id -u`:`id -g` -v `pwd`/../../../..:/firebird -t asfernandes/firebird-builder:fb5-arm32-ng-v1

View File

@ -0,0 +1,2 @@
#!/bin/sh
docker run --platform arm64 --rm --user `id -u`:`id -g` -v `pwd`/../../../..:/firebird -t asfernandes/firebird-builder:fb5-arm64-ng-v1

View File

@ -0,0 +1,15 @@
#!/bin/sh
set -e
./autogen.sh \
--host=$BUILD_ARCH \
--prefix=/opt/firebird \
--enable-binreloc \
--with-builtin-tomcrypt \
--with-termlib=:libncurses.a \
--with-atomiclib=:libatomic.a
make -j${CPUCOUNT}
make tests -j${CPUCOUNT}
make run_tests
make dist

View File

@ -1,4 +1,6 @@
#!/bin/sh #!/bin/sh
set -e
trap exit INT TERM trap exit INT TERM
/build.sh & /build.sh &
wait $! wait $!

View File

@ -1,177 +0,0 @@
ARG CPUCOUNT=6
ARG GCC_VERSION=10.3.0
ARG LIBTOOL_VERSION=2.4.6
ARG MAKE_VERSION=4.3
ARG BINUTILS_VERSION=2.37
ARG NCURSES_VERSION=6.3
ARG ICU_VERSION=70_1
ARG BASE=ubuntu:raring
ARG BUILD_ARCH=x86_64-pc-linux-gnu
ARG LIBDIR=/usr/lib/x86_64-linux-gnu
FROM ubuntu:focal as downloader
ARG GCC_VERSION
ARG LIBTOOL_VERSION
ARG MAKE_VERSION
ARG BINUTILS_VERSION
ARG NCURSES_VERSION
ARG ICU_VERSION
RUN \
apt-get -y update && \
apt-get -y install curl xz-utils && \
rm -rf /var/lib/apt/lists/* && \
\
mkdir /work && \
cd /work && \
\
echo Downloading tools and libraries && \
curl -SL --output gcc-${GCC_VERSION}.tar.xz https://ftp.gnu.org/gnu/gcc/gcc-${GCC_VERSION}/gcc-${GCC_VERSION}.tar.xz && \
curl -SL --output libtool-${LIBTOOL_VERSION}.tar.gz https://ftpmirror.gnu.org/libtool/libtool-${LIBTOOL_VERSION}.tar.gz && \
curl -SL --output make-${MAKE_VERSION}.tar.bz2 https://ftp.gnu.org/gnu/make/make-${MAKE_VERSION}.tar.gz && \
curl -SL --output binutils-${BINUTILS_VERSION}.tar.bz2 https://mirror.nbtelecom.com.br/gnu/binutils/binutils-${BINUTILS_VERSION}.tar.bz2 && \
curl -SL --output ncurses-${NCURSES_VERSION}.tar.gz https://ftp.gnu.org/pub/gnu/ncurses/ncurses-${NCURSES_VERSION}.tar.gz && \
curl -SL --output icu4c-${ICU_VERSION}-src.tgz https://github.com/unicode-org/icu/releases/download/release-`echo ${ICU_VERSION} | tr _ -`/icu4c-${ICU_VERSION}-src.tgz
FROM $BASE
ARG CPUCOUNT
ARG GCC_VERSION
ARG LIBTOOL_VERSION
ARG MAKE_VERSION
ARG BINUTILS_VERSION
ARG NCURSES_VERSION
ARG ICU_VERSION
ARG BUILD_ARCH
ARG LIBDIR
COPY --from=downloader /work /work
RUN \
sed -i 's/archive/old-releases/g' /etc/apt/sources.list && \
apt-get -y update && \
apt-get -y install curl xz-utils lbzip2 bzip2 m4 gcc g++ make libtool autoconf libtommath-dev zlib1g-dev unzip && \
rm -rf /var/lib/apt/lists/* && \
\
cd /work && \
mkdir -p /work/gcc-${GCC_VERSION}-src && \
tar -xvf gcc-${GCC_VERSION}.tar.xz --strip 1 -C gcc-${GCC_VERSION}-src && \
rm gcc-${GCC_VERSION}.tar.xz && \
cd gcc-${GCC_VERSION}-src && \
./contrib/download_prerequisites && \
\
cd /work && \
mkdir -p /work/libtool-${LIBTOOL_VERSION}-src && \
tar -xzvf libtool-${LIBTOOL_VERSION}.tar.gz --strip 1 -C libtool-${LIBTOOL_VERSION}-src && \
rm libtool-${LIBTOOL_VERSION}.tar.gz && \
\
cd /work && \
mkdir -p /work/make-${MAKE_VERSION}-src && \
tar -xzvf make-${MAKE_VERSION}.tar.bz2 --strip 1 -C make-${MAKE_VERSION}-src && \
rm make-${MAKE_VERSION}.tar.bz2 && \
\
cd /work && \
mkdir -p /work/binutils-${BINUTILS_VERSION}-src && \
tar -xjvf binutils-${BINUTILS_VERSION}.tar.bz2 --strip 1 -C binutils-${BINUTILS_VERSION}-src && \
rm binutils-${BINUTILS_VERSION}.tar.bz2 && \
\
cd /work && \
mkdir -p /work/ncurses-${NCURSES_VERSION}-src && \
tar -xzvf ncurses-${NCURSES_VERSION}.tar.gz --strip 1 -C ncurses-${NCURSES_VERSION}-src && \
rm ncurses-${NCURSES_VERSION}.tar.gz && \
\
cd /work && \
mkdir /work/icu-${ICU_VERSION}-src && \
tar xzvf icu4c-${ICU_VERSION}-src.tgz --strip 1 -C icu-${ICU_VERSION}-src && \
rm icu4c-${ICU_VERSION}-src.tgz && \
\
mkdir /work/gcc-${GCC_VERSION}-build && \
cd /work/gcc-${GCC_VERSION}-build && \
/work/gcc-${GCC_VERSION}-src/configure --build=${BUILD_ARCH} --prefix=/opt/gcc-${GCC_VERSION} --enable-languages=c,c++ --enable-bootstrap --enable-threads=posix --disable-multilib && \
make -j${CPUCOUNT} && \
make install && \
\
export LD_LIBRARY_PATH=/opt/gcc-${GCC_VERSION}/lib:/opt/gcc-${GCC_VERSION}/lib64 && \
export LD_RUN_PATH=/opt/gcc-${GCC_VERSION}/lib:/opt/gcc-${GCC_VERSION}/lib64 && \
export PATH=/opt/gcc-${GCC_VERSION}/bin:$PATH && \
\
mkdir /work/libtool-${LIBTOOL_VERSION}-build && \
cd /work/libtool-${LIBTOOL_VERSION}-build && \
/work/libtool-${LIBTOOL_VERSION}-src/configure --build=${BUILD_ARCH} --prefix=/opt/libtool-${LIBTOOL_VERSION} && \
make -j${CPUCOUNT} && \
make install && \
\
export PATH=/opt/libtool-${LIBTOOL_VERSION}/bin:$PATH && \
\
mkdir /work/make-${MAKE_VERSION}-build && \
cd /work/make-${MAKE_VERSION}-build && \
/work/make-${MAKE_VERSION}-src/configure --build=${BUILD_ARCH} --prefix=/opt/make-${MAKE_VERSION} && \
make -j${CPUCOUNT} && \
make install && \
\
export PATH=/opt/make-${MAKE_VERSION}/bin:$PATH && \
\
mkdir /work/binutils-${BINUTILS_VERSION}-build && \
cd /work/binutils-${BINUTILS_VERSION}-build && \
/work/binutils-${BINUTILS_VERSION}-src/configure --build=${BUILD_ARCH} --prefix=/opt/binutils-${BINUTILS_VERSION} && \
make -j${CPUCOUNT} && \
make install && \
\
export PATH=/opt/binutils-${BINUTILS_VERSION}/bin:$PATH && \
\
mkdir /work/ncurses-${NCURSES_VERSION}-build && \
cd /work/ncurses-${NCURSES_VERSION}-build && \
/work/ncurses-${NCURSES_VERSION}-src/configure \
--build=${BUILD_ARCH} \
--prefix=/usr \
--libdir=${LIBDIR} \
--disable-db-install \
--disable-termcap \
--without-ada \
--without-cxx \
--without-cxx-binding \
--without-develop \
--without-tests \
--without-progs \
--with-default-terminfo-dir=/etc/terminfo \
--with-terminfo-dirs="/etc/terminfo:/lib/terminfo:/usr/share/terminfo" \
&& \
make -j${CPUCOUNT} && \
make install && \
\
mkdir /work/icu-${ICU_VERSION}-build && \
cd /work/icu-${ICU_VERSION}-build && \
/work/icu-${ICU_VERSION}-src/source/runConfigureICU Linux --prefix=/opt/icu && \
make -j${CPUCOUNT} && \
make install && \
\
rm -rf /work
COPY scripts/* /
ENV LD_LIBRARY_PATH=/opt/gcc-${GCC_VERSION}/lib:/opt/gcc-${GCC_VERSION}/lib64
ENV LD_RUN_PATH=/opt/gcc-${GCC_VERSION}/lib:/opt/gcc-${GCC_VERSION}/lib64
ENV PATH=/opt/gcc-${GCC_VERSION}/bin:$PATH
ENV PATH=/opt/libtool-${LIBTOOL_VERSION}/bin:$PATH
ENV PATH=/opt/make-${MAKE_VERSION}/bin:$PATH
ENV PATH=/opt/binutils-${BINUTILS_VERSION}/bin:$PATH
ENV LIBRARY_PATH=/opt/icu/lib
ENV LD_LIBRARY_PATH=/opt/icu/lib:$LD_LIBRARY_PATH
ENV C_INCLUDE_PATH=/opt/icu/include
ENV CPLUS_INCLUDE_PATH=$C_INCLUDE_PATH
ENV BUILD_ARCH=$BUILD_ARCH
ENV CPUCOUNT=$CPUCOUNT
WORKDIR /firebird
ENTRYPOINT ["/entry.sh"]

View File

@ -1,6 +0,0 @@
#!/bin/sh
docker build \
--build-arg BASE=i386/ubuntu:vivid \
--build-arg BUILD_ARCH=i586-pc-linux-gnu \
--build-arg LIBDIR=/lib/i386-linux-gnu \
-t asfernandes/firebird-builder:i586-5 .

View File

@ -1,6 +0,0 @@
#!/bin/sh
docker build \
--build-arg BASE=ubuntu:raring \
--build-arg BUILD_ARCH=x86_64-pc-linux-gnu \
--build-arg LIBDIR=/usr/lib/x86_64-linux-gnu \
-t asfernandes/firebird-builder:x86_64-5 .

View File

@ -1,5 +0,0 @@
#!/bin/sh
set -e
docker push asfernandes/firebird-builder:x86_64-5
docker push asfernandes/firebird-builder:i586-5

View File

@ -1,2 +0,0 @@
#!/bin/sh
docker run --rm --user `id -u`:`id -g` -v `pwd`/../../../..:/firebird -t asfernandes/firebird-builder:i586-5

View File

@ -1,2 +0,0 @@
#!/bin/sh
docker run --rm --user `id -u`:`id -g` -v `pwd`/../../../..:/firebird -t asfernandes/firebird-builder:x86_64-5

View File

@ -1,8 +0,0 @@
#!/bin/sh
# FIXME: Resolve this with a configure option.
sed -i 's/AC_CHECK_LIB(atomic, main)/AC_CHECK_LIB(:libatomic.a, main)/g' configure.ac
./autogen.sh --build=$BUILD_ARCH --prefix=/opt/firebird --enable-binreloc --with-builtin-tomcrypt --with-termlib=:libncurses.a
make -j${CPUCOUNT}
make dist

View File

@ -0,0 +1,230 @@
ARG ARG_BASE=ubuntu:22.04
ARG ARG_SET_ARCH=x86_64
ARG ARG_TARGET_ARCH=x86_64-pc-linux-gnu
ARG ARG_CTNF_CONFIG=crosstool-ng-config-x64
ARG ARG_CTNG_VERSION=1.25.0
ARG ARG_LIBTOOL_VERSION=2.4.6
ARG ARG_NCURSES_VERSION=6.3
ARG ARG_LTM_VERSION=1.2.0
ARG ARG_ZLIB_VERSION=1.2.13
ARG ARG_ICU_VERSION=70-1
ARG ARG_CPUCOUNT=6
ARG ARG_CTNG_UID=1000
ARG ARG_CTNG_GID=1000
FROM $ARG_BASE as builder
ARG ARG_SET_ARCH
ARG ARG_TARGET_ARCH
ARG ARG_CTNF_CONFIG
ARG ARG_CTNG_VERSION
ARG ARG_LIBTOOL_VERSION
ARG ARG_NCURSES_VERSION
ARG ARG_LTM_VERSION
ARG ARG_ZLIB_VERSION
ARG ARG_ICU_VERSION
ARG ARG_CPUCOUNT
ARG ARG_CTNG_UID
ARG ARG_CTNG_GID
RUN groupadd -g $ARG_CTNG_GID ctng && \
useradd -d /home/ctng -m -g $ARG_CTNG_GID -u $ARG_CTNG_UID -s /bin/bash ctng && \
\
{ echo 'tzdata tzdata/Areas select Etc'; echo 'tzdata tzdata/Zones/Etc select UTC'; } | debconf-set-selections && \
\
apt-get update && \
apt-get -y install \
sudo \
automake \
bison \
chrpath \
flex \
gcc \
g++ \
git \
gperf \
gawk \
help2man \
libexpat1-dev \
libncurses5-dev \
libsdl1.2-dev \
libtool \
libtool-bin \
libtool-doc \
python2.7-dev \
python3-dev \
texinfo \
make \
curl \
wget \
unzip \
nano && \
\
adduser ctng sudo && \
echo '%sudo ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers
USER ctng
RUN mkdir ~/build && \
curl -SL --output ~/build/icu4c-${ARG_ICU_VERSION}-src.tgz https://github.com/unicode-org/icu/releases/download/release-${ARG_ICU_VERSION}/icu4c-`echo ${ARG_ICU_VERSION} | tr - _`-src.tgz && \
curl -SL --output ~/build/ncurses-${ARG_NCURSES_VERSION}.tar.gz https://ftp.gnu.org/pub/gnu/ncurses/ncurses-${ARG_NCURSES_VERSION}.tar.gz && \
curl -SL --output ~/build/libtool-${ARG_LIBTOOL_VERSION}.tar.gz https://ftpmirror.gnu.org/libtool/libtool-${ARG_LIBTOOL_VERSION}.tar.gz && \
curl -SL --output ~/build/ltm-${ARG_LTM_VERSION}.tar.xz https://github.com/libtom/libtommath/releases/download/v${ARG_LTM_VERSION}/ltm-${ARG_LTM_VERSION}.tar.xz && \
curl -SL --output ~/build/zlib-${ARG_ZLIB_VERSION}.tar.gz https://zlib.net/zlib-${ARG_ZLIB_VERSION}.tar.gz
ADD --chown=ctng:ctng $ARG_CTNF_CONFIG /tmp/crosstool-ng-config
RUN cd && \
mkdir src && \
git clone https://github.com/crosstool-ng/crosstool-ng.git && \
cd crosstool-ng && \
git checkout -b branch crosstool-ng-${ARG_CTNG_VERSION} && \
./bootstrap && \
./configure --enable-local && \
make && \
mv /tmp/crosstool-ng-config .config && \
cd ~/crosstool-ng && \
setarch $ARG_SET_ARCH ./ct-ng build.${ARG_CPUCOUNT}
RUN sudo apt-get -y remove \
autoconf \
automake \
binutils \
cpp \
gcc \
g++ \
binutils \
libtool \
git \
libtommath1 \
libtommath-dev \
libtomcrypt1 \
libtomcrypt-dev && \
sudo rm -rf /var/lib/apt/lists/*
ENV PATH "/home/ctng/x-tools/${ARG_TARGET_ARCH}/bin:/home/ctng/x-tools/${ARG_TARGET_ARCH}/${ARG_TARGET_ARCH}/sysroot/usr/local/bin:${PATH}"
RUN cd ~/build && \
mkdir -p libtool-${ARG_LIBTOOL_VERSION}-src && \
tar xvf libtool-${ARG_LIBTOOL_VERSION}.tar.gz --strip 1 -C libtool-${ARG_LIBTOOL_VERSION}-src && \
rm libtool-${ARG_LIBTOOL_VERSION}.tar.gz && \
mkdir libtool-${ARG_LIBTOOL_VERSION}-build && \
cd libtool-${ARG_LIBTOOL_VERSION}-build && \
../libtool-${ARG_LIBTOOL_VERSION}-src/configure \
--host=${ARG_TARGET_ARCH} \
--prefix=/home/ctng/x-tools/${ARG_TARGET_ARCH} && \
make -j${ARG_CPUCOUNT} && \
make install
RUN cd ~/build && \
mkdir -p ncurses-${ARG_NCURSES_VERSION}-src && \
tar xvf ncurses-${ARG_NCURSES_VERSION}.tar.gz --strip 1 -C ncurses-${ARG_NCURSES_VERSION}-src && \
rm ncurses-${ARG_NCURSES_VERSION}.tar.gz && \
mkdir ncurses-${ARG_NCURSES_VERSION}-build && \
cd ncurses-${ARG_NCURSES_VERSION}-build && \
../ncurses-${ARG_NCURSES_VERSION}-src/configure \
--host=${ARG_TARGET_ARCH} \
--prefix=/home/ctng/x-tools/${ARG_TARGET_ARCH}/${ARG_TARGET_ARCH}/sysroot/usr \
--bindir=/home/ctng/x-tools/${ARG_TARGET_ARCH}/${ARG_TARGET_ARCH}/sysroot/usr/local/bin \
--libdir=/home/ctng/x-tools/${ARG_TARGET_ARCH}/${ARG_TARGET_ARCH}/sysroot/usr/local/lib \
--enable-overwrite \
--disable-db-install \
--disable-termcap \
--without-ada \
--without-cxx \
--without-cxx-binding \
--without-develop \
--without-tests \
--without-progs \
--with-default-terminfo-dir=/etc/terminfo \
--with-terminfo-dirs="/etc/terminfo:/lib/terminfo:/usr/share/terminfo" && \
make -j${ARG_CPUCOUNT} && \
make install
RUN cd ~/build && \
mkdir -p ltm-${ARG_LTM_VERSION}-src && \
tar xvf ltm-${ARG_LTM_VERSION}.tar.xz --strip 1 -C ltm-${ARG_LTM_VERSION}-src && \
rm ltm-${ARG_LTM_VERSION}.tar.xz && \
cd ltm-${ARG_LTM_VERSION}-src && \
CC=${ARG_TARGET_ARCH}-gcc AR=${ARG_TARGET_ARCH}-ar make \
-C ../ltm-${ARG_LTM_VERSION}-src \
-f makefile.shared \
-j${ARG_CPUCOUNT} && \
make install \
-f makefile.shared \
DESTDIR=/home/ctng/x-tools/${ARG_TARGET_ARCH}/${ARG_TARGET_ARCH}/sysroot \
INCPATH=/usr/include \
AR=${ARG_TARGET_ARCH}-ar \
RANLIB=${ARG_TARGET_ARCH}-ranlib
RUN cd ~/build && \
mkdir zlib-${ARG_ZLIB_VERSION}-src && \
tar xvf zlib-${ARG_ZLIB_VERSION}.tar.gz --strip 1 -C zlib-${ARG_ZLIB_VERSION}-src && \
rm zlib-${ARG_ZLIB_VERSION}.tar.gz && \
mkdir zlib-${ARG_ZLIB_VERSION}-build && \
cd zlib-${ARG_ZLIB_VERSION}-build && \
CROSS_PREFIX=${ARG_TARGET_ARCH}- ../zlib-${ARG_ZLIB_VERSION}-src/configure \
--prefix=/home/ctng/x-tools/${ARG_TARGET_ARCH}/${ARG_TARGET_ARCH}/sysroot/usr \
--libdir=/home/ctng/x-tools/${ARG_TARGET_ARCH}/${ARG_TARGET_ARCH}/sysroot/usr/local/lib \
--enable-shared && \
make -j${ARG_CPUCOUNT} && \
make install
RUN cd ~/build && \
mkdir icu4c-${ARG_ICU_VERSION}-src && \
tar xvf icu4c-${ARG_ICU_VERSION}-src.tgz --strip 1 -C icu4c-${ARG_ICU_VERSION}-src && \
mkdir icu4c-${ARG_ICU_VERSION}-build && \
cd icu4c-${ARG_ICU_VERSION}-build && \
CXXFLAGS='-std=c++17 -static-libstdc++' setarch $ARG_SET_ARCH ../icu4c-${ARG_ICU_VERSION}-src/source/runConfigureICU \
Linux \
--host=${ARG_TARGET_ARCH} \
--prefix=/home/ctng/x-tools/${ARG_TARGET_ARCH}/${ARG_TARGET_ARCH}/sysroot/usr/local \
--includedir=/home/ctng/x-tools/${ARG_TARGET_ARCH}/${ARG_TARGET_ARCH}/sysroot/usr/include && \
setarch $ARG_SET_ARCH make -j${ARG_CPUCOUNT} && \
setarch $ARG_SET_ARCH make install
FROM $ARG_BASE
ARG ARG_TARGET_ARCH
ARG ARG_SET_ARCH
ARG ARG_CPUCOUNT
ARG ARG_CTNG_UID
ARG ARG_CTNG_GID
RUN apt-get update && \
apt-get -y install \
cmake \
libfile-copy-recursive-perl \
unzip \
xz-utils && \
rm -rf /var/lib/apt/lists/*
RUN groupadd -g $ARG_CTNG_GID ctng && \
useradd -d /home/ctng -m -g $ARG_CTNG_GID -u $ARG_CTNG_UID -s /bin/bash ctng
USER ctng
RUN chmod o=u /home/ctng
COPY --from=builder --chown=ctng:ctng /home/ctng/x-tools /home/ctng/x-tools
COPY --chown=ctng:ctng scripts/* /
ENV PATH "/home/ctng/x-tools/${ARG_TARGET_ARCH}/bin:/home/ctng/x-tools/${ARG_TARGET_ARCH}/${ARG_TARGET_ARCH}/sysroot/usr/local/bin:${PATH}"
ENV LIBRARY_PATH "/home/ctng/x-tools/${ARG_TARGET_ARCH}/${ARG_TARGET_ARCH}/sysroot/usr/local/lib"
ENV LD_LIBRARY_PATH "/home/ctng/x-tools/${ARG_TARGET_ARCH}/${ARG_TARGET_ARCH}/sysroot/usr/local/lib"
ENV BUILD_ARCH=$ARG_TARGET_ARCH
ENV SET_ARCH=$ARG_SET_ARCH
ENV CPUCOUNT=$ARG_CPUCOUNT
WORKDIR /firebird
ENTRYPOINT ["/entry.sh"]

View File

@ -0,0 +1,8 @@
#!/bin/sh
docker build \
--pull \
--build-arg ARG_BASE=ubuntu:22.04 \
--build-arg ARG_SET_ARCH=x86_64 \
--build-arg ARG_TARGET_ARCH=x86_64-pc-linux-gnu \
--build-arg ARG_CTNF_CONFIG=crosstool-ng-config-x64 \
-t asfernandes/firebird-builder:fb5-x64-ng-v1 .

View File

@ -0,0 +1,8 @@
#!/bin/sh
docker build \
--pull \
--build-arg ARG_BASE=i386/ubuntu:18.04 \
--build-arg ARG_SET_ARCH=i686 \
--build-arg ARG_TARGET_ARCH=i586-pc-linux-gnu \
--build-arg ARG_CTNF_CONFIG=crosstool-ng-config-x86 \
-t asfernandes/firebird-builder:fb5-x86-ng-v1 .

View File

@ -0,0 +1,915 @@
#
# Automatically generated file; DO NOT EDIT.
# crosstool-NG 1.25.0 Configuration
#
CT_CONFIGURE_has_static_link=y
CT_CONFIGURE_has_cxx11=y
CT_CONFIGURE_has_wget=y
CT_CONFIGURE_has_curl=y
CT_CONFIGURE_has_make_3_81_or_newer=y
CT_CONFIGURE_has_make_4_0_or_newer=y
CT_CONFIGURE_has_libtool_2_4_or_newer=y
CT_CONFIGURE_has_libtoolize_2_4_or_newer=y
CT_CONFIGURE_has_autoconf_2_65_or_newer=y
CT_CONFIGURE_has_autoreconf_2_65_or_newer=y
CT_CONFIGURE_has_automake_1_15_or_newer=y
CT_CONFIGURE_has_gnu_m4_1_4_12_or_newer=y
CT_CONFIGURE_has_python_3_4_or_newer=y
CT_CONFIGURE_has_bison_2_7_or_newer=y
CT_CONFIGURE_has_python=y
CT_CONFIGURE_has_git=y
CT_CONFIGURE_has_md5sum=y
CT_CONFIGURE_has_sha1sum=y
CT_CONFIGURE_has_sha256sum=y
CT_CONFIGURE_has_sha512sum=y
CT_CONFIGURE_has_install_with_strip_program=y
CT_VERSION="1.25.0"
CT_VCHECK=""
CT_CONFIG_VERSION_ENV="4"
CT_CONFIG_VERSION_CURRENT="4"
CT_CONFIG_VERSION="4"
CT_MODULES=y
#
# Paths and misc options
#
#
# crosstool-NG behavior
#
CT_OBSOLETE=y
# CT_EXPERIMENTAL is not set
# CT_DEBUG_CT is not set
#
# Paths
#
CT_LOCAL_TARBALLS_DIR="${HOME}/src"
CT_SAVE_TARBALLS=y
# CT_TARBALLS_BUILDROOT_LAYOUT is not set
CT_WORK_DIR="${CT_TOP_DIR}/.build"
CT_BUILD_TOP_DIR="${CT_WORK_DIR:-${CT_TOP_DIR}/.build}/${CT_HOST:+HOST-${CT_HOST}/}${CT_TARGET}"
CT_BUILD_DIR="${CT_BUILD_TOP_DIR}/build"
CT_PREFIX_DIR="${CT_PREFIX:-${HOME}/x-tools}/${CT_HOST:+HOST-${CT_HOST}/}${CT_TARGET}"
CT_RM_RF_PREFIX_DIR=y
CT_REMOVE_DOCS=y
# CT_INSTALL_LICENSES is not set
# CT_PREFIX_DIR_RO is not set
CT_STRIP_HOST_TOOLCHAIN_EXECUTABLES=y
# CT_STRIP_TARGET_TOOLCHAIN_EXECUTABLES is not set
#
# Downloading
#
CT_DOWNLOAD_AGENT_WGET=y
# CT_DOWNLOAD_AGENT_CURL is not set
# CT_DOWNLOAD_AGENT_NONE is not set
# CT_FORBID_DOWNLOAD is not set
# CT_FORCE_DOWNLOAD is not set
CT_CONNECT_TIMEOUT=10
CT_DOWNLOAD_WGET_OPTIONS="--passive-ftp --tries=3 -nc --progress=dot:binary"
# CT_ONLY_DOWNLOAD is not set
# CT_USE_MIRROR is not set
CT_VERIFY_DOWNLOAD_DIGEST=y
CT_VERIFY_DOWNLOAD_DIGEST_SHA512=y
# CT_VERIFY_DOWNLOAD_DIGEST_SHA256 is not set
# CT_VERIFY_DOWNLOAD_DIGEST_SHA1 is not set
# CT_VERIFY_DOWNLOAD_DIGEST_MD5 is not set
CT_VERIFY_DOWNLOAD_DIGEST_ALG="sha512"
# CT_VERIFY_DOWNLOAD_SIGNATURE is not set
#
# Extracting
#
# CT_FORCE_EXTRACT is not set
CT_OVERRIDE_CONFIG_GUESS_SUB=y
# CT_ONLY_EXTRACT is not set
CT_PATCH_BUNDLED=y
# CT_PATCH_BUNDLED_LOCAL is not set
CT_PATCH_ORDER="bundled"
#
# Build behavior
#
CT_PARALLEL_JOBS=0
CT_LOAD=""
CT_USE_PIPES=y
CT_EXTRA_CFLAGS_FOR_BUILD=""
CT_EXTRA_CXXFLAGS_FOR_BUILD=""
CT_EXTRA_LDFLAGS_FOR_BUILD=""
CT_EXTRA_CFLAGS_FOR_HOST=""
CT_EXTRA_LDFLAGS_FOR_HOST=""
# CT_CONFIG_SHELL_SH is not set
# CT_CONFIG_SHELL_ASH is not set
CT_CONFIG_SHELL_BASH=y
# CT_CONFIG_SHELL_CUSTOM is not set
CT_CONFIG_SHELL="${bash}"
#
# Logging
#
# CT_LOG_ERROR is not set
# CT_LOG_WARN is not set
# CT_LOG_INFO is not set
CT_LOG_EXTRA=y
# CT_LOG_ALL is not set
# CT_LOG_DEBUG is not set
CT_LOG_LEVEL_MAX="EXTRA"
# CT_LOG_SEE_TOOLS_WARN is not set
CT_LOG_PROGRESS_BAR=y
CT_LOG_TO_FILE=y
CT_LOG_FILE_COMPRESS=y
# end of Paths and misc options
#
# Target options
#
# CT_ARCH_ALPHA is not set
# CT_ARCH_ARC is not set
# CT_ARCH_ARM is not set
# CT_ARCH_AVR is not set
# CT_ARCH_M68K is not set
# CT_ARCH_MIPS is not set
# CT_ARCH_NIOS2 is not set
# CT_ARCH_POWERPC is not set
# CT_ARCH_PRU is not set
# CT_ARCH_S390 is not set
# CT_ARCH_SH is not set
# CT_ARCH_SPARC is not set
CT_ARCH_X86=y
# CT_ARCH_XTENSA is not set
CT_ARCH="x86"
CT_ARCH_CHOICE_KSYM="X86"
CT_ARCH_CPU=""
CT_ARCH_TUNE=""
CT_ARCH_X86_SHOW=y
#
# Options for x86
#
CT_ARCH_X86_PKG_KSYM=""
CT_ALL_ARCH_CHOICES="ALPHA ARC ARM AVR C6X M68K MICROBLAZE MIPS MOXIE MSP430 NIOS2 POWERPC PRU RISCV S390 SH SPARC X86 XTENSA"
CT_ARCH_SUFFIX=""
# CT_OMIT_TARGET_VENDOR is not set
#
# Generic target options
#
# CT_MULTILIB is not set
CT_DEMULTILIB=y
CT_ARCH_USE_MMU=y
CT_ARCH_SUPPORTS_32=y
CT_ARCH_SUPPORTS_64=y
CT_ARCH_DEFAULT_32=y
CT_ARCH_BITNESS=64
# CT_ARCH_32 is not set
CT_ARCH_64=y
CT_ARCH_SUPPORTS_WITH_32_64=y
#
# Target optimisations
#
CT_ARCH_SUPPORTS_WITH_ARCH=y
CT_ARCH_SUPPORTS_WITH_CPU=y
CT_ARCH_SUPPORTS_WITH_TUNE=y
CT_ARCH_ARCH=""
CT_TARGET_CFLAGS=""
CT_TARGET_LDFLAGS=""
# end of Target options
#
# Toolchain options
#
#
# General toolchain options
#
CT_USE_SYSROOT=y
CT_SYSROOT_NAME="sysroot"
CT_SYSROOT_DIR_PREFIX=""
CT_WANTS_STATIC_LINK=y
CT_WANTS_STATIC_LINK_CXX=y
# CT_STATIC_TOOLCHAIN is not set
CT_SHOW_CT_VERSION=y
CT_TOOLCHAIN_PKGVERSION=""
CT_TOOLCHAIN_BUGURL=""
#
# Tuple completion and aliasing
#
CT_TARGET_VENDOR="pc"
CT_TARGET_ALIAS_SED_EXPR=""
CT_TARGET_ALIAS=""
#
# Toolchain type
#
CT_CROSS=y
# CT_CANADIAN is not set
CT_TOOLCHAIN_TYPE="cross"
#
# Build system
#
CT_BUILD=""
CT_BUILD_PREFIX=""
CT_BUILD_SUFFIX=""
#
# Misc options
#
# CT_TOOLCHAIN_ENABLE_NLS is not set
# end of Toolchain options
#
# Operating System
#
CT_KERNEL_SUPPORTS_SHARED_LIBS=y
# CT_KERNEL_BARE_METAL is not set
CT_KERNEL_LINUX=y
CT_KERNEL="linux"
CT_KERNEL_CHOICE_KSYM="LINUX"
CT_KERNEL_LINUX_SHOW=y
#
# Options for linux
#
CT_KERNEL_LINUX_PKG_KSYM="LINUX"
CT_LINUX_DIR_NAME="linux"
CT_LINUX_USE_WWW_KERNEL_ORG=y
# CT_LINUX_USE_ORACLE is not set
CT_LINUX_USE="LINUX"
CT_LINUX_PKG_NAME="linux"
CT_LINUX_SRC_RELEASE=y
# CT_LINUX_SRC_DEVEL is not set
CT_LINUX_PATCH_ORDER="global"
# CT_LINUX_V_5_2 is not set
# CT_LINUX_V_5_1 is not set
# CT_LINUX_V_5_0 is not set
# CT_LINUX_V_4_20 is not set
# CT_LINUX_V_4_19 is not set
# CT_LINUX_V_4_18 is not set
# CT_LINUX_V_4_17 is not set
# CT_LINUX_V_4_16 is not set
# CT_LINUX_V_4_15 is not set
# CT_LINUX_V_4_14 is not set
# CT_LINUX_V_4_13 is not set
# CT_LINUX_V_4_12 is not set
# CT_LINUX_V_4_11 is not set
# CT_LINUX_V_4_10 is not set
# CT_LINUX_V_4_9 is not set
# CT_LINUX_V_4_4 is not set
# CT_LINUX_V_4_1 is not set
# CT_LINUX_V_3_18 is not set
# CT_LINUX_V_3_16 is not set
CT_LINUX_V_3_13=y
# CT_LINUX_V_3_12 is not set
# CT_LINUX_V_3_10 is not set
# CT_LINUX_V_3_4 is not set
# CT_LINUX_V_3_2 is not set
# CT_LINUX_V_2_6_32 is not set
CT_LINUX_VERSION="3.13.11"
CT_LINUX_MIRRORS="$(CT_Mirrors kernel.org linux ${CT_LINUX_VERSION})"
CT_LINUX_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_LINUX_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_LINUX_ARCHIVE_FORMATS=".tar.xz .tar.gz"
CT_LINUX_SIGNATURE_FORMAT="unpacked/.sign"
CT_LINUX_5_12_or_older=y
CT_LINUX_older_than_5_12=y
CT_LINUX_5_3_or_older=y
CT_LINUX_older_than_5_3=y
CT_LINUX_REQUIRE_older_than_5_3=y
CT_LINUX_4_8_or_older=y
CT_LINUX_older_than_4_8=y
CT_LINUX_later_than_3_7=y
CT_LINUX_3_7_or_later=y
CT_LINUX_later_than_3_2=y
CT_LINUX_3_2_or_later=y
CT_KERNEL_DEP_RSYNC=y
#
# Linux >=5.3 requires rsync
#
CT_KERNEL_LINUX_VERBOSITY_0=y
# CT_KERNEL_LINUX_VERBOSITY_1 is not set
# CT_KERNEL_LINUX_VERBOSITY_2 is not set
CT_KERNEL_LINUX_VERBOSE_LEVEL=0
# CT_KERNEL_LINUX_INSTALL_CHECK is not set
CT_ALL_KERNEL_CHOICES="BARE_METAL LINUX WINDOWS"
#
# Common kernel options
#
CT_SHARED_LIBS=y
# end of Operating System
#
# Binary utilities
#
CT_ARCH_BINFMT_ELF=y
CT_BINUTILS_BINUTILS=y
CT_BINUTILS="binutils"
CT_BINUTILS_CHOICE_KSYM="BINUTILS"
CT_BINUTILS_BINUTILS_SHOW=y
#
# Options for binutils
#
CT_BINUTILS_BINUTILS_PKG_KSYM="BINUTILS"
CT_BINUTILS_DIR_NAME="binutils"
CT_BINUTILS_USE_GNU=y
# CT_BINUTILS_USE_ORACLE is not set
CT_BINUTILS_USE="BINUTILS"
CT_BINUTILS_PKG_NAME="binutils"
CT_BINUTILS_SRC_RELEASE=y
# CT_BINUTILS_SRC_DEVEL is not set
CT_BINUTILS_PATCH_ORDER="global"
# CT_BINUTILS_V_2_38 is not set
CT_BINUTILS_V_2_37=y
# CT_BINUTILS_V_2_36 is not set
# CT_BINUTILS_V_2_35 is not set
# CT_BINUTILS_V_2_34 is not set
# CT_BINUTILS_V_2_33 is not set
# CT_BINUTILS_V_2_32 is not set
# CT_BINUTILS_V_2_31 is not set
# CT_BINUTILS_V_2_30 is not set
# CT_BINUTILS_V_2_29 is not set
# CT_BINUTILS_V_2_28 is not set
# CT_BINUTILS_V_2_27 is not set
# CT_BINUTILS_V_2_26 is not set
CT_BINUTILS_VERSION="2.37"
CT_BINUTILS_MIRRORS="$(CT_Mirrors GNU binutils) $(CT_Mirrors sourceware binutils/releases)"
CT_BINUTILS_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_BINUTILS_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_BINUTILS_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz"
CT_BINUTILS_SIGNATURE_FORMAT="packed/.sig"
CT_BINUTILS_later_than_2_30=y
CT_BINUTILS_2_30_or_later=y
CT_BINUTILS_later_than_2_27=y
CT_BINUTILS_2_27_or_later=y
CT_BINUTILS_later_than_2_26=y
CT_BINUTILS_2_26_or_later=y
#
# GNU binutils
#
CT_BINUTILS_GOLD_SUPPORTS_ARCH=y
CT_BINUTILS_GOLD_SUPPORT=y
CT_BINUTILS_FORCE_LD_BFD_DEFAULT=y
CT_BINUTILS_LINKER_LD=y
# CT_BINUTILS_LINKER_LD_GOLD is not set
CT_BINUTILS_LINKERS_LIST="ld"
CT_BINUTILS_LINKER_DEFAULT="bfd"
# CT_BINUTILS_PLUGINS is not set
CT_BINUTILS_RELRO=m
CT_BINUTILS_DETERMINISTIC_ARCHIVES=y
CT_BINUTILS_EXTRA_CONFIG_ARRAY=""
# CT_BINUTILS_FOR_TARGET is not set
CT_ALL_BINUTILS_CHOICES="BINUTILS"
# end of Binary utilities
#
# C-library
#
CT_LIBC_GLIBC=y
# CT_LIBC_UCLIBC_NG is not set
CT_LIBC="glibc"
CT_LIBC_CHOICE_KSYM="GLIBC"
CT_THREADS="nptl"
CT_LIBC_GLIBC_SHOW=y
#
# Options for glibc
#
CT_LIBC_GLIBC_PKG_KSYM="GLIBC"
CT_GLIBC_DIR_NAME="glibc"
CT_GLIBC_USE_GNU=y
# CT_GLIBC_USE_ORACLE is not set
CT_GLIBC_USE="GLIBC"
CT_GLIBC_PKG_NAME="glibc"
CT_GLIBC_SRC_RELEASE=y
# CT_GLIBC_SRC_DEVEL is not set
CT_GLIBC_PATCH_ORDER="global"
# CT_GLIBC_V_2_35 is not set
# CT_GLIBC_V_2_34 is not set
# CT_GLIBC_V_2_33 is not set
# CT_GLIBC_V_2_32 is not set
# CT_GLIBC_V_2_31 is not set
# CT_GLIBC_V_2_30 is not set
# CT_GLIBC_V_2_29 is not set
# CT_GLIBC_V_2_28 is not set
# CT_GLIBC_V_2_27 is not set
# CT_GLIBC_V_2_26 is not set
# CT_GLIBC_V_2_25 is not set
# CT_GLIBC_V_2_24 is not set
# CT_GLIBC_V_2_23 is not set
# CT_GLIBC_V_2_19 is not set
CT_GLIBC_V_2_17=y
# CT_GLIBC_V_2_12_1 is not set
CT_GLIBC_VERSION="2.17"
CT_GLIBC_MIRRORS="$(CT_Mirrors GNU glibc)"
CT_GLIBC_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_GLIBC_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_GLIBC_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz"
CT_GLIBC_SIGNATURE_FORMAT="packed/.sig"
CT_GLIBC_2_34_or_older=y
CT_GLIBC_older_than_2_34=y
CT_GLIBC_2_32_or_older=y
CT_GLIBC_older_than_2_32=y
CT_GLIBC_2_31_or_older=y
CT_GLIBC_older_than_2_31=y
CT_GLIBC_2_30_or_older=y
CT_GLIBC_older_than_2_30=y
CT_GLIBC_2_29_or_older=y
CT_GLIBC_older_than_2_29=y
CT_GLIBC_2_28_or_older=y
CT_GLIBC_older_than_2_28=y
CT_GLIBC_2_27_or_older=y
CT_GLIBC_older_than_2_27=y
CT_GLIBC_2_26_or_older=y
CT_GLIBC_older_than_2_26=y
CT_GLIBC_2_25_or_older=y
CT_GLIBC_older_than_2_25=y
CT_GLIBC_2_24_or_older=y
CT_GLIBC_older_than_2_24=y
CT_GLIBC_2_23_or_older=y
CT_GLIBC_older_than_2_23=y
CT_GLIBC_2_20_or_older=y
CT_GLIBC_older_than_2_20=y
CT_GLIBC_2_17_or_later=y
CT_GLIBC_2_17_or_older=y
CT_GLIBC_later_than_2_14=y
CT_GLIBC_2_14_or_later=y
CT_GLIBC_DEP_KERNEL_HEADERS_VERSION=y
CT_GLIBC_DEP_BINUTILS=y
CT_GLIBC_DEP_GCC=y
CT_GLIBC_DEP_PYTHON=y
CT_GLIBC_SPARC_ALLOW_V7=y
CT_GLIBC_HAS_NPTL_ADDON=y
CT_GLIBC_HAS_PORTS_ADDON=y
CT_GLIBC_HAS_LIBIDN_ADDON=y
CT_GLIBC_USE_NPTL_ADDON=y
# CT_GLIBC_USE_LIBIDN_ADDON is not set
CT_GLIBC_HAS_OBSOLETE_RPC=y
CT_GLIBC_EXTRA_CONFIG_ARRAY=""
CT_GLIBC_CONFIGPARMS=""
CT_GLIBC_EXTRA_CFLAGS="-Wno-missing-attributes -Wno-array-bounds -Wno-array-parameter -Wno-stringop-overflow -Wno-maybe-uninitialized"
CT_GLIBC_ENABLE_OBSOLETE_RPC=y
# CT_GLIBC_DISABLE_VERSIONING is not set
CT_GLIBC_OLDEST_ABI=""
CT_GLIBC_FORCE_UNWIND=y
# CT_GLIBC_LOCALES is not set
# CT_GLIBC_KERNEL_VERSION_NONE is not set
CT_GLIBC_KERNEL_VERSION_AS_HEADERS=y
# CT_GLIBC_KERNEL_VERSION_CHOSEN is not set
CT_GLIBC_MIN_KERNEL="3.13.11"
CT_GLIBC_ENABLE_COMMON_FLAG=y
CT_ALL_LIBC_CHOICES="AVR_LIBC BIONIC GLIBC MINGW_W64 MOXIEBOX MUSL NEWLIB NONE UCLIBC_NG"
CT_LIBC_SUPPORT_THREADS_ANY=y
CT_LIBC_SUPPORT_THREADS_NATIVE=y
#
# Common C library options
#
CT_THREADS_NATIVE=y
# CT_CREATE_LDSO_CONF is not set
CT_LIBC_XLDD=y
# end of C-library
#
# C compiler
#
CT_CC_CORE_NEEDED=y
CT_CC_SUPPORT_CXX=y
CT_CC_SUPPORT_FORTRAN=y
CT_CC_SUPPORT_ADA=y
CT_CC_SUPPORT_OBJC=y
CT_CC_SUPPORT_OBJCXX=y
CT_CC_SUPPORT_GOLANG=y
CT_CC_GCC=y
CT_CC="gcc"
CT_CC_CHOICE_KSYM="GCC"
CT_CC_GCC_SHOW=y
#
# Options for gcc
#
CT_CC_GCC_PKG_KSYM="GCC"
CT_GCC_DIR_NAME="gcc"
CT_GCC_USE_GNU=y
CT_GCC_USE="GCC"
CT_GCC_PKG_NAME="gcc"
CT_GCC_SRC_RELEASE=y
# CT_GCC_SRC_DEVEL is not set
CT_GCC_PATCH_ORDER="global"
# CT_GCC_V_11 is not set
CT_GCC_V_10=y
# CT_GCC_V_9 is not set
# CT_GCC_V_8 is not set
# CT_GCC_V_7 is not set
# CT_GCC_V_6 is not set
# CT_GCC_V_5 is not set
# CT_GCC_V_4_9 is not set
CT_GCC_VERSION="10.3.0"
CT_GCC_MIRRORS="$(CT_Mirrors GNU gcc/gcc-${CT_GCC_VERSION}) $(CT_Mirrors sourceware gcc/releases/gcc-${CT_GCC_VERSION})"
CT_GCC_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_GCC_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_GCC_ARCHIVE_FORMATS=".tar.xz .tar.gz"
CT_GCC_SIGNATURE_FORMAT=""
CT_GCC_11_or_older=y
CT_GCC_older_than_11=y
CT_GCC_later_than_10=y
CT_GCC_10_or_later=y
CT_GCC_later_than_9=y
CT_GCC_9_or_later=y
CT_GCC_later_than_8=y
CT_GCC_8_or_later=y
CT_GCC_later_than_7=y
CT_GCC_7_or_later=y
CT_GCC_later_than_6=y
CT_GCC_6_or_later=y
CT_GCC_later_than_5=y
CT_GCC_5_or_later=y
CT_GCC_later_than_4_9=y
CT_GCC_4_9_or_later=y
CT_CC_GCC_HAS_LIBMPX=y
CT_CC_GCC_ENABLE_CXX_FLAGS=""
CT_CC_GCC_CORE_EXTRA_CONFIG_ARRAY=""
CT_CC_GCC_EXTRA_CONFIG_ARRAY=""
CT_CC_GCC_STATIC_LIBSTDCXX=y
# CT_CC_GCC_SYSTEM_ZLIB is not set
CT_CC_GCC_CONFIG_TLS=m
#
# Optimisation features
#
CT_CC_GCC_USE_GRAPHITE=y
CT_CC_GCC_USE_LTO=y
CT_CC_GCC_LTO_ZSTD=m
#
# Settings for libraries running on target
#
CT_CC_GCC_ENABLE_TARGET_OPTSPACE=y
# CT_CC_GCC_LIBMUDFLAP is not set
# CT_CC_GCC_LIBGOMP is not set
# CT_CC_GCC_LIBSSP is not set
# CT_CC_GCC_LIBQUADMATH is not set
# CT_CC_GCC_LIBSANITIZER is not set
CT_CC_GCC_LIBMPX=y
#
# Misc. obscure options.
#
CT_CC_CXA_ATEXIT=y
CT_CC_GCC_TM_CLONE_REGISTRY=m
# CT_CC_GCC_DISABLE_PCH is not set
CT_CC_GCC_SJLJ_EXCEPTIONS=m
CT_CC_GCC_LDBL_128=m
# CT_CC_GCC_BUILD_ID is not set
CT_CC_GCC_LNK_HASH_STYLE_DEFAULT=y
# CT_CC_GCC_LNK_HASH_STYLE_SYSV is not set
# CT_CC_GCC_LNK_HASH_STYLE_GNU is not set
# CT_CC_GCC_LNK_HASH_STYLE_BOTH is not set
CT_CC_GCC_LNK_HASH_STYLE=""
CT_CC_GCC_DEC_FLOATS_AUTO=y
# CT_CC_GCC_DEC_FLOATS_BID is not set
# CT_CC_GCC_DEC_FLOATS_DPD is not set
# CT_CC_GCC_DEC_FLOATS_NO is not set
CT_CC_GCC_DEC_FLOATS=""
CT_ALL_CC_CHOICES="GCC"
#
# Additional supported languages:
#
CT_CC_LANG_CXX=y
# CT_CC_LANG_FORTRAN is not set
# end of C compiler
#
# Debug facilities
#
# CT_DEBUG_DUMA is not set
CT_DEBUG_GDB=y
CT_DEBUG_GDB_PKG_KSYM="GDB"
CT_GDB_DIR_NAME="gdb"
CT_GDB_PKG_NAME="gdb"
CT_GDB_SRC_RELEASE=y
# CT_GDB_SRC_DEVEL is not set
CT_GDB_PATCH_ORDER="global"
CT_GDB_V_11=y
# CT_GDB_V_10 is not set
# CT_GDB_V_9 is not set
# CT_GDB_V_8_3 is not set
# CT_GDB_V_8_2 is not set
# CT_GDB_V_8_1 is not set
# CT_GDB_V_8_0 is not set
# CT_GDB_V_7_12 is not set
# CT_GDB_V_7_11 is not set
CT_GDB_VERSION="11.2"
CT_GDB_MIRRORS="$(CT_Mirrors GNU gdb) $(CT_Mirrors sourceware gdb/releases)"
CT_GDB_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_GDB_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_GDB_ARCHIVE_FORMATS=".tar.xz .tar.gz"
CT_GDB_SIGNATURE_FORMAT=""
CT_GDB_later_than_11=y
CT_GDB_11_or_later=y
CT_GDB_later_than_10=y
CT_GDB_10_or_later=y
CT_GDB_later_than_8_3=y
CT_GDB_8_3_or_later=y
CT_GDB_later_than_8_0=y
CT_GDB_8_0_or_later=y
CT_GDB_later_than_7_12=y
CT_GDB_7_12_or_later=y
CT_GDB_later_than_7_11=y
CT_GDB_7_11_or_later=y
CT_GDB_CROSS=y
# CT_GDB_CROSS_STATIC is not set
# CT_GDB_CROSS_SIM is not set
CT_GDB_CROSS_PYTHON=y
CT_GDB_CROSS_PYTHON_BINARY=""
CT_GDB_CROSS_EXTRA_CONFIG_ARRAY=""
# CT_GDB_NATIVE is not set
CT_GDB_GDBSERVER=y
# CT_GDB_NATIVE_BUILD_IPA_LIB is not set
# CT_GDB_NATIVE_STATIC_LIBSTDCXX is not set
CT_GDB_GDBSERVER_TOPLEVEL=y
# CT_DEBUG_LTRACE is not set
# CT_DEBUG_STRACE is not set
CT_ALL_DEBUG_CHOICES="DUMA GDB LTRACE STRACE"
# end of Debug facilities
#
# Companion libraries
#
# CT_COMPLIBS_CHECK is not set
# CT_COMP_LIBS_CLOOG is not set
CT_COMP_LIBS_EXPAT=y
CT_COMP_LIBS_EXPAT_PKG_KSYM="EXPAT"
CT_EXPAT_DIR_NAME="expat"
CT_EXPAT_PKG_NAME="expat"
CT_EXPAT_SRC_RELEASE=y
# CT_EXPAT_SRC_DEVEL is not set
CT_EXPAT_PATCH_ORDER="global"
CT_EXPAT_V_2_4=y
CT_EXPAT_VERSION="2.4.1"
CT_EXPAT_MIRRORS="http://downloads.sourceforge.net/project/expat/expat/${CT_EXPAT_VERSION} https://github.com/libexpat/libexpat/releases/download/R_${CT_EXPAT_VERSION//./_}"
CT_EXPAT_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_EXPAT_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_EXPAT_ARCHIVE_FORMATS=".tar.xz .tar.lz .tar.bz2 .tar.gz"
CT_EXPAT_SIGNATURE_FORMAT=""
CT_COMP_LIBS_GETTEXT=y
CT_COMP_LIBS_GETTEXT_PKG_KSYM="GETTEXT"
CT_GETTEXT_DIR_NAME="gettext"
CT_GETTEXT_PKG_NAME="gettext"
CT_GETTEXT_SRC_RELEASE=y
# CT_GETTEXT_SRC_DEVEL is not set
CT_GETTEXT_PATCH_ORDER="global"
CT_GETTEXT_V_0_21=y
# CT_GETTEXT_V_0_20_1 is not set
# CT_GETTEXT_V_0_19_8_1 is not set
CT_GETTEXT_VERSION="0.21"
CT_GETTEXT_MIRRORS="$(CT_Mirrors GNU gettext)"
CT_GETTEXT_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_GETTEXT_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_GETTEXT_ARCHIVE_FORMATS=".tar.xz .tar.gz"
CT_GETTEXT_SIGNATURE_FORMAT="packed/.sig"
CT_GETTEXT_0_21_or_later=y
CT_GETTEXT_0_21_or_older=y
CT_GETTEXT_INCOMPATIBLE_WITH_UCLIBC_NG=y
#
# This version of gettext is not compatible with uClibc-NG. Select
#
#
# a different version if uClibc-NG is used on the target or (in a
#
#
# Canadian cross build) on the host.
#
CT_COMP_LIBS_GMP=y
CT_COMP_LIBS_GMP_PKG_KSYM="GMP"
CT_GMP_DIR_NAME="gmp"
CT_GMP_PKG_NAME="gmp"
CT_GMP_SRC_RELEASE=y
# CT_GMP_SRC_DEVEL is not set
CT_GMP_PATCH_ORDER="global"
CT_GMP_V_6_2=y
# CT_GMP_V_6_1 is not set
CT_GMP_VERSION="6.2.1"
CT_GMP_MIRRORS="https://gmplib.org/download/gmp https://gmplib.org/download/gmp/archive $(CT_Mirrors GNU gmp)"
CT_GMP_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_GMP_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_GMP_ARCHIVE_FORMATS=".tar.xz .tar.lz .tar.bz2"
CT_GMP_SIGNATURE_FORMAT="packed/.sig"
CT_COMP_LIBS_ISL=y
CT_COMP_LIBS_ISL_PKG_KSYM="ISL"
CT_ISL_DIR_NAME="isl"
CT_ISL_PKG_NAME="isl"
CT_ISL_SRC_RELEASE=y
# CT_ISL_SRC_DEVEL is not set
CT_ISL_PATCH_ORDER="global"
CT_ISL_V_0_24=y
# CT_ISL_V_0_23 is not set
# CT_ISL_V_0_22 is not set
# CT_ISL_V_0_21 is not set
# CT_ISL_V_0_20 is not set
# CT_ISL_V_0_19 is not set
# CT_ISL_V_0_18 is not set
# CT_ISL_V_0_17 is not set
# CT_ISL_V_0_16 is not set
# CT_ISL_V_0_15 is not set
CT_ISL_VERSION="0.24"
CT_ISL_MIRRORS="https://libisl.sourceforge.io"
CT_ISL_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_ISL_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_ISL_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz"
CT_ISL_SIGNATURE_FORMAT=""
CT_ISL_later_than_0_18=y
CT_ISL_0_18_or_later=y
CT_ISL_later_than_0_15=y
CT_ISL_0_15_or_later=y
# CT_COMP_LIBS_LIBELF is not set
CT_COMP_LIBS_LIBICONV=y
CT_COMP_LIBS_LIBICONV_PKG_KSYM="LIBICONV"
CT_LIBICONV_DIR_NAME="libiconv"
CT_LIBICONV_PKG_NAME="libiconv"
CT_LIBICONV_SRC_RELEASE=y
# CT_LIBICONV_SRC_DEVEL is not set
CT_LIBICONV_PATCH_ORDER="global"
CT_LIBICONV_V_1_16=y
# CT_LIBICONV_V_1_15 is not set
CT_LIBICONV_VERSION="1.16"
CT_LIBICONV_MIRRORS="$(CT_Mirrors GNU libiconv)"
CT_LIBICONV_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_LIBICONV_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_LIBICONV_ARCHIVE_FORMATS=".tar.gz"
CT_LIBICONV_SIGNATURE_FORMAT="packed/.sig"
CT_COMP_LIBS_MPC=y
CT_COMP_LIBS_MPC_PKG_KSYM="MPC"
CT_MPC_DIR_NAME="mpc"
CT_MPC_PKG_NAME="mpc"
CT_MPC_SRC_RELEASE=y
# CT_MPC_SRC_DEVEL is not set
CT_MPC_PATCH_ORDER="global"
CT_MPC_V_1_2=y
# CT_MPC_V_1_1 is not set
# CT_MPC_V_1_0 is not set
CT_MPC_VERSION="1.2.1"
CT_MPC_MIRRORS="http://www.multiprecision.org/downloads $(CT_Mirrors GNU mpc)"
CT_MPC_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_MPC_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_MPC_ARCHIVE_FORMATS=".tar.gz"
CT_MPC_SIGNATURE_FORMAT="packed/.sig"
CT_MPC_later_than_1_1_0=y
CT_MPC_1_1_0_or_later=y
CT_COMP_LIBS_MPFR=y
CT_COMP_LIBS_MPFR_PKG_KSYM="MPFR"
CT_MPFR_DIR_NAME="mpfr"
CT_MPFR_PKG_NAME="mpfr"
CT_MPFR_SRC_RELEASE=y
# CT_MPFR_SRC_DEVEL is not set
CT_MPFR_PATCH_ORDER="global"
CT_MPFR_V_4_1=y
# CT_MPFR_V_4_0 is not set
# CT_MPFR_V_3_1 is not set
CT_MPFR_VERSION="4.1.0"
CT_MPFR_MIRRORS="http://www.mpfr.org/mpfr-${CT_MPFR_VERSION} $(CT_Mirrors GNU mpfr)"
CT_MPFR_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_MPFR_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_MPFR_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz .zip"
CT_MPFR_SIGNATURE_FORMAT="packed/.asc"
CT_MPFR_later_than_4_0_0=y
CT_MPFR_4_0_0_or_later=y
CT_COMP_LIBS_NCURSES=y
CT_COMP_LIBS_NCURSES_PKG_KSYM="NCURSES"
CT_NCURSES_DIR_NAME="ncurses"
CT_NCURSES_PKG_NAME="ncurses"
CT_NCURSES_SRC_RELEASE=y
# CT_NCURSES_SRC_DEVEL is not set
CT_NCURSES_PATCH_ORDER="global"
CT_NCURSES_V_6_2=y
# CT_NCURSES_V_6_1 is not set
# CT_NCURSES_V_6_0 is not set
CT_NCURSES_VERSION="6.2"
CT_NCURSES_MIRRORS="https://invisible-mirror.net/archives/ncurses $(CT_Mirrors GNU ncurses)"
CT_NCURSES_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_NCURSES_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_NCURSES_ARCHIVE_FORMATS=".tar.gz"
CT_NCURSES_SIGNATURE_FORMAT="packed/.sig"
CT_NCURSES_NEW_ABI=y
CT_NCURSES_HOST_CONFIG_ARGS=""
CT_NCURSES_HOST_DISABLE_DB=y
CT_NCURSES_HOST_FALLBACKS="linux,xterm,xterm-color,xterm-256color,vt100"
CT_NCURSES_TARGET_CONFIG_ARGS=""
# CT_NCURSES_TARGET_DISABLE_DB is not set
CT_NCURSES_TARGET_FALLBACKS=""
CT_COMP_LIBS_ZLIB=y
CT_COMP_LIBS_ZLIB_PKG_KSYM="ZLIB"
CT_ZLIB_DIR_NAME="zlib"
CT_ZLIB_PKG_NAME="zlib"
CT_ZLIB_SRC_RELEASE=y
# CT_ZLIB_SRC_DEVEL is not set
CT_ZLIB_PATCH_ORDER="global"
CT_ZLIB_V_1_2_13=y
CT_ZLIB_VERSION="1.2.13"
CT_ZLIB_MIRRORS="http://downloads.sourceforge.net/project/libpng/zlib/${CT_ZLIB_VERSION} https://www.zlib.net/"
CT_ZLIB_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_ZLIB_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_ZLIB_ARCHIVE_FORMATS=".tar.xz .tar.gz"
CT_ZLIB_SIGNATURE_FORMAT="packed/.asc"
CT_ALL_COMP_LIBS_CHOICES="CLOOG EXPAT GETTEXT GMP GNUPRUMCU ISL LIBELF LIBICONV MPC MPFR NCURSES NEWLIB_NANO PICOLIBC ZLIB"
CT_LIBICONV_NEEDED=y
CT_GETTEXT_NEEDED=y
CT_GMP_NEEDED=y
CT_MPFR_NEEDED=y
CT_ISL_NEEDED=y
CT_MPC_NEEDED=y
CT_EXPAT_NEEDED=y
CT_NCURSES_NEEDED=y
CT_ZLIB_NEEDED=y
CT_LIBICONV=y
CT_GETTEXT=y
CT_GMP=y
CT_MPFR=y
CT_ISL=y
CT_MPC=y
CT_EXPAT=y
CT_NCURSES=y
CT_ZLIB=y
# end of Companion libraries
#
# Companion tools
#
CT_COMP_TOOLS_FOR_HOST=y
CT_COMP_TOOLS_AUTOCONF=y
CT_COMP_TOOLS_AUTOCONF_PKG_KSYM="AUTOCONF"
CT_AUTOCONF_DIR_NAME="autoconf"
CT_AUTOCONF_PKG_NAME="autoconf"
CT_AUTOCONF_SRC_RELEASE=y
# CT_AUTOCONF_SRC_DEVEL is not set
CT_AUTOCONF_PATCH_ORDER="global"
CT_AUTOCONF_V_2_71=y
# CT_AUTOCONF_V_2_69 is not set
# CT_AUTOCONF_V_2_65 is not set
CT_AUTOCONF_VERSION="2.71"
CT_AUTOCONF_MIRRORS="$(CT_Mirrors GNU autoconf)"
CT_AUTOCONF_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_AUTOCONF_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_AUTOCONF_ARCHIVE_FORMATS=".tar.xz .tar.gz"
CT_AUTOCONF_SIGNATURE_FORMAT="packed/.sig"
CT_COMP_TOOLS_AUTOMAKE=y
CT_COMP_TOOLS_AUTOMAKE_PKG_KSYM="AUTOMAKE"
CT_AUTOMAKE_DIR_NAME="automake"
CT_AUTOMAKE_PKG_NAME="automake"
CT_AUTOMAKE_SRC_RELEASE=y
# CT_AUTOMAKE_SRC_DEVEL is not set
CT_AUTOMAKE_PATCH_ORDER="global"
CT_AUTOMAKE_V_1_16=y
# CT_AUTOMAKE_V_1_15 is not set
CT_AUTOMAKE_VERSION="1.16.1"
CT_AUTOMAKE_MIRRORS="$(CT_Mirrors GNU automake)"
CT_AUTOMAKE_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_AUTOMAKE_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_AUTOMAKE_ARCHIVE_FORMATS=".tar.xz .tar.gz"
CT_AUTOMAKE_SIGNATURE_FORMAT="packed/.sig"
# CT_COMP_TOOLS_BISON is not set
# CT_COMP_TOOLS_DTC is not set
# CT_COMP_TOOLS_LIBTOOL is not set
CT_COMP_TOOLS_M4=y
CT_COMP_TOOLS_M4_PKG_KSYM="M4"
CT_M4_DIR_NAME="m4"
CT_M4_PKG_NAME="m4"
CT_M4_SRC_RELEASE=y
# CT_M4_SRC_DEVEL is not set
CT_M4_PATCH_ORDER="global"
CT_M4_V_1_4=y
CT_M4_VERSION="1.4.19"
CT_M4_MIRRORS="$(CT_Mirrors GNU m4)"
CT_M4_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_M4_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_M4_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz"
CT_M4_SIGNATURE_FORMAT="packed/.sig"
CT_COMP_TOOLS_MAKE=y
CT_COMP_TOOLS_MAKE_PKG_KSYM="MAKE"
CT_MAKE_DIR_NAME="make"
CT_MAKE_PKG_NAME="make"
CT_MAKE_SRC_RELEASE=y
# CT_MAKE_SRC_DEVEL is not set
CT_MAKE_PATCH_ORDER="global"
CT_MAKE_V_4_3=y
# CT_MAKE_V_4_2 is not set
CT_MAKE_VERSION="4.3"
CT_MAKE_MIRRORS="$(CT_Mirrors GNU make)"
CT_MAKE_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_MAKE_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_MAKE_ARCHIVE_FORMATS=".tar.lz .tar.gz"
CT_MAKE_SIGNATURE_FORMAT="packed/.sig"
# CT_MAKE_GMAKE_SYMLINK is not set
# CT_MAKE_GNUMAKE_SYMLINK is not set
CT_ALL_COMP_TOOLS_CHOICES="AUTOCONF AUTOMAKE BISON DTC LIBTOOL M4 MAKE"
# end of Companion tools

View File

@ -0,0 +1,915 @@
#
# Automatically generated file; DO NOT EDIT.
# crosstool-NG 1.25.0 Configuration
#
CT_CONFIGURE_has_static_link=y
CT_CONFIGURE_has_cxx11=y
CT_CONFIGURE_has_wget=y
CT_CONFIGURE_has_curl=y
CT_CONFIGURE_has_make_3_81_or_newer=y
CT_CONFIGURE_has_make_4_0_or_newer=y
CT_CONFIGURE_has_libtool_2_4_or_newer=y
CT_CONFIGURE_has_libtoolize_2_4_or_newer=y
CT_CONFIGURE_has_autoconf_2_65_or_newer=y
CT_CONFIGURE_has_autoreconf_2_65_or_newer=y
CT_CONFIGURE_has_automake_1_15_or_newer=y
CT_CONFIGURE_has_gnu_m4_1_4_12_or_newer=y
CT_CONFIGURE_has_python_3_4_or_newer=y
CT_CONFIGURE_has_bison_2_7_or_newer=y
CT_CONFIGURE_has_python=y
CT_CONFIGURE_has_git=y
CT_CONFIGURE_has_md5sum=y
CT_CONFIGURE_has_sha1sum=y
CT_CONFIGURE_has_sha256sum=y
CT_CONFIGURE_has_sha512sum=y
CT_CONFIGURE_has_install_with_strip_program=y
CT_VERSION="1.25.0"
CT_VCHECK=""
CT_CONFIG_VERSION_ENV="4"
CT_CONFIG_VERSION_CURRENT="4"
CT_CONFIG_VERSION="4"
CT_MODULES=y
#
# Paths and misc options
#
#
# crosstool-NG behavior
#
CT_OBSOLETE=y
# CT_EXPERIMENTAL is not set
# CT_DEBUG_CT is not set
#
# Paths
#
CT_LOCAL_TARBALLS_DIR="${HOME}/src"
CT_SAVE_TARBALLS=y
# CT_TARBALLS_BUILDROOT_LAYOUT is not set
CT_WORK_DIR="${CT_TOP_DIR}/.build"
CT_BUILD_TOP_DIR="${CT_WORK_DIR:-${CT_TOP_DIR}/.build}/${CT_HOST:+HOST-${CT_HOST}/}${CT_TARGET}"
CT_BUILD_DIR="${CT_BUILD_TOP_DIR}/build"
CT_PREFIX_DIR="${CT_PREFIX:-${HOME}/x-tools}/${CT_HOST:+HOST-${CT_HOST}/}${CT_TARGET}"
CT_RM_RF_PREFIX_DIR=y
CT_REMOVE_DOCS=y
# CT_INSTALL_LICENSES is not set
# CT_PREFIX_DIR_RO is not set
CT_STRIP_HOST_TOOLCHAIN_EXECUTABLES=y
# CT_STRIP_TARGET_TOOLCHAIN_EXECUTABLES is not set
#
# Downloading
#
CT_DOWNLOAD_AGENT_WGET=y
# CT_DOWNLOAD_AGENT_CURL is not set
# CT_DOWNLOAD_AGENT_NONE is not set
# CT_FORBID_DOWNLOAD is not set
# CT_FORCE_DOWNLOAD is not set
CT_CONNECT_TIMEOUT=10
CT_DOWNLOAD_WGET_OPTIONS="--passive-ftp --tries=3 -nc --progress=dot:binary"
# CT_ONLY_DOWNLOAD is not set
# CT_USE_MIRROR is not set
CT_VERIFY_DOWNLOAD_DIGEST=y
CT_VERIFY_DOWNLOAD_DIGEST_SHA512=y
# CT_VERIFY_DOWNLOAD_DIGEST_SHA256 is not set
# CT_VERIFY_DOWNLOAD_DIGEST_SHA1 is not set
# CT_VERIFY_DOWNLOAD_DIGEST_MD5 is not set
CT_VERIFY_DOWNLOAD_DIGEST_ALG="sha512"
# CT_VERIFY_DOWNLOAD_SIGNATURE is not set
#
# Extracting
#
# CT_FORCE_EXTRACT is not set
CT_OVERRIDE_CONFIG_GUESS_SUB=y
# CT_ONLY_EXTRACT is not set
CT_PATCH_BUNDLED=y
# CT_PATCH_BUNDLED_LOCAL is not set
CT_PATCH_ORDER="bundled"
#
# Build behavior
#
CT_PARALLEL_JOBS=0
CT_LOAD=""
CT_USE_PIPES=y
CT_EXTRA_CFLAGS_FOR_BUILD=""
CT_EXTRA_CXXFLAGS_FOR_BUILD=""
CT_EXTRA_LDFLAGS_FOR_BUILD=""
CT_EXTRA_CFLAGS_FOR_HOST=""
CT_EXTRA_LDFLAGS_FOR_HOST=""
# CT_CONFIG_SHELL_SH is not set
# CT_CONFIG_SHELL_ASH is not set
CT_CONFIG_SHELL_BASH=y
# CT_CONFIG_SHELL_CUSTOM is not set
CT_CONFIG_SHELL="${bash}"
#
# Logging
#
# CT_LOG_ERROR is not set
# CT_LOG_WARN is not set
# CT_LOG_INFO is not set
CT_LOG_EXTRA=y
# CT_LOG_ALL is not set
# CT_LOG_DEBUG is not set
CT_LOG_LEVEL_MAX="EXTRA"
# CT_LOG_SEE_TOOLS_WARN is not set
CT_LOG_PROGRESS_BAR=y
CT_LOG_TO_FILE=y
CT_LOG_FILE_COMPRESS=y
# end of Paths and misc options
#
# Target options
#
# CT_ARCH_ALPHA is not set
# CT_ARCH_ARC is not set
# CT_ARCH_ARM is not set
# CT_ARCH_AVR is not set
# CT_ARCH_M68K is not set
# CT_ARCH_MIPS is not set
# CT_ARCH_NIOS2 is not set
# CT_ARCH_POWERPC is not set
# CT_ARCH_PRU is not set
# CT_ARCH_S390 is not set
# CT_ARCH_SH is not set
# CT_ARCH_SPARC is not set
CT_ARCH_X86=y
# CT_ARCH_XTENSA is not set
CT_ARCH="x86"
CT_ARCH_CHOICE_KSYM="X86"
CT_ARCH_CPU=""
CT_ARCH_TUNE=""
CT_ARCH_X86_SHOW=y
#
# Options for x86
#
CT_ARCH_X86_PKG_KSYM=""
CT_ALL_ARCH_CHOICES="ALPHA ARC ARM AVR C6X M68K MICROBLAZE MIPS MOXIE MSP430 NIOS2 POWERPC PRU RISCV S390 SH SPARC X86 XTENSA"
CT_ARCH_SUFFIX=""
# CT_OMIT_TARGET_VENDOR is not set
#
# Generic target options
#
# CT_MULTILIB is not set
CT_DEMULTILIB=y
CT_ARCH_USE_MMU=y
CT_ARCH_SUPPORTS_32=y
CT_ARCH_SUPPORTS_64=y
CT_ARCH_DEFAULT_32=y
CT_ARCH_BITNESS=32
CT_ARCH_32=y
# CT_ARCH_64 is not set
CT_ARCH_SUPPORTS_WITH_32_64=y
#
# Target optimisations
#
CT_ARCH_SUPPORTS_WITH_ARCH=y
CT_ARCH_SUPPORTS_WITH_CPU=y
CT_ARCH_SUPPORTS_WITH_TUNE=y
CT_ARCH_ARCH="i586"
CT_TARGET_CFLAGS=""
CT_TARGET_LDFLAGS=""
# end of Target options
#
# Toolchain options
#
#
# General toolchain options
#
CT_USE_SYSROOT=y
CT_SYSROOT_NAME="sysroot"
CT_SYSROOT_DIR_PREFIX=""
CT_WANTS_STATIC_LINK=y
CT_WANTS_STATIC_LINK_CXX=y
# CT_STATIC_TOOLCHAIN is not set
CT_SHOW_CT_VERSION=y
CT_TOOLCHAIN_PKGVERSION=""
CT_TOOLCHAIN_BUGURL=""
#
# Tuple completion and aliasing
#
CT_TARGET_VENDOR="pc"
CT_TARGET_ALIAS_SED_EXPR=""
CT_TARGET_ALIAS=""
#
# Toolchain type
#
CT_CROSS=y
# CT_CANADIAN is not set
CT_TOOLCHAIN_TYPE="cross"
#
# Build system
#
CT_BUILD=""
CT_BUILD_PREFIX=""
CT_BUILD_SUFFIX=""
#
# Misc options
#
# CT_TOOLCHAIN_ENABLE_NLS is not set
# end of Toolchain options
#
# Operating System
#
CT_KERNEL_SUPPORTS_SHARED_LIBS=y
# CT_KERNEL_BARE_METAL is not set
CT_KERNEL_LINUX=y
CT_KERNEL="linux"
CT_KERNEL_CHOICE_KSYM="LINUX"
CT_KERNEL_LINUX_SHOW=y
#
# Options for linux
#
CT_KERNEL_LINUX_PKG_KSYM="LINUX"
CT_LINUX_DIR_NAME="linux"
CT_LINUX_USE_WWW_KERNEL_ORG=y
# CT_LINUX_USE_ORACLE is not set
CT_LINUX_USE="LINUX"
CT_LINUX_PKG_NAME="linux"
CT_LINUX_SRC_RELEASE=y
# CT_LINUX_SRC_DEVEL is not set
CT_LINUX_PATCH_ORDER="global"
# CT_LINUX_V_5_2 is not set
# CT_LINUX_V_5_1 is not set
# CT_LINUX_V_5_0 is not set
# CT_LINUX_V_4_20 is not set
# CT_LINUX_V_4_19 is not set
# CT_LINUX_V_4_18 is not set
# CT_LINUX_V_4_17 is not set
# CT_LINUX_V_4_16 is not set
# CT_LINUX_V_4_15 is not set
# CT_LINUX_V_4_14 is not set
# CT_LINUX_V_4_13 is not set
# CT_LINUX_V_4_12 is not set
# CT_LINUX_V_4_11 is not set
# CT_LINUX_V_4_10 is not set
# CT_LINUX_V_4_9 is not set
# CT_LINUX_V_4_4 is not set
# CT_LINUX_V_4_1 is not set
# CT_LINUX_V_3_18 is not set
# CT_LINUX_V_3_16 is not set
CT_LINUX_V_3_13=y
# CT_LINUX_V_3_12 is not set
# CT_LINUX_V_3_10 is not set
# CT_LINUX_V_3_4 is not set
# CT_LINUX_V_3_2 is not set
# CT_LINUX_V_2_6_32 is not set
CT_LINUX_VERSION="3.13.11"
CT_LINUX_MIRRORS="$(CT_Mirrors kernel.org linux ${CT_LINUX_VERSION})"
CT_LINUX_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_LINUX_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_LINUX_ARCHIVE_FORMATS=".tar.xz .tar.gz"
CT_LINUX_SIGNATURE_FORMAT="unpacked/.sign"
CT_LINUX_5_12_or_older=y
CT_LINUX_older_than_5_12=y
CT_LINUX_5_3_or_older=y
CT_LINUX_older_than_5_3=y
CT_LINUX_REQUIRE_older_than_5_3=y
CT_LINUX_4_8_or_older=y
CT_LINUX_older_than_4_8=y
CT_LINUX_later_than_3_7=y
CT_LINUX_3_7_or_later=y
CT_LINUX_later_than_3_2=y
CT_LINUX_3_2_or_later=y
CT_KERNEL_DEP_RSYNC=y
#
# Linux >=5.3 requires rsync
#
CT_KERNEL_LINUX_VERBOSITY_0=y
# CT_KERNEL_LINUX_VERBOSITY_1 is not set
# CT_KERNEL_LINUX_VERBOSITY_2 is not set
CT_KERNEL_LINUX_VERBOSE_LEVEL=0
# CT_KERNEL_LINUX_INSTALL_CHECK is not set
CT_ALL_KERNEL_CHOICES="BARE_METAL LINUX WINDOWS"
#
# Common kernel options
#
CT_SHARED_LIBS=y
# end of Operating System
#
# Binary utilities
#
CT_ARCH_BINFMT_ELF=y
CT_BINUTILS_BINUTILS=y
CT_BINUTILS="binutils"
CT_BINUTILS_CHOICE_KSYM="BINUTILS"
CT_BINUTILS_BINUTILS_SHOW=y
#
# Options for binutils
#
CT_BINUTILS_BINUTILS_PKG_KSYM="BINUTILS"
CT_BINUTILS_DIR_NAME="binutils"
CT_BINUTILS_USE_GNU=y
# CT_BINUTILS_USE_ORACLE is not set
CT_BINUTILS_USE="BINUTILS"
CT_BINUTILS_PKG_NAME="binutils"
CT_BINUTILS_SRC_RELEASE=y
# CT_BINUTILS_SRC_DEVEL is not set
CT_BINUTILS_PATCH_ORDER="global"
# CT_BINUTILS_V_2_38 is not set
CT_BINUTILS_V_2_37=y
# CT_BINUTILS_V_2_36 is not set
# CT_BINUTILS_V_2_35 is not set
# CT_BINUTILS_V_2_34 is not set
# CT_BINUTILS_V_2_33 is not set
# CT_BINUTILS_V_2_32 is not set
# CT_BINUTILS_V_2_31 is not set
# CT_BINUTILS_V_2_30 is not set
# CT_BINUTILS_V_2_29 is not set
# CT_BINUTILS_V_2_28 is not set
# CT_BINUTILS_V_2_27 is not set
# CT_BINUTILS_V_2_26 is not set
CT_BINUTILS_VERSION="2.37"
CT_BINUTILS_MIRRORS="$(CT_Mirrors GNU binutils) $(CT_Mirrors sourceware binutils/releases)"
CT_BINUTILS_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_BINUTILS_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_BINUTILS_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz"
CT_BINUTILS_SIGNATURE_FORMAT="packed/.sig"
CT_BINUTILS_later_than_2_30=y
CT_BINUTILS_2_30_or_later=y
CT_BINUTILS_later_than_2_27=y
CT_BINUTILS_2_27_or_later=y
CT_BINUTILS_later_than_2_26=y
CT_BINUTILS_2_26_or_later=y
#
# GNU binutils
#
CT_BINUTILS_GOLD_SUPPORTS_ARCH=y
CT_BINUTILS_GOLD_SUPPORT=y
CT_BINUTILS_FORCE_LD_BFD_DEFAULT=y
CT_BINUTILS_LINKER_LD=y
# CT_BINUTILS_LINKER_LD_GOLD is not set
CT_BINUTILS_LINKERS_LIST="ld"
CT_BINUTILS_LINKER_DEFAULT="bfd"
# CT_BINUTILS_PLUGINS is not set
CT_BINUTILS_RELRO=m
CT_BINUTILS_DETERMINISTIC_ARCHIVES=y
CT_BINUTILS_EXTRA_CONFIG_ARRAY=""
# CT_BINUTILS_FOR_TARGET is not set
CT_ALL_BINUTILS_CHOICES="BINUTILS"
# end of Binary utilities
#
# C-library
#
CT_LIBC_GLIBC=y
# CT_LIBC_UCLIBC_NG is not set
CT_LIBC="glibc"
CT_LIBC_CHOICE_KSYM="GLIBC"
CT_THREADS="nptl"
CT_LIBC_GLIBC_SHOW=y
#
# Options for glibc
#
CT_LIBC_GLIBC_PKG_KSYM="GLIBC"
CT_GLIBC_DIR_NAME="glibc"
CT_GLIBC_USE_GNU=y
# CT_GLIBC_USE_ORACLE is not set
CT_GLIBC_USE="GLIBC"
CT_GLIBC_PKG_NAME="glibc"
CT_GLIBC_SRC_RELEASE=y
# CT_GLIBC_SRC_DEVEL is not set
CT_GLIBC_PATCH_ORDER="global"
# CT_GLIBC_V_2_35 is not set
# CT_GLIBC_V_2_34 is not set
# CT_GLIBC_V_2_33 is not set
# CT_GLIBC_V_2_32 is not set
# CT_GLIBC_V_2_31 is not set
# CT_GLIBC_V_2_30 is not set
# CT_GLIBC_V_2_29 is not set
# CT_GLIBC_V_2_28 is not set
# CT_GLIBC_V_2_27 is not set
# CT_GLIBC_V_2_26 is not set
# CT_GLIBC_V_2_25 is not set
# CT_GLIBC_V_2_24 is not set
# CT_GLIBC_V_2_23 is not set
# CT_GLIBC_V_2_19 is not set
CT_GLIBC_V_2_17=y
# CT_GLIBC_V_2_12_1 is not set
CT_GLIBC_VERSION="2.17"
CT_GLIBC_MIRRORS="$(CT_Mirrors GNU glibc)"
CT_GLIBC_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_GLIBC_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_GLIBC_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz"
CT_GLIBC_SIGNATURE_FORMAT="packed/.sig"
CT_GLIBC_2_34_or_older=y
CT_GLIBC_older_than_2_34=y
CT_GLIBC_2_32_or_older=y
CT_GLIBC_older_than_2_32=y
CT_GLIBC_2_31_or_older=y
CT_GLIBC_older_than_2_31=y
CT_GLIBC_2_30_or_older=y
CT_GLIBC_older_than_2_30=y
CT_GLIBC_2_29_or_older=y
CT_GLIBC_older_than_2_29=y
CT_GLIBC_2_28_or_older=y
CT_GLIBC_older_than_2_28=y
CT_GLIBC_2_27_or_older=y
CT_GLIBC_older_than_2_27=y
CT_GLIBC_2_26_or_older=y
CT_GLIBC_older_than_2_26=y
CT_GLIBC_2_25_or_older=y
CT_GLIBC_older_than_2_25=y
CT_GLIBC_2_24_or_older=y
CT_GLIBC_older_than_2_24=y
CT_GLIBC_2_23_or_older=y
CT_GLIBC_older_than_2_23=y
CT_GLIBC_2_20_or_older=y
CT_GLIBC_older_than_2_20=y
CT_GLIBC_2_17_or_later=y
CT_GLIBC_2_17_or_older=y
CT_GLIBC_later_than_2_14=y
CT_GLIBC_2_14_or_later=y
CT_GLIBC_DEP_KERNEL_HEADERS_VERSION=y
CT_GLIBC_DEP_BINUTILS=y
CT_GLIBC_DEP_GCC=y
CT_GLIBC_DEP_PYTHON=y
CT_GLIBC_SPARC_ALLOW_V7=y
CT_GLIBC_HAS_NPTL_ADDON=y
CT_GLIBC_HAS_PORTS_ADDON=y
CT_GLIBC_HAS_LIBIDN_ADDON=y
CT_GLIBC_USE_NPTL_ADDON=y
# CT_GLIBC_USE_LIBIDN_ADDON is not set
CT_GLIBC_HAS_OBSOLETE_RPC=y
CT_GLIBC_EXTRA_CONFIG_ARRAY=""
CT_GLIBC_CONFIGPARMS=""
CT_GLIBC_EXTRA_CFLAGS="-Wno-missing-attributes -Wno-array-bounds -Wno-array-parameter -Wno-stringop-overflow -Wno-maybe-uninitialized"
CT_GLIBC_ENABLE_OBSOLETE_RPC=y
# CT_GLIBC_DISABLE_VERSIONING is not set
CT_GLIBC_OLDEST_ABI=""
CT_GLIBC_FORCE_UNWIND=y
# CT_GLIBC_LOCALES is not set
# CT_GLIBC_KERNEL_VERSION_NONE is not set
CT_GLIBC_KERNEL_VERSION_AS_HEADERS=y
# CT_GLIBC_KERNEL_VERSION_CHOSEN is not set
CT_GLIBC_MIN_KERNEL="3.13.11"
CT_GLIBC_ENABLE_COMMON_FLAG=y
CT_ALL_LIBC_CHOICES="AVR_LIBC BIONIC GLIBC MINGW_W64 MOXIEBOX MUSL NEWLIB NONE UCLIBC_NG"
CT_LIBC_SUPPORT_THREADS_ANY=y
CT_LIBC_SUPPORT_THREADS_NATIVE=y
#
# Common C library options
#
CT_THREADS_NATIVE=y
# CT_CREATE_LDSO_CONF is not set
CT_LIBC_XLDD=y
# end of C-library
#
# C compiler
#
CT_CC_CORE_NEEDED=y
CT_CC_SUPPORT_CXX=y
CT_CC_SUPPORT_FORTRAN=y
CT_CC_SUPPORT_ADA=y
CT_CC_SUPPORT_OBJC=y
CT_CC_SUPPORT_OBJCXX=y
CT_CC_SUPPORT_GOLANG=y
CT_CC_GCC=y
CT_CC="gcc"
CT_CC_CHOICE_KSYM="GCC"
CT_CC_GCC_SHOW=y
#
# Options for gcc
#
CT_CC_GCC_PKG_KSYM="GCC"
CT_GCC_DIR_NAME="gcc"
CT_GCC_USE_GNU=y
CT_GCC_USE="GCC"
CT_GCC_PKG_NAME="gcc"
CT_GCC_SRC_RELEASE=y
# CT_GCC_SRC_DEVEL is not set
CT_GCC_PATCH_ORDER="global"
# CT_GCC_V_11 is not set
CT_GCC_V_10=y
# CT_GCC_V_9 is not set
# CT_GCC_V_8 is not set
# CT_GCC_V_7 is not set
# CT_GCC_V_6 is not set
# CT_GCC_V_5 is not set
# CT_GCC_V_4_9 is not set
CT_GCC_VERSION="10.3.0"
CT_GCC_MIRRORS="$(CT_Mirrors GNU gcc/gcc-${CT_GCC_VERSION}) $(CT_Mirrors sourceware gcc/releases/gcc-${CT_GCC_VERSION})"
CT_GCC_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_GCC_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_GCC_ARCHIVE_FORMATS=".tar.xz .tar.gz"
CT_GCC_SIGNATURE_FORMAT=""
CT_GCC_11_or_older=y
CT_GCC_older_than_11=y
CT_GCC_later_than_10=y
CT_GCC_10_or_later=y
CT_GCC_later_than_9=y
CT_GCC_9_or_later=y
CT_GCC_later_than_8=y
CT_GCC_8_or_later=y
CT_GCC_later_than_7=y
CT_GCC_7_or_later=y
CT_GCC_later_than_6=y
CT_GCC_6_or_later=y
CT_GCC_later_than_5=y
CT_GCC_5_or_later=y
CT_GCC_later_than_4_9=y
CT_GCC_4_9_or_later=y
CT_CC_GCC_HAS_LIBMPX=y
CT_CC_GCC_ENABLE_CXX_FLAGS=""
CT_CC_GCC_CORE_EXTRA_CONFIG_ARRAY=""
CT_CC_GCC_EXTRA_CONFIG_ARRAY=""
CT_CC_GCC_STATIC_LIBSTDCXX=y
# CT_CC_GCC_SYSTEM_ZLIB is not set
CT_CC_GCC_CONFIG_TLS=m
#
# Optimisation features
#
CT_CC_GCC_USE_GRAPHITE=y
CT_CC_GCC_USE_LTO=y
CT_CC_GCC_LTO_ZSTD=m
#
# Settings for libraries running on target
#
CT_CC_GCC_ENABLE_TARGET_OPTSPACE=y
# CT_CC_GCC_LIBMUDFLAP is not set
# CT_CC_GCC_LIBGOMP is not set
# CT_CC_GCC_LIBSSP is not set
# CT_CC_GCC_LIBQUADMATH is not set
# CT_CC_GCC_LIBSANITIZER is not set
CT_CC_GCC_LIBMPX=y
#
# Misc. obscure options.
#
CT_CC_CXA_ATEXIT=y
CT_CC_GCC_TM_CLONE_REGISTRY=m
# CT_CC_GCC_DISABLE_PCH is not set
CT_CC_GCC_SJLJ_EXCEPTIONS=m
CT_CC_GCC_LDBL_128=m
# CT_CC_GCC_BUILD_ID is not set
CT_CC_GCC_LNK_HASH_STYLE_DEFAULT=y
# CT_CC_GCC_LNK_HASH_STYLE_SYSV is not set
# CT_CC_GCC_LNK_HASH_STYLE_GNU is not set
# CT_CC_GCC_LNK_HASH_STYLE_BOTH is not set
CT_CC_GCC_LNK_HASH_STYLE=""
CT_CC_GCC_DEC_FLOATS_AUTO=y
# CT_CC_GCC_DEC_FLOATS_BID is not set
# CT_CC_GCC_DEC_FLOATS_DPD is not set
# CT_CC_GCC_DEC_FLOATS_NO is not set
CT_CC_GCC_DEC_FLOATS=""
CT_ALL_CC_CHOICES="GCC"
#
# Additional supported languages:
#
CT_CC_LANG_CXX=y
# CT_CC_LANG_FORTRAN is not set
# end of C compiler
#
# Debug facilities
#
# CT_DEBUG_DUMA is not set
CT_DEBUG_GDB=y
CT_DEBUG_GDB_PKG_KSYM="GDB"
CT_GDB_DIR_NAME="gdb"
CT_GDB_PKG_NAME="gdb"
CT_GDB_SRC_RELEASE=y
# CT_GDB_SRC_DEVEL is not set
CT_GDB_PATCH_ORDER="global"
CT_GDB_V_11=y
# CT_GDB_V_10 is not set
# CT_GDB_V_9 is not set
# CT_GDB_V_8_3 is not set
# CT_GDB_V_8_2 is not set
# CT_GDB_V_8_1 is not set
# CT_GDB_V_8_0 is not set
# CT_GDB_V_7_12 is not set
# CT_GDB_V_7_11 is not set
CT_GDB_VERSION="11.2"
CT_GDB_MIRRORS="$(CT_Mirrors GNU gdb) $(CT_Mirrors sourceware gdb/releases)"
CT_GDB_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_GDB_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_GDB_ARCHIVE_FORMATS=".tar.xz .tar.gz"
CT_GDB_SIGNATURE_FORMAT=""
CT_GDB_later_than_11=y
CT_GDB_11_or_later=y
CT_GDB_later_than_10=y
CT_GDB_10_or_later=y
CT_GDB_later_than_8_3=y
CT_GDB_8_3_or_later=y
CT_GDB_later_than_8_0=y
CT_GDB_8_0_or_later=y
CT_GDB_later_than_7_12=y
CT_GDB_7_12_or_later=y
CT_GDB_later_than_7_11=y
CT_GDB_7_11_or_later=y
CT_GDB_CROSS=y
# CT_GDB_CROSS_STATIC is not set
# CT_GDB_CROSS_SIM is not set
CT_GDB_CROSS_PYTHON=y
CT_GDB_CROSS_PYTHON_BINARY=""
CT_GDB_CROSS_EXTRA_CONFIG_ARRAY=""
# CT_GDB_NATIVE is not set
CT_GDB_GDBSERVER=y
# CT_GDB_NATIVE_BUILD_IPA_LIB is not set
# CT_GDB_NATIVE_STATIC_LIBSTDCXX is not set
CT_GDB_GDBSERVER_TOPLEVEL=y
# CT_DEBUG_LTRACE is not set
# CT_DEBUG_STRACE is not set
CT_ALL_DEBUG_CHOICES="DUMA GDB LTRACE STRACE"
# end of Debug facilities
#
# Companion libraries
#
# CT_COMPLIBS_CHECK is not set
# CT_COMP_LIBS_CLOOG is not set
CT_COMP_LIBS_EXPAT=y
CT_COMP_LIBS_EXPAT_PKG_KSYM="EXPAT"
CT_EXPAT_DIR_NAME="expat"
CT_EXPAT_PKG_NAME="expat"
CT_EXPAT_SRC_RELEASE=y
# CT_EXPAT_SRC_DEVEL is not set
CT_EXPAT_PATCH_ORDER="global"
CT_EXPAT_V_2_4=y
CT_EXPAT_VERSION="2.4.1"
CT_EXPAT_MIRRORS="http://downloads.sourceforge.net/project/expat/expat/${CT_EXPAT_VERSION} https://github.com/libexpat/libexpat/releases/download/R_${CT_EXPAT_VERSION//./_}"
CT_EXPAT_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_EXPAT_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_EXPAT_ARCHIVE_FORMATS=".tar.xz .tar.lz .tar.bz2 .tar.gz"
CT_EXPAT_SIGNATURE_FORMAT=""
CT_COMP_LIBS_GETTEXT=y
CT_COMP_LIBS_GETTEXT_PKG_KSYM="GETTEXT"
CT_GETTEXT_DIR_NAME="gettext"
CT_GETTEXT_PKG_NAME="gettext"
CT_GETTEXT_SRC_RELEASE=y
# CT_GETTEXT_SRC_DEVEL is not set
CT_GETTEXT_PATCH_ORDER="global"
CT_GETTEXT_V_0_21=y
# CT_GETTEXT_V_0_20_1 is not set
# CT_GETTEXT_V_0_19_8_1 is not set
CT_GETTEXT_VERSION="0.21"
CT_GETTEXT_MIRRORS="$(CT_Mirrors GNU gettext)"
CT_GETTEXT_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_GETTEXT_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_GETTEXT_ARCHIVE_FORMATS=".tar.xz .tar.gz"
CT_GETTEXT_SIGNATURE_FORMAT="packed/.sig"
CT_GETTEXT_0_21_or_later=y
CT_GETTEXT_0_21_or_older=y
CT_GETTEXT_INCOMPATIBLE_WITH_UCLIBC_NG=y
#
# This version of gettext is not compatible with uClibc-NG. Select
#
#
# a different version if uClibc-NG is used on the target or (in a
#
#
# Canadian cross build) on the host.
#
CT_COMP_LIBS_GMP=y
CT_COMP_LIBS_GMP_PKG_KSYM="GMP"
CT_GMP_DIR_NAME="gmp"
CT_GMP_PKG_NAME="gmp"
CT_GMP_SRC_RELEASE=y
# CT_GMP_SRC_DEVEL is not set
CT_GMP_PATCH_ORDER="global"
CT_GMP_V_6_2=y
# CT_GMP_V_6_1 is not set
CT_GMP_VERSION="6.2.1"
CT_GMP_MIRRORS="https://gmplib.org/download/gmp https://gmplib.org/download/gmp/archive $(CT_Mirrors GNU gmp)"
CT_GMP_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_GMP_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_GMP_ARCHIVE_FORMATS=".tar.xz .tar.lz .tar.bz2"
CT_GMP_SIGNATURE_FORMAT="packed/.sig"
CT_COMP_LIBS_ISL=y
CT_COMP_LIBS_ISL_PKG_KSYM="ISL"
CT_ISL_DIR_NAME="isl"
CT_ISL_PKG_NAME="isl"
CT_ISL_SRC_RELEASE=y
# CT_ISL_SRC_DEVEL is not set
CT_ISL_PATCH_ORDER="global"
CT_ISL_V_0_24=y
# CT_ISL_V_0_23 is not set
# CT_ISL_V_0_22 is not set
# CT_ISL_V_0_21 is not set
# CT_ISL_V_0_20 is not set
# CT_ISL_V_0_19 is not set
# CT_ISL_V_0_18 is not set
# CT_ISL_V_0_17 is not set
# CT_ISL_V_0_16 is not set
# CT_ISL_V_0_15 is not set
CT_ISL_VERSION="0.24"
CT_ISL_MIRRORS="https://libisl.sourceforge.io"
CT_ISL_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_ISL_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_ISL_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz"
CT_ISL_SIGNATURE_FORMAT=""
CT_ISL_later_than_0_18=y
CT_ISL_0_18_or_later=y
CT_ISL_later_than_0_15=y
CT_ISL_0_15_or_later=y
# CT_COMP_LIBS_LIBELF is not set
CT_COMP_LIBS_LIBICONV=y
CT_COMP_LIBS_LIBICONV_PKG_KSYM="LIBICONV"
CT_LIBICONV_DIR_NAME="libiconv"
CT_LIBICONV_PKG_NAME="libiconv"
CT_LIBICONV_SRC_RELEASE=y
# CT_LIBICONV_SRC_DEVEL is not set
CT_LIBICONV_PATCH_ORDER="global"
CT_LIBICONV_V_1_16=y
# CT_LIBICONV_V_1_15 is not set
CT_LIBICONV_VERSION="1.16"
CT_LIBICONV_MIRRORS="$(CT_Mirrors GNU libiconv)"
CT_LIBICONV_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_LIBICONV_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_LIBICONV_ARCHIVE_FORMATS=".tar.gz"
CT_LIBICONV_SIGNATURE_FORMAT="packed/.sig"
CT_COMP_LIBS_MPC=y
CT_COMP_LIBS_MPC_PKG_KSYM="MPC"
CT_MPC_DIR_NAME="mpc"
CT_MPC_PKG_NAME="mpc"
CT_MPC_SRC_RELEASE=y
# CT_MPC_SRC_DEVEL is not set
CT_MPC_PATCH_ORDER="global"
CT_MPC_V_1_2=y
# CT_MPC_V_1_1 is not set
# CT_MPC_V_1_0 is not set
CT_MPC_VERSION="1.2.1"
CT_MPC_MIRRORS="http://www.multiprecision.org/downloads $(CT_Mirrors GNU mpc)"
CT_MPC_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_MPC_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_MPC_ARCHIVE_FORMATS=".tar.gz"
CT_MPC_SIGNATURE_FORMAT="packed/.sig"
CT_MPC_later_than_1_1_0=y
CT_MPC_1_1_0_or_later=y
CT_COMP_LIBS_MPFR=y
CT_COMP_LIBS_MPFR_PKG_KSYM="MPFR"
CT_MPFR_DIR_NAME="mpfr"
CT_MPFR_PKG_NAME="mpfr"
CT_MPFR_SRC_RELEASE=y
# CT_MPFR_SRC_DEVEL is not set
CT_MPFR_PATCH_ORDER="global"
CT_MPFR_V_4_1=y
# CT_MPFR_V_4_0 is not set
# CT_MPFR_V_3_1 is not set
CT_MPFR_VERSION="4.1.0"
CT_MPFR_MIRRORS="http://www.mpfr.org/mpfr-${CT_MPFR_VERSION} $(CT_Mirrors GNU mpfr)"
CT_MPFR_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_MPFR_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_MPFR_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz .zip"
CT_MPFR_SIGNATURE_FORMAT="packed/.asc"
CT_MPFR_later_than_4_0_0=y
CT_MPFR_4_0_0_or_later=y
CT_COMP_LIBS_NCURSES=y
CT_COMP_LIBS_NCURSES_PKG_KSYM="NCURSES"
CT_NCURSES_DIR_NAME="ncurses"
CT_NCURSES_PKG_NAME="ncurses"
CT_NCURSES_SRC_RELEASE=y
# CT_NCURSES_SRC_DEVEL is not set
CT_NCURSES_PATCH_ORDER="global"
CT_NCURSES_V_6_2=y
# CT_NCURSES_V_6_1 is not set
# CT_NCURSES_V_6_0 is not set
CT_NCURSES_VERSION="6.2"
CT_NCURSES_MIRRORS="https://invisible-mirror.net/archives/ncurses $(CT_Mirrors GNU ncurses)"
CT_NCURSES_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_NCURSES_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_NCURSES_ARCHIVE_FORMATS=".tar.gz"
CT_NCURSES_SIGNATURE_FORMAT="packed/.sig"
CT_NCURSES_NEW_ABI=y
CT_NCURSES_HOST_CONFIG_ARGS=""
CT_NCURSES_HOST_DISABLE_DB=y
CT_NCURSES_HOST_FALLBACKS="linux,xterm,xterm-color,xterm-256color,vt100"
CT_NCURSES_TARGET_CONFIG_ARGS=""
# CT_NCURSES_TARGET_DISABLE_DB is not set
CT_NCURSES_TARGET_FALLBACKS=""
CT_COMP_LIBS_ZLIB=y
CT_COMP_LIBS_ZLIB_PKG_KSYM="ZLIB"
CT_ZLIB_DIR_NAME="zlib"
CT_ZLIB_PKG_NAME="zlib"
CT_ZLIB_SRC_RELEASE=y
# CT_ZLIB_SRC_DEVEL is not set
CT_ZLIB_PATCH_ORDER="global"
CT_ZLIB_V_1_2_13=y
CT_ZLIB_VERSION="1.2.13"
CT_ZLIB_MIRRORS="http://downloads.sourceforge.net/project/libpng/zlib/${CT_ZLIB_VERSION} https://www.zlib.net/"
CT_ZLIB_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_ZLIB_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_ZLIB_ARCHIVE_FORMATS=".tar.xz .tar.gz"
CT_ZLIB_SIGNATURE_FORMAT="packed/.asc"
CT_ALL_COMP_LIBS_CHOICES="CLOOG EXPAT GETTEXT GMP GNUPRUMCU ISL LIBELF LIBICONV MPC MPFR NCURSES NEWLIB_NANO PICOLIBC ZLIB"
CT_LIBICONV_NEEDED=y
CT_GETTEXT_NEEDED=y
CT_GMP_NEEDED=y
CT_MPFR_NEEDED=y
CT_ISL_NEEDED=y
CT_MPC_NEEDED=y
CT_EXPAT_NEEDED=y
CT_NCURSES_NEEDED=y
CT_ZLIB_NEEDED=y
CT_LIBICONV=y
CT_GETTEXT=y
CT_GMP=y
CT_MPFR=y
CT_ISL=y
CT_MPC=y
CT_EXPAT=y
CT_NCURSES=y
CT_ZLIB=y
# end of Companion libraries
#
# Companion tools
#
CT_COMP_TOOLS_FOR_HOST=y
CT_COMP_TOOLS_AUTOCONF=y
CT_COMP_TOOLS_AUTOCONF_PKG_KSYM="AUTOCONF"
CT_AUTOCONF_DIR_NAME="autoconf"
CT_AUTOCONF_PKG_NAME="autoconf"
CT_AUTOCONF_SRC_RELEASE=y
# CT_AUTOCONF_SRC_DEVEL is not set
CT_AUTOCONF_PATCH_ORDER="global"
CT_AUTOCONF_V_2_71=y
# CT_AUTOCONF_V_2_69 is not set
# CT_AUTOCONF_V_2_65 is not set
CT_AUTOCONF_VERSION="2.71"
CT_AUTOCONF_MIRRORS="$(CT_Mirrors GNU autoconf)"
CT_AUTOCONF_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_AUTOCONF_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_AUTOCONF_ARCHIVE_FORMATS=".tar.xz .tar.gz"
CT_AUTOCONF_SIGNATURE_FORMAT="packed/.sig"
CT_COMP_TOOLS_AUTOMAKE=y
CT_COMP_TOOLS_AUTOMAKE_PKG_KSYM="AUTOMAKE"
CT_AUTOMAKE_DIR_NAME="automake"
CT_AUTOMAKE_PKG_NAME="automake"
CT_AUTOMAKE_SRC_RELEASE=y
# CT_AUTOMAKE_SRC_DEVEL is not set
CT_AUTOMAKE_PATCH_ORDER="global"
CT_AUTOMAKE_V_1_16=y
# CT_AUTOMAKE_V_1_15 is not set
CT_AUTOMAKE_VERSION="1.16.1"
CT_AUTOMAKE_MIRRORS="$(CT_Mirrors GNU automake)"
CT_AUTOMAKE_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_AUTOMAKE_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_AUTOMAKE_ARCHIVE_FORMATS=".tar.xz .tar.gz"
CT_AUTOMAKE_SIGNATURE_FORMAT="packed/.sig"
# CT_COMP_TOOLS_BISON is not set
# CT_COMP_TOOLS_DTC is not set
# CT_COMP_TOOLS_LIBTOOL is not set
CT_COMP_TOOLS_M4=y
CT_COMP_TOOLS_M4_PKG_KSYM="M4"
CT_M4_DIR_NAME="m4"
CT_M4_PKG_NAME="m4"
CT_M4_SRC_RELEASE=y
# CT_M4_SRC_DEVEL is not set
CT_M4_PATCH_ORDER="global"
CT_M4_V_1_4=y
CT_M4_VERSION="1.4.19"
CT_M4_MIRRORS="$(CT_Mirrors GNU m4)"
CT_M4_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_M4_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_M4_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz"
CT_M4_SIGNATURE_FORMAT="packed/.sig"
CT_COMP_TOOLS_MAKE=y
CT_COMP_TOOLS_MAKE_PKG_KSYM="MAKE"
CT_MAKE_DIR_NAME="make"
CT_MAKE_PKG_NAME="make"
CT_MAKE_SRC_RELEASE=y
# CT_MAKE_SRC_DEVEL is not set
CT_MAKE_PATCH_ORDER="global"
CT_MAKE_V_4_3=y
# CT_MAKE_V_4_2 is not set
CT_MAKE_VERSION="4.3"
CT_MAKE_MIRRORS="$(CT_Mirrors GNU make)"
CT_MAKE_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_MAKE_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_MAKE_ARCHIVE_FORMATS=".tar.lz .tar.gz"
CT_MAKE_SIGNATURE_FORMAT="packed/.sig"
# CT_MAKE_GMAKE_SYMLINK is not set
# CT_MAKE_GNUMAKE_SYMLINK is not set
CT_ALL_COMP_TOOLS_CHOICES="AUTOCONF AUTOMAKE BISON DTC LIBTOOL M4 MAKE"
# end of Companion tools

View File

@ -0,0 +1,5 @@
#!/bin/sh
set -e
docker push asfernandes/firebird-builder:fb5-x86-ng-v1
docker push asfernandes/firebird-builder:fb5-x64-ng-v1

View File

@ -0,0 +1,2 @@
#!/bin/sh
docker run --platform amd64 --rm --user `id -u`:`id -g` -v `pwd`/../../../..:/firebird -t --entrypoint /entry-src-bundle.sh asfernandes/firebird-builder:fb5-x64-ng-v1

View File

@ -0,0 +1,2 @@
#!/bin/sh
docker run --platform amd64 --rm --user `id -u`:`id -g` -v `pwd`/../../../..:/firebird -t asfernandes/firebird-builder:fb5-x64-ng-v1

View File

@ -0,0 +1,2 @@
#!/bin/sh
docker run --platform i386 --rm --user `id -u`:`id -g` -v `pwd`/../../../..:/firebird -t asfernandes/firebird-builder:fb5-x86-ng-v1

View File

@ -0,0 +1,15 @@
#!/bin/sh
set -e
./autogen.sh \
--host=$BUILD_ARCH \
--prefix=/opt/firebird \
--enable-binreloc \
--with-builtin-tomcrypt \
--with-termlib=:libncurses.a \
--with-atomiclib=:libatomic.a
make -j${CPUCOUNT}
make tests -j${CPUCOUNT}
make run_tests
make dist

View File

@ -0,0 +1,6 @@
#!/bin/sh
set -e
trap exit INT TERM
setarch $SET_ARCH /src-bundle.sh &
wait $!

View File

@ -0,0 +1,6 @@
#!/bin/sh
set -e
trap exit INT TERM
setarch $SET_ARCH /build.sh &
wait $!

View File

@ -0,0 +1,12 @@
#!/bin/sh
set -e
./autogen.sh \
--host=$BUILD_ARCH \
--prefix=/opt/firebird \
--enable-binreloc \
--with-builtin-tomcrypt \
--with-termlib=:libncurses.a \
--with-atomiclib=:libatomic.a
./src/misc/src_bundle.sh

View File

@ -13,14 +13,15 @@ SHELL ["cmd", "/S", "/C"]
# #
# 16.11.6.0 - https://aka.ms/vs/16/release/201528995_-1285443981/channel # 16.11.6.0 - https://aka.ms/vs/16/release/201528995_-1285443981/channel
# 16.11.7.0 - https://aka.ms/vs/16/release/152566872_220409660/channel # 16.11.7.0 - https://aka.ms/vs/16/release/152566872_220409660/channel
# 16.11.16 - https://aka.ms/vs/16/release/377566269_-1382739058/channel
RUN ` RUN `
set chocolateyUseWindowsCompression='false' && ` set chocolateyUseWindowsCompression='false' && `
powershell -NoProfile -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && ` powershell -NoProfile -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && `
set "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin" && ` set "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin" && `
` `
choco install --no-progress --yes visualstudio2019buildtools --version=16.11.7.0 --package-parameters " ` choco install --no-progress --yes visualstudio2019buildtools --version=16.11.16 --package-parameters " `
--installChannelUri https://aka.ms/vs/16/release/152566872_220409660/channel ` --installChannelUri https://aka.ms/vs/16/release/377566269_-1382739058/channel `
--quiet --wait --norestart --nocache ` --quiet --wait --norestart --nocache `
--locale en-US ` --locale en-US `
--add Microsoft.Component.MSBuild ` --add Microsoft.Component.MSBuild `
@ -43,7 +44,7 @@ RUN `
refreshenv && ` refreshenv && `
setx PATH "%PATH%;C:\Program Files\Git\usr\bin" setx PATH "%PATH%;C:\Program Files\Git\usr\bin"
ENV SEVENZIP='"C:\Program Files\7-Zip"' ENV SEVENZIP='C:\Program Files\7-Zip'
ENV INNO6_SETUP_PATH='"C:\Program Files (x86)\Inno Setup 6"' ENV INNO6_SETUP_PATH='C:\Program Files (x86)\Inno Setup 6'
COPY scripts\* C:\fbscripts\ COPY scripts\* C:\fbscripts\

View File

@ -1,2 +1,2 @@
@echo off @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

View File

@ -1,14 +1,14 @@
REM FIXME @echo off @echo off
call "C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\Common7\Tools\VsDevCmd.bat" -arch=amd64 call "C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\Common7\Tools\VsDevCmd.bat" -arch=amd64
set FB_PROCESSOR_ARCHITECTURE=AMD64 set FB_PROCESSOR_ARCHITECTURE=AMD64
set FB_OUTPUT_SUFFIX=x64
xcopy /h /e /i /q C:\firebird C:\firebird-build xcopy /h /e /i /q C:\firebird C:\firebird-build
cd /d C:\firebird-build\builds\win32 cd /d C:\firebird-build\builds\win32
REM call run_all.bat call run_all.bat PDB
call run_all.bat JUSTBUILD
xcopy /h /e /i /q C:\firebird-build\output_%FB_OUTPUT_SUFFIX%\* C:\firebird-out call run_tests.bat
copy C:\firebird-build\builds\install_images\* C:\firebird\builds\install_images

View File

@ -3,12 +3,12 @@
call "C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\Common7\Tools\VsDevCmd.bat" -arch=x86 call "C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\Common7\Tools\VsDevCmd.bat" -arch=x86
set FB_PROCESSOR_ARCHITECTURE=x86 set FB_PROCESSOR_ARCHITECTURE=x86
set FB_OUTPUT_SUFFIX=win32
xcopy /h /e /i /q C:\firebird C:\firebird-build xcopy /h /e /i /q C:\firebird C:\firebird-build
cd /d C:\firebird-build\builds\win32 cd /d C:\firebird-build\builds\win32
REM call run_all.bat call run_all.bat PDB
call run_all.bat JUSTBUILD
xcopy /h /e /i /q C:\firebird-build\output_%FB_OUTPUT_SUFFIX%\* C:\firebird-out call run_tests.bat
copy C:\firebird-build\builds\install_images\* C:\firebird\builds\install_images

View File

@ -4,22 +4,22 @@
# version 2.1 of the License, or (at your option) any later version. # version 2.1 of the License, or (at your option) any later version.
# You may obtain a copy of the Licence at # You may obtain a copy of the Licence at
# http://www.gnu.org/licences/lgpl.html # http://www.gnu.org/licences/lgpl.html
# #
# As a special exception this file can also be included in modules # As a special exception this file can also be included in modules
# with other source code as long as that source code has been # with other source code as long as that source code has been
# released under an Open Source Initiative certificed licence. # released under an Open Source Initiative certificed licence.
# More information about OSI certification can be found at: # More information about OSI certification can be found at:
# http://www.opensource.org # http://www.opensource.org
# #
# This module is distributed in the hope that it will be useful, # This module is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public Licence for more details. # GNU Lesser General Public Licence for more details.
# #
# This module was created by members of the firebird development # This module was created by members of the firebird development
# team. All individual contributions remain the Copyright (C) of # team. All individual contributions remain the Copyright (C) of
# those individuals and all rights are reserved. Contributors to # those individuals and all rights are reserved. Contributors to
# this file are either listed below or can be obtained from a CVS # this file are either listed below or can be obtained from a CVS
# history command. # history command.
# #
# Created by: Mark O'Donohue <mark.odonohue@ludwig.edu.au> # Created by: Mark O'Donohue <mark.odonohue@ludwig.edu.au>
@ -43,7 +43,7 @@ FIREBIRD=$(FirebirdInstallPrefix)
export -n FIREBIRD export -n FIREBIRD
export -n INTERBASE export -n INTERBASE
.PHONY: install install-embedded dist packages depotfile tarfile .PHONY: install install-embedded dist packages depotfile tarfile
.PHONY: buildDepot buildTarDir buildImageDir buildRoot buildDebugInfo .PHONY: buildDepot buildTarDir buildImageDir buildRoot buildDebugInfo
# Some of these targets are run from the root tree of the build. # Some of these targets are run from the root tree of the build.
@ -63,12 +63,12 @@ BuildVersion=$(FirebirdVersion).$(BuildNum)
Version=$(BuildVersion)-$(PackageVersion) Version=$(BuildVersion)-$(PackageVersion)
# This means something like: FirebirdCS-2.0.0-1.i386.tar # This means something like: FirebirdCS-2.0.0-1.i386.tar
TarDir= Firebird-$(Version).$(CpuType) TarDir= Firebird-$(Version)-linux-$(CpuType)
TarFile=Firebird-$(Version).$(CpuType).tar TarFile=Firebird-$(Version)-linux-$(CpuType).tar
DepotFile=Firebird-$(Version).$(CpuType).depot DepotFile=Firebird-$(Version)-linux-$(CpuType).depot
RPMFile=Firebird-$(Version).$(CpuType).rpm RPMFile=Firebird-$(Version)-linux-$(CpuType).rpm
DebugDir=Firebird-debuginfo-$(Version).$(CpuType) DebugDir=Firebird-$(Version)-linux-$(CpuType)-debugSymbols
DebugFile=Firebird-debuginfo-$(Version).$(CpuType).tar DebugFile=Firebird-$(Version)-linux-$(CpuType)-debugSymbols.tar
PkgSrcDir=$(InstallRoot)/$(ArchType) PkgSrcDir=$(InstallRoot)/$(ArchType)
ScriptDir=$(GEN_ROOT)/install/scripts/ ScriptDir=$(GEN_ROOT)/install/scripts/
@ -92,18 +92,18 @@ $(DebugFile) : buildImageDir
(cd $(GEN_ROOT)/$(DebugDir); tar -cvf ../$(DebugFile) *) (cd $(GEN_ROOT)/$(DebugDir); tar -cvf ../$(DebugFile) *)
# objcopy --add-gnu-debuglink fails with binutils 2.14 or older # objcopy --add-gnu-debuglink fails with binutils 2.14 or older
# its failure affects only GDB ability to pick up external debug # its failure affects only GDB ability to pick up external debug
# symbols automatically. We may use eu-strip command from elfutils # symbols automatically. We may use eu-strip command from elfutils
# instead, but it doesn't work or compile with such distros # instead, but it doesn't work or compile with such distros
# as Mandrake 9.0 not saying about older ones. New binutils # as Mandrake 9.0 not saying about older ones. New binutils
# seem to compile and work everywhere I tried, but we try to # seem to compile and work everywhere I tried, but we try to
# use eu-strip first since it is a part of default Red Hat 9 # use eu-strip first since it is a part of default Red Hat 9
# install and is available in binary form for Mandrake 9.1 and newer. # install and is available in binary form for Mandrake 9.1 and newer.
# #
# 28-Dec-2003. Nickolay Samofatov # 28-Dec-2003. Nickolay Samofatov
# #
# Do not use eu-strip any longer because version 0.89/AMD64 shipped with # Do not use eu-strip any longer because version 0.89/AMD64 shipped with
# Mandrake 9.2 produces broken debuginfo packages and there is no easy way to # Mandrake 9.2 produces broken debuginfo packages and there is no easy way to
# detect the breakage. Binutils seem to be more reliable alternative to me. # detect the breakage. Binutils seem to be more reliable alternative to me.
# #
# 05-Apr-2004. Nickolay Samofatov # 05-Apr-2004. Nickolay Samofatov

View File

@ -1,13 +1,13 @@
echo "This script will build arch-specific files, useful for firebird functionality" #!/bin/sh
echo "Press ENTER to continue"
read x echo "This script builds arch-specific files, useful for firebird functionality"
runAndCheckExit() { runAndCheckExit() {
Msg=$1 Msg=$1
Cmd=$2 Cmd=$2
echo $Msg please wait... echo $Msg please wait...
$Cmd eval $Cmd
ExitCode=$? ExitCode=$?
if [ $ExitCode -ne 0 ] if [ $ExitCode -ne 0 ]
@ -18,8 +18,9 @@ runAndCheckExit() {
fi fi
} }
runAndCheckExit "Build messages file (firebird.msg)" bin/build_file runAndCheckExit "Build messages file (firebird.msg)" "./build_file -f firebird.msg"
runAndCheckExit "Restore security database" "bin/gbak -rep security5.gbak security5.fdb" runAndCheckExit "Creating security database" "echo create database \'security5.fdb\'^ | ./isql -q -term ^"
runAndCheckExit "Restore examples database (employee)" "bin/gbak -rep examples/empbuild/employee.gbak examples/empbuild/employee.fdb" runAndCheckExit "Creating security database metadata" "./isql -q security5.fdb -i security.sql"
#runAndCheckExit "Restore examples database (employee)" "(cd examples/empbuild ; ../.././isql -q -i ../../employe2.sql)"
rm -f security5.gbak examples/empbuild/employee.gbak AfterUntar.sh rm -f security.sql employe2.sql ./build_file AfterUntar.sh

View File

@ -0,0 +1,72 @@
#!/bin/sh
set -e
arch=${1}
OS=`uname -s`
case $OS in
Darwin)
NDK_TOOLCHAIN_NAME=darwin-x86_64
TAR_OPTS="--numeric-owner --uid=0 --gid=0"
FIND_EXEC_OPTS="-perm +0111" ;;
Linux)
NDK_TOOLCHAIN_NAME=linux-x86_64
TAR_OPTS="--numeric-owner --owner=0 --group=0"
FIND_EXEC_OPTS="-executable" ;;
esac
[ -z "$NDK_TOOLCHAIN" ] && NDK_TOOLCHAIN=$NDK/toolchains/llvm/prebuilt/$NDK_TOOLCHAIN_NAME
aStrip=${NDK_TOOLCHAIN}/bin/llvm-strip
MakeVersion=gen/Make.Version
Build=`grep ^BuildNum ${MakeVersion}|awk '{print $3;}'`
Version=`grep ^FirebirdVersion ${MakeVersion}|awk '{print $3;}'`
PackageVersion=`grep ^PackageVersion ${MakeVersion}|awk '{print $3;}'`
InitialBaseName="Firebird-${Version}.${Build}-${PackageVersion}-android-initial-${arch}"
InitialDebugTar="$InitialBaseName-withDebugSymbols.tar"
InitialDebugTarGz="$InitialDebugTar.gz"
Stripped=strip
FinalRelease="Firebird-${Version}.${Build}-${PackageVersion}-android-${arch}.tar.gz"
FinalDebug="Firebird-${Version}.${Build}-${PackageVersion}-android-${arch}-withDebugSymbols.tar.gz"
[ -z "$AndroidDevicePort" ] && AndroidDevicePort=5554
AndroidDeviceName=emulator-$AndroidDevicePort
AndroidDir=/data/$InitialBaseName
mkdir -p gen/Release
(cd gen; gunzip --force -k $InitialDebugTarGz)
(cd gen/Release; tar xvzf ../$InitialDebugTarGz)
$ANDROID_HOME/platform-tools/adb -s $AndroidDeviceName shell "rm -rf $AndroidDir"
$ANDROID_HOME/platform-tools/adb -s $AndroidDeviceName shell "mkdir $AndroidDir"
$ANDROID_HOME/platform-tools/adb -s $AndroidDeviceName push gen/$InitialDebugTar $AndroidDir/
$ANDROID_HOME/platform-tools/adb -s $AndroidDeviceName shell "(cd $AndroidDir && tar xvf $InitialDebugTar)"
$ANDROID_HOME/platform-tools/adb -s $AndroidDeviceName shell "(cd $AndroidDir/firebird && ./common_test --log_level=all && ./libEngine13_test --log_level=all)"
$ANDROID_HOME/platform-tools/adb -s $AndroidDeviceName shell "(cd $AndroidDir/firebird && ./AfterUntar.sh)"
$ANDROID_HOME/platform-tools/adb -s $AndroidDeviceName pull $AndroidDir/firebird/firebird.msg gen/Release/firebird/
$ANDROID_HOME/platform-tools/adb -s $AndroidDeviceName pull $AndroidDir/firebird/security5.fdb gen/Release/firebird/
#$ANDROID_HOME/platform-tools/adb -s $AndroidDeviceName pull $AndroidDir/firebird/examples/empbuild/employe2.fdb gen/Release/firebird/examples/empbuild/
$ANDROID_HOME/platform-tools/adb -s $AndroidDeviceName shell "(rm -rf $AndroidDir)"
rm gen/$InitialDebugTar
cd gen/Release
rm -rf ${Stripped}
TAR_OPTS="$TAR_OPTS --exclude *_test --exclude security.sql --exclude employe2.sql --exclude build_file --exclude AfterUntar.sh"
tar $TAR_OPTS -czvf ../$FinalDebug firebird
mkdir ${Stripped}
tar cf - firebird | (cd ${Stripped}; tar xvf -)
cd ${Stripped}
echo .
echo .
echo "Strip"
for file in `find firebird -type f $FIND_EXEC_OPTS -not -name "*.sh" -print`
do
${aStrip} ${file}
done
tar $TAR_OPTS -czvf ../../$FinalRelease firebird

54
builds/install/arch-specific/android/BuildPackage.sh Normal file → Executable file
View File

@ -1,46 +1,30 @@
bits=${1} #!/bin/sh
[ -z "$bits" ] && bits=32 set -e
[ "$bits" = "32" ] && cross=arm-linux-androideabi
[ "$bits" = "64" ] && cross=aarch64-linux-android arch=${1}
[ -z "$cross" ] && echo "Invalid bits passed" && exit 1
arm=""
[ "$bits" = "64" ] && arm=64
MakeVersion=gen/Make.Version MakeVersion=gen/Make.Version
Build=`grep ^BuildNum ${MakeVersion}|awk '{print $3;}'` Build=`grep ^BuildNum ${MakeVersion}|awk '{print $3;}'`
Version=`grep ^FirebirdVersion ${MakeVersion}|awk '{print $3;}'` Version=`grep ^FirebirdVersion ${MakeVersion}|awk '{print $3;}'`
Release="Firebird-${Version}.${Build}-0.arm${arm}.tar.gz" PackageVersion=`grep ^PackageVersion ${MakeVersion}|awk '{print $3;}'`
Debug="Firebird-withDebugInfo-${Version}.${Build}-0.arm${arm}.tar.gz" Release="Firebird-${Version}.${Build}-${PackageVersion}-android-initial-${arch}.tar.gz"
Stripped=strip Debug="Firebird-${Version}.${Build}-${PackageVersion}-android-initial-${arch}-withDebugSymbols.tar.gz"
aStrip=${NDK}/toolchains/${cross}-4.9/prebuilt/linux-x86_64/bin/${cross}-strip
fbRootDir=`pwd` fbRootDir=`pwd`
runTar()
{
tarfile=${1}
tar cvfz ${tarfile} --exclude '*.a' --exclude '*.fdb' --exclude '*.msg' firebird
}
cd gen/Release cd gen/Release
rm -rf ${Stripped}
cp ${fbRootDir}/builds/install/arch-specific/android/AfterUntar.sh firebird cp ${fbRootDir}/builds/install/arch-specific/android/AfterUntar.sh firebird
chmod +x firebird/AfterUntar.sh
cp ${fbRootDir}/src/dbs/security.sql firebird
cp ${fbRootDir}/examples/empbuild/employe2.sql firebird
unzip -o ../../extern/icu/icudt.zip -d firebird
tar -C firebird --wildcards --strip-components 1 -xvf ../../extern/icu/icu_android.tar.xz ${arch}/*
echo . echo .
echo . echo .
echo "Compress with deb-info" echo "Compress with deb-info"
tar cvfz ../${Debug} firebird runTar ../${Debug}
echo .
echo .
echo "Copy binaries"
mkdir ${Stripped}
tar cf - firebird | (cd ${Stripped}; tar xvf -)
cd ${Stripped}
echo .
echo .
echo "Strip"
for file in `find firebird -executable -type f -print`
do
${aStrip} ${file}
done
echo .
echo .
echo "Compress release"
tar cvfz ../../${Release} firebird
cd ..

View File

@ -0,0 +1,4 @@
#!/bin/sh
set -e
echo no | $ANDROID_HOME/cmdline-tools/latest/bin/avdmanager create avd --name firebird-builder --package "system-images;android-30;google_apis;x86_64"

View File

@ -0,0 +1,4 @@
#!/bin/sh
set -e
$ANDROID_HOME/cmdline-tools/latest/bin/avdmanager delete avd --name firebird-builder

View File

@ -0,0 +1,6 @@
#!/bin/sh
set -e
$ANDROID_HOME/emulator/emulator -no-window -avd firebird-builder -port 5554 &
$ANDROID_HOME/platform-tools/adb wait-for-device -s emulator-5554
$ANDROID_HOME/platform-tools/adb -s emulator-5554 root

View File

@ -22,7 +22,7 @@ FB_PLATFORM:=$(CpuType)
package: package_firebird package: package_firebird
package_firebird: INST_NM=Firebird-$(FB_MAJOR_VERS).$(FB_MINOR_VERS).$(FB_REV_NO)-$(FB_BUILD_NO)-$(FB_PLATFORM) package_firebird: INST_NM=Firebird-$(FB_MAJOR_VERS).$(FB_MINOR_VERS).$(FB_REV_NO)-$(FB_BUILD_NO)-macos-$(FB_PLATFORM)
package_firebird: package_firebird:
sed -e 's/_FB_BUILD_SUFFIX_/$(FB_VER_SUFFIX)/g' \ sed -e 's/_FB_BUILD_SUFFIX_/$(FB_VER_SUFFIX)/g' \
-e 's/_SMFB_BUILD_SUFFIX_/$(FB_VER_SUFFIX_SM)/g' \ -e 's/_SMFB_BUILD_SUFFIX_/$(FB_VER_SUFFIX_SM)/g' \

View File

@ -23,7 +23,8 @@ FB_RES="$FB_FW/Versions/A/Resources"
# Now create the firebird group # Now create the firebird group
echo "Create the Firebird group 10.7+" echo "Create the Firebird group 10.7+"
if dscl localhost -read /Local/Default/Groups/firebird 2&>1 /dev/null; then if dscl localhost -read /Local/Default/Groups/firebird 2&>1 /dev/null; then
echo "Group Found" gid=$(dscl localhost -read /Local/Default/Groups/firebird PrimaryGroupID | awk '($1 == "PrimaryGroupID:") { print $2 }')
echo "Group Found $gid"
else else
gid=501 gid=501
dscl localhost -search /Local/Default/Groups PrimaryGroupID $gid | grep $gid dscl localhost -search /Local/Default/Groups PrimaryGroupID $gid | grep $gid

View File

@ -248,7 +248,7 @@ copyFiles() {
chown root:wheel ${TargetDir}@FB_PLUGDIR@/*.so* chown root:wheel ${TargetDir}@FB_PLUGDIR@/*.so*
chmod 0755 ${TargetDir}@FB_PLUGDIR@/*.so* chmod 0755 ${TargetDir}@FB_PLUGDIR@/*.so*
makeDirs ${TargetDir}@FB_TZDATADIR@ makeDirs @FB_TZDATADIR@
cp $BuiltFBDir/tzdata/*.res ${TargetDir}@FB_TZDATADIR@ cp $BuiltFBDir/tzdata/*.res ${TargetDir}@FB_TZDATADIR@
chmod 0444 ${TargetDir}@FB_TZDATADIR@/*.res chmod 0444 ${TargetDir}@FB_TZDATADIR@/*.res

View File

@ -4,28 +4,28 @@
# version 2.1 of the License, or (at your option) any later version. # version 2.1 of the License, or (at your option) any later version.
# You may obtain a copy of the Licence at # You may obtain a copy of the Licence at
# http://www.gnu.org/licences/lgpl.html # http://www.gnu.org/licences/lgpl.html
# #
# As a special exception this file can also be included in modules # As a special exception this file can also be included in modules
# with other source code as long as that source code has been # with other source code as long as that source code has been
# released under an Open Source Initiative certificed licence. # released under an Open Source Initiative certificed licence.
# More information about OSI certification can be found at: # More information about OSI certification can be found at:
# http://www.opensource.org # http://www.opensource.org
# #
# This module is distributed in the hope that it will be useful, # This module is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public Licence for more details. # GNU Lesser General Public Licence for more details.
# #
# This module was created by members of the firebird development # This module was created by members of the firebird development
# team. All individual contributions remain the Copyright (C) of # team. All individual contributions remain the Copyright (C) of
# those individuals and all rights are reserved. Contributors to # those individuals and all rights are reserved. Contributors to
# this file are either listed below or can be obtained from a CVS # this file are either listed below or can be obtained from a CVS
# history command. # history command.
# #
# Created by: Mark O'Donohue <mark.odonohue@ludwig.edu.au> # Created by: Mark O'Donohue <mark.odonohue@ludwig.edu.au>
# #
# Contributor(s): # Contributor(s):
# #
# #
ROOT=.. ROOT=..
@ -46,7 +46,7 @@ FIREBIRD=$(FirebirdInstallPrefix)
export -n FIREBIRD export -n FIREBIRD
export -n INTERBASE export -n INTERBASE
.PHONY: install dist packages depotfile tarfile .PHONY: install dist packages depotfile tarfile
.PHONY: buildDepot buildTarDir buildImageDir buildRoot buildDebugInfo .PHONY: buildDepot buildTarDir buildImageDir buildRoot buildDebugInfo
# Some of these targets are run from the root tree of the build. # Some of these targets are run from the root tree of the build.
@ -73,13 +73,13 @@ Version=$(BuildVersion)-$(PackageVersion)
# This means something like: FirebirdCS-2.0.0-1.i386.tar # This means something like: FirebirdCS-2.0.0-1.i386.tar
TarDir= Firebird-$(Version).$(CpuType) TarDir= Firebird-$(Version)-linux-$(CpuType)
TarFile=Firebird-$(Version).$(CpuType).tar TarFile=Firebird-$(Version)-linux-$(CpuType).tar
TgzFile=$(TarFile).gz TgzFile=$(TarFile).gz
DepotFile=Firebird-$(Version).$(CpuType).depot DepotFile=Firebird-$(Version)-linux-$(CpuType).depot
RPMFile=Firebird-$(Version).$(CpuType).rpm RPMFile=Firebird-$(Version)-linux-$(CpuType).rpm
#DebugDir=Firebird-debuginfo-$(Version).$(CpuType) #DebugDir=Firebird-$(Version)-linux-$(CpuType)-debugSymbols
#DebugFile=Firebird-debuginfo-$(Version).$(CpuType).tar #DebugFile=Firebird-$(Version)-linux-$(CpuType)-debugSymbols.tar
psfFile=firebird.psf psfFile=firebird.psf
PkgSrcDir=$(InstallRoot)/$(ArchType) PkgSrcDir=$(InstallRoot)/$(ArchType)
@ -97,7 +97,7 @@ packages: tarfile depotfile
depotfile: buildRoot $(DepotFile) depotfile: buildRoot $(DepotFile)
$(DepotFile): buildDepot $(DepotFile): buildDepot
(cd $(GEN_ROOT); /usr/sbin/swpackage -d "| gzip -c > $(DepotFile).gz" -x media_type=tape -s $(psfFile)) (cd $(GEN_ROOT); /usr/sbin/swpackage -d "| gzip -c > $(DepotFile).gz" -x media_type=tape -s $(psfFile))
tarfile: buildRoot $(TgzFile) tarfile: buildRoot $(TgzFile)

View File

@ -19,7 +19,7 @@
# All Rights Reserved. # All Rights Reserved.
# Contributor(s): ______________________________________. # Contributor(s): ______________________________________.
# #
# #
# #
ROOT=.. ROOT=..
@ -42,6 +42,8 @@ include $(ROOT)/gen/make.shared.variables
# root of the build tree. # root of the build tree.
BuildRoot=$(GEN_ROOT) BuildRoot=$(GEN_ROOT)
CLIENT_ONLY_FLG=@CLIENT_ONLY_FLG@
WITH_TOMCRYPT=@WITH_TOMCRYPT@
InstallRoot=. InstallRoot=.
@ -53,10 +55,10 @@ Version=$(BuildVersion)-$(PackageVersion)
# This means something like: FirebirdCS-*.0.0-*.i386.tar.gz # This means something like: FirebirdCS-*.0.0-*.i386.tar.gz
TarDir= Firebird-$(Version).$(CpuType) TarDir=Firebird-$(Version)-linux-$(CpuType)
TarFile=Firebird-$(Version).$(CpuType).tar.gz TarFile=Firebird-$(Version)-linux-$(CpuType).tar.gz
DebugDir=Firebird-debuginfo-$(Version).$(CpuType) DebugDir=Firebird-$(Version)-linux-$(CpuType)-debugSymbols
DebugFile=Firebird-debuginfo-$(Version).$(CpuType).tar.gz DebugFile=Firebird-$(Version)-linux-$(CpuType)-debugSymbols.tar.gz
PkgSrcDir=$(InstallRoot)/$(ArchType) PkgSrcDir=$(InstallRoot)/$(ArchType)
@ -93,13 +95,13 @@ buildDebugInfo: buildRoot
for x in `(cd $(GEN_ROOT)/buildroot; find)`; do \ for x in `(cd $(GEN_ROOT)/buildroot; find)`; do \
FIL=$(GEN_ROOT)/buildroot/$$x; \ FIL=$(GEN_ROOT)/buildroot/$$x; \
D_FIL=$(GEN_ROOT)/$(DebugDir)/`dirname $${x}`/.debug/`basename $${x}`.debug; \ D_FIL=$(GEN_ROOT)/$(DebugDir)/`dirname $${x}`/.debug/`basename $${x}`.debug; \
if [ ! -h $$FIL ] && readelf -h $$FIL > /dev/null 2> /dev/null; then \ if [ ! -h $$FIL ] && $(READELF) -h $$FIL > /dev/null 2> /dev/null; then \
mkdir -p $(GEN_ROOT)/$(DebugDir)/`dirname $$x`/.debug; \ mkdir -p $(GEN_ROOT)/$(DebugDir)/`dirname $$x`/.debug; \
echo Generating external debug info for $$x; \ echo Generating external debug info for $$x; \
cp $${FIL} $${D_FIL}; \ cp $${FIL} $${D_FIL}; \
objcopy --add-gnu-debuglink=$${D_FIL} $${FIL}; \ $(OBJCOPY) --add-gnu-debuglink=$${D_FIL} $${FIL}; \
echo Stripping unneeded symbols from $${x}; \ echo Stripping unneeded symbols from $${x}; \
objcopy --strip-debug --strip-unneeded $${FIL}; \ $(OBJCOPY) --strip-debug --strip-unneeded $${FIL}; \
fi; \ fi; \
done done
(cd $(GEN_ROOT)/$(DebugDir); mkdir -p ./$(MiscDir); \ (cd $(GEN_ROOT)/$(DebugDir); mkdir -p ./$(MiscDir); \
@ -112,8 +114,10 @@ buildImageDir: buildDebugInfo
buildTarDir: buildImageDir buildTarDir: buildImageDir
mkdir -p $(GEN_ROOT)/$(TarDir) mkdir -p $(GEN_ROOT)/$(TarDir)
ifeq ($(CLIENT_ONLY_FLG),N)
cp -r $(GEN_ROOT)/install/install.sh $(GEN_ROOT)/$(TarDir) cp -r $(GEN_ROOT)/install/install.sh $(GEN_ROOT)/$(TarDir)
chmod a+x $(GEN_ROOT)/$(TarDir)/*.sh chmod a+x $(GEN_ROOT)/$(TarDir)/*.sh
endif
(cd $(GEN_ROOT)/$(TarDir); tar -C ../buildroot -czf buildroot.tar.gz . ) (cd $(GEN_ROOT)/$(TarDir); tar -C ../buildroot -czf buildroot.tar.gz . )
(cd $(GEN_ROOT)/$(TarDir); tar -tzf buildroot.tar.gz > manifest.txt ) (cd $(GEN_ROOT)/$(TarDir); tar -tzf buildroot.tar.gz > manifest.txt )

View File

@ -348,22 +348,22 @@ EOF
if [ "${fb_install_prefix}" = "${default_prefix}" ] if [ "${fb_install_prefix}" = "${default_prefix}" ]
then then
# RedHat and Mandrake specific # RedHat and Mandrake specific
if [ -x /sbin/chkconfig ] if [ -x /sbin/chkconfig ]
then then
/sbin/chkconfig --add ${fb_startup_name} /sbin/chkconfig --add ${fb_startup_name}
# Gentoo specific # Gentoo specific
elif [ -x /sbin/rc-update ] elif [ -x /sbin/rc-update ]
then then
/sbin/rc-update add ${fb_startup_name} default /sbin/rc-update add ${fb_startup_name} default
# Suse specific # Suse specific
elif [ -x /sbin/insserv ] elif [ -x /sbin/insserv ]
then then
/sbin/insserv /etc/init.d/${fb_startup_name} /sbin/insserv /etc/init.d/${fb_startup_name}
# One more way to register service - used in Debian # One more way to register service - used in Debian
elif [ -x /usr/sbin/update-rc.d ] elif [ -x /usr/sbin/update-rc.d ]
then then
/usr/sbin/update-rc.d -f ${fb_startup_name} remove /usr/sbin/update-rc.d -f ${fb_startup_name} remove
@ -504,7 +504,7 @@ CorrectLibDir() {
checkLibName() { checkLibName() {
grepFlag=-v grepFlag=-v
[ "@CPU_TYPE@" = "amd64" ] && grepFlag= [ "@CPU_TYPE@" = "x64" ] && grepFlag=
ldconfig -p | grep -w "${1}" | grep $grepFlag 'x86-64' ldconfig -p | grep -w "${1}" | grep $grepFlag 'x86-64'
} }

View File

@ -37,7 +37,9 @@ TargetDir=buildroot # Where we want to build the install image
SecurityDatabase=security5.fdb SecurityDatabase=security5.fdb
TomMathBuild="@TOMMATH_BUILD@" TomMathBuild="@TOMMATH_BUILD@"
TomCryptBuild="@TOMCRYPT_BUILD@" TomCryptBuild="@TOMCRYPT_BUILD@"
OBJDUMP=@OBJDUMP@
CLIENT_ONLY_FLG=@CLIENT_ONLY_FLG@
WITH_TOMCRYPT=@WITH_TOMCRYPT@
#------------------------------------------------------------------------ #------------------------------------------------------------------------
# addLibs # addLibs
@ -55,10 +57,10 @@ addLibs() {
echo "#!/bin/sh" >>$libTarget echo "#!/bin/sh" >>$libTarget
echo >>$libTarget echo >>$libTarget
LIB=`objdump -p $libSdir/firebird|grep NEEDED|grep tomcrypt|awk '{print $2;}'` LIB=`$OBJDUMP -p $libSdir/firebird|grep NEEDED|grep tomcrypt|awk '{print $2;}'`
[ "$LIB" ] && echo "export LIBTOMCRYPT=$LIB" >>$libTarget [ "$LIB" ] && echo "export LIBTOMCRYPT=$LIB" >>$libTarget
LIB=`objdump -p $libSdir/isql|grep NEEDED|egrep "(curses|termcap|tinfo)"|awk '{print $2;}'` LIB=$(echo `$OBJDUMP -p $libSdir/isql|grep NEEDED|egrep "(curses|termcap|tinfo)"|awk '{print $2;}'`)
[ "$LIB" ] && echo "export LIBCURSES=$LIB" >>$libTarget [ "$LIB" ] && echo "export LIBCURSES='$LIB'" >>$libTarget
echo >>$libTarget echo >>$libTarget
for i in posixLibrary.sh linuxLibrary.sh for i in posixLibrary.sh linuxLibrary.sh
@ -161,89 +163,102 @@ copyFiles() {
fi fi
#directories #directories
makeDirs "@FB_BINDIR@ @FB_SBINDIR@ @FB_CONFDIR@ @FB_LIBDIR@ @FB_INCDIR@/firebird @FB_DOCDIR@/sql.extensions \
@FB_SAMPLEDIR@ @FB_SAMPLEDBDIR@ @FB_INTLDIR@ @FB_MISCDIR@ @FB_SECDBDIR@ @FB_MSGDIR@ @FB_LOGDIR@ \
@FB_GUARDDIR@ @FB_PLUGDIR@ @FB_TZDATADIR@"
for i in udf; do makeDirs "@FB_CONFDIR@ @FB_LIBDIR@ @FB_INCDIR@/firebird @FB_MSGDIR@ @FB_TZDATADIR@"
makeDirs @FB_MISCDIR@/upgrade/$i
done
makeDirs /usr/include if [ "$CLIENT_ONLY_FLG" = "N" ] || [ "$WITH_TOMCRYPT" = "Y" ]; then
makeDirs "@FB_PLUGDIR@"
fi
#bin if [ "$CLIENT_ONLY_FLG" = "N" ]; then
cp $BuiltFBDir/bin/gbak ${TargetDir}@FB_BINDIR@/gbak makeDirs "@FB_BINDIR@ @FB_SBINDIR@ @FB_DOCDIR@/sql.extensions @FB_SAMPLEDIR@ @FB_SAMPLEDBDIR@ @FB_INTLDIR@ \
cp $BuiltFBDir/bin/gfix ${TargetDir}@FB_BINDIR@/gfix @FB_MISCDIR@ @FB_SECDBDIR@ @FB_LOGDIR@ @FB_GUARDDIR@"
cp $BuiltFBDir/bin/gpre ${TargetDir}@FB_BINDIR@/gpre
cp $BuiltFBDir/bin/gsec ${TargetDir}@FB_BINDIR@/gsec
cp $BuiltFBDir/bin/nbackup ${TargetDir}@FB_BINDIR@/nbackup
copyIfExists $BuiltFBDir/bin/gsplit ${TargetDir}@FB_BINDIR@
cp $BuiltFBDir/bin/gstat ${TargetDir}@FB_BINDIR@/gstat
copyIfExists $BuiltFBDir/bin/fbsvcmgr ${TargetDir}@FB_BINDIR@
copyIfExists $BuiltFBDir/bin/fbtracemgr ${TargetDir}@FB_BINDIR@
cp $BuiltFBDir/bin/isql ${TargetDir}@FB_BINDIR@/isql
chmod 0755 ${TargetDir}@FB_BINDIR@/* for i in udf; do
makeDirs @FB_MISCDIR@/upgrade/$i
done
fi
#sbin makeDirs /usr/include
cp -f $BuiltFBDir/bin/firebird ${TargetDir}@FB_SBINDIR@/firebird
cp -f $BuiltFBDir/bin/fbguard ${TargetDir}@FB_SBINDIR@
copyIfExists $BuiltFBDir/bin/fb_lock_print ${TargetDir}@FB_SBINDIR@
addLibs $BuiltFBDir/bin changeServerMode.sh ${TargetDir}@FB_SBINDIR@ if [ "$CLIENT_ONLY_FLG" = "N" ]; then
cp $BuiltFBDir/bin/registerDatabase.sh ${TargetDir}@FB_SBINDIR@ #bin
cp $BuiltFBDir/bin/fb_config ${TargetDir}@FB_SBINDIR@ cp $BuiltFBDir/bin/gbak ${TargetDir}@FB_BINDIR@/gbak
addLibs $BuiltFBDir/bin FirebirdUninstall.sh ${TargetDir}@FB_SBINDIR@ cp $BuiltFBDir/bin/gfix ${TargetDir}@FB_BINDIR@/gfix
cp $BuiltFBDir/bin/gpre ${TargetDir}@FB_BINDIR@/gpre
cp $BuiltFBDir/bin/gsec ${TargetDir}@FB_BINDIR@/gsec
cp $BuiltFBDir/bin/nbackup ${TargetDir}@FB_BINDIR@/nbackup
copyIfExists $BuiltFBDir/bin/gsplit ${TargetDir}@FB_BINDIR@
cp $BuiltFBDir/bin/gstat ${TargetDir}@FB_BINDIR@/gstat
copyIfExists $BuiltFBDir/bin/fbsvcmgr ${TargetDir}@FB_BINDIR@
copyIfExists $BuiltFBDir/bin/fbtracemgr ${TargetDir}@FB_BINDIR@
cp $BuiltFBDir/bin/isql ${TargetDir}@FB_BINDIR@/isql
chmod 0755 ${TargetDir}@FB_SBINDIR@/* chmod 0755 ${TargetDir}@FB_BINDIR@/*
chmod 0700 ${TargetDir}@FB_SBINDIR@/*.sh
#install script #sbin
addLibs $BuiltFBDir/bin install.sh $BuildRootDir/gen/install cp -f $BuiltFBDir/bin/firebird ${TargetDir}@FB_SBINDIR@/firebird
cp -f $BuiltFBDir/bin/fbguard ${TargetDir}@FB_SBINDIR@
copyIfExists $BuiltFBDir/bin/fb_lock_print ${TargetDir}@FB_SBINDIR@
#examples - copy only if we have them addLibs $BuiltFBDir/bin changeServerMode.sh ${TargetDir}@FB_SBINDIR@
exampleFiles=`find $BuiltFBDir/examples/README -type f -print` cp $BuiltFBDir/bin/registerDatabase.sh ${TargetDir}@FB_SBINDIR@
if [ -z "$exampleFiles" ]; then cp $BuiltFBDir/bin/fb_config ${TargetDir}@FB_SBINDIR@
echo "Example files have not been built!" addLibs $BuiltFBDir/bin FirebirdUninstall.sh ${TargetDir}@FB_SBINDIR@
else
(cd $BuiltFBDir/examples; tar cf - .) | (cd ${TargetDir}@FB_SAMPLEDIR@; tar xf -)
rm -rf ${TargetDir}@FB_SAMPLEDIR@/empbuild
makeDirs @FB_SAMPLEDBDIR@ chmod 0755 ${TargetDir}@FB_SBINDIR@/*
cp $BuiltFBDir/examples/empbuild/*.fdb ${TargetDir}@FB_SAMPLEDBDIR@ chmod 0700 ${TargetDir}@FB_SBINDIR@/*.sh
ReadOnlyTree ${TargetDir}@FB_SAMPLEDIR@ #install script
chmod 0664 ${TargetDir}@FB_SAMPLEDBDIR@/*.fdb addLibs $BuiltFBDir/bin install.sh $BuildRootDir/gen/install
#plugins samples #examples - copy only if we have them
makeDirs ${TargetDir}@FB_SAMPLEDIR@/prebuilt exampleFiles=`find $BuiltFBDir/examples/README -type f -print`
cp $BuiltFBDir/plugins/*fbSample* ${TargetDir}@FB_SAMPLEDIR@/prebuilt/plugins if [ -z "$exampleFiles" ]; then
cp $BuiltFBDir/bin/*fbSample* ${TargetDir}@FB_SAMPLEDIR@/prebuilt/bin echo "Example files have not been built!"
chmod 0644 ${TargetDir}@FB_SAMPLEDIR@/prebuilt/plugins/* else
(cd $BuiltFBDir/examples; tar cf - .) | (cd ${TargetDir}@FB_SAMPLEDIR@; tar xf -)
rm -rf ${TargetDir}@FB_SAMPLEDIR@/empbuild
# exec bit for sample binaries makeDirs @FB_SAMPLEDBDIR@
chmod 0755 ${TargetDir}@FB_SAMPLEDIR@/prebuilt/bin/* cp $BuiltFBDir/examples/empbuild/*.fdb ${TargetDir}@FB_SAMPLEDBDIR@
fi
ReadOnlyTree ${TargetDir}@FB_SAMPLEDIR@
chmod 0664 ${TargetDir}@FB_SAMPLEDBDIR@/*.fdb
#plugins samples
makeDirs @FB_SAMPLEDIR@/prebuilt
cp $BuiltFBDir/plugins/*fbSample* ${TargetDir}@FB_SAMPLEDIR@/prebuilt/plugins
cp $BuiltFBDir/bin/*fbSample* ${TargetDir}@FB_SAMPLEDIR@/prebuilt/bin
chmod 0644 ${TargetDir}@FB_SAMPLEDIR@/prebuilt/plugins/*
# exec bit for sample binaries
chmod 0755 ${TargetDir}@FB_SAMPLEDIR@/prebuilt/bin/*
fi
#secureDB (access rights will be set at install time)
cp $BuiltFBDir/$SecurityDatabase ${TargetDir}@FB_SECDBDIR@
fi
#message file #message file
cp $BuiltFBDir/*.msg ${TargetDir}@FB_MSGDIR@ cp $BuiltFBDir/*.msg ${TargetDir}@FB_MSGDIR@
chmod 0444 ${TargetDir}@FB_MSGDIR@/*.msg chmod 0444 ${TargetDir}@FB_MSGDIR@/*.msg
#secureDB (access rights will be set at install time)
cp $BuiltFBDir/$SecurityDatabase ${TargetDir}@FB_SECDBDIR@
#include (.h .pas files) #include (.h .pas files)
cp $BuiltFBDir/include/*.h ${TargetDir}@FB_INCDIR@ cp $BuiltFBDir/include/*.h ${TargetDir}@FB_INCDIR@
cp $BuildRootDir/src/include/firebird/*.h ${TargetDir}@FB_INCDIR@/firebird cp $BuildRootDir/src/include/firebird/*.h ${TargetDir}@FB_INCDIR@/firebird
tar -C $BuildRootDir/src/include/firebird -cf - impl | tar -C ${TargetDir}@FB_INCDIR@/firebird -x tar -C $BuildRootDir/src/include/firebird -cf - impl | tar -C ${TargetDir}@FB_INCDIR@/firebird -x
cp $BuildRootDir/src/include/gen/Firebird.pas ${TargetDir}@FB_INCDIR@/firebird if [ "$CLIENT_ONLY_FLG" = "N" ]; then
cp $BuildRootDir/src/include/gen/Firebird.pas ${TargetDir}@FB_INCDIR@/firebird
fi
ReadOnlyTree ${TargetDir}@FB_INCDIR@ ReadOnlyTree ${TargetDir}@FB_INCDIR@
#lib #lib
cp -df $BuiltFBDir/lib/libfbclient.so* ${TargetDir}@FB_LIBDIR@ cp -df $BuiltFBDir/lib/libfbclient.so* ${TargetDir}@FB_LIBDIR@
cp -f $BuiltFBDir/lib/libib_util.so ${TargetDir}@FB_LIBDIR@/libib_util.so if [ "$CLIENT_ONLY_FLG" = "N" ]; then
cp -f $BuiltFBDir/lib/libib_util.so ${TargetDir}@FB_LIBDIR@/libib_util.so
fi
if [ "$TomMathBuild" = "Y" ]; then if [ "$TomMathBuild" = "Y" ]; then
makeDirs @FB_LIBDIR@/.tm makeDirs @FB_LIBDIR@/.tm
@ -257,55 +272,64 @@ copyFiles() {
chmod 0755 ${TargetDir}@FB_LIBDIR@/*.so* chmod 0755 ${TargetDir}@FB_LIBDIR@/*.so*
#plugins #plugins
(cd $BuiltFBDir/plugins;tar cf - --exclude='*fbSample*' .) | (cd ${TargetDir}@FB_PLUGDIR@; tar xvf -) if [ "$CLIENT_ONLY_FLG" = "N" ] || [ "$WITH_TOMCRYPT" = "Y" ]; then
(cd $BuiltFBDir/plugins;tar cf - --exclude='*fbSample*' .) | (cd ${TargetDir}@FB_PLUGDIR@; tar xvf -)
fi
for file in `find ${TargetDir}@FB_PLUGDIR@ -name '*.so*' -print`; do for file in `find ${TargetDir}@FB_PLUGDIR@ -name '*.so*' -print`; do
chmod 0755 ${file} chmod 0755 ${file}
done done
makeDirs ${TargetDir}@FB_TZDATADIR@ makeDirs @FB_TZDATADIR@
cp $BuiltFBDir/tzdata/*.res ${TargetDir}@FB_TZDATADIR@ cp $BuiltFBDir/tzdata/*.res ${TargetDir}@FB_TZDATADIR@
chmod 0444 ${TargetDir}@FB_TZDATADIR@/*.res chmod 0444 ${TargetDir}@FB_TZDATADIR@/*.res
#intl if [ "$CLIENT_ONLY_FLG" = "N" ]; then
cp $BuiltFBDir/intl/libfbintl.so ${TargetDir}@FB_INTLDIR@/fbintl #intl
cp $BuiltFBDir/intl/fbintl.conf ${TargetDir}@FB_INTLDIR@ cp $BuiltFBDir/intl/libfbintl.so ${TargetDir}@FB_INTLDIR@/fbintl
cp $BuiltFBDir/intl/fbintl.conf ${TargetDir}@FB_INTLDIR@
chmod 0755 ${TargetDir}@FB_INTLDIR@/fbintl chmod 0755 ${TargetDir}@FB_INTLDIR@/fbintl
chmod 0644 ${TargetDir}@FB_INTLDIR@/fbintl.conf chmod 0644 ${TargetDir}@FB_INTLDIR@/fbintl.conf
# Note that the following items copy files from outside the build tree. # Note that the following items copy files from outside the build tree.
# Copy the sql-declarations into the UDF-directory # Copy the sql-declarations into the UDF-directory
#doc #doc
cp $BuildRootDir/doc/*.pdf ${TargetDir}@FB_DOCDIR@ cp $BuildRootDir/doc/*.pdf ${TargetDir}@FB_DOCDIR@
cp $BuildRootDir/doc/README.* ${TargetDir}@FB_DOCDIR@ cp $BuildRootDir/doc/README.* ${TargetDir}@FB_DOCDIR@
cp $BuildRootDir/doc/sql.extensions/README* ${TargetDir}@FB_DOCDIR@/sql.extensions cp $BuildRootDir/doc/sql.extensions/README* ${TargetDir}@FB_DOCDIR@/sql.extensions
cp $BuildRootDir/*.md ${TargetDir}@FB_CONFDIR@ cp $BuildRootDir/*.md ${TargetDir}@FB_CONFDIR@
for i in `find ${TargetDir}@FB_MISCDIR@ -print`; do for i in `find ${TargetDir}@FB_MISCDIR@ -print`; do
if [ -d $i ]; then if [ -d $i ]; then
chmod 0755 $i chmod 0755 $i
else else
chmod 0644 $i chmod 0644 $i
fi fi
done done
#misc #misc
cp $BuildRootDir/src/misc/intl.sql ${TargetDir}@FB_MISCDIR@ cp $BuildRootDir/src/misc/intl.sql ${TargetDir}@FB_MISCDIR@
cp $BuildRootDir/src/misc/upgrade/v4.0/udf_replace* ${TargetDir}@FB_MISCDIR@/upgrade/udf cp $BuildRootDir/src/misc/upgrade/v4.0/udf_replace* ${TargetDir}@FB_MISCDIR@/upgrade/udf
cp $BuildRootDir/gen/install/misc/firebird.init.d.* ${TargetDir}@FB_MISCDIR@ cp $BuildRootDir/gen/install/misc/firebird.init.d.* ${TargetDir}@FB_MISCDIR@
cp $BuildRootDir/gen/install/misc/rc.config.firebird ${TargetDir}@FB_MISCDIR@ cp $BuildRootDir/gen/install/misc/rc.config.firebird ${TargetDir}@FB_MISCDIR@
cp $BuildRootDir/gen/install/misc/firebird.service ${TargetDir}@FB_MISCDIR@ cp $BuildRootDir/gen/install/misc/firebird.service ${TargetDir}@FB_MISCDIR@
chmod -R go-rwx ${TargetDir}@FB_MISCDIR@ chmod -R go-rwx ${TargetDir}@FB_MISCDIR@
#conf
cp $BuiltFBDir/databases.conf ${TargetDir}@FB_CONFDIR@
cp $BuiltFBDir/fbtrace.conf ${TargetDir}@FB_CONFDIR@
cp $BuiltFBDir/replication.conf ${TargetDir}@FB_CONFDIR@
fi
#conf #conf
cp $BuiltFBDir/firebird.conf ${TargetDir}@FB_CONFDIR@ cp $BuiltFBDir/firebird.conf ${TargetDir}@FB_CONFDIR@
cp $BuiltFBDir/databases.conf ${TargetDir}@FB_CONFDIR@
cp $BuiltFBDir/fbtrace.conf ${TargetDir}@FB_CONFDIR@ if [ "$CLIENT_ONLY_FLG" = "N" ] || [ "$WITH_TOMCRYPT" = "Y" ]; then
cp $BuiltFBDir/plugins.conf ${TargetDir}@FB_CONFDIR@ cp $BuiltFBDir/plugins.conf ${TargetDir}@FB_CONFDIR@
cp $BuiltFBDir/replication.conf ${TargetDir}@FB_CONFDIR@ fi
chmod 0644 ${TargetDir}@FB_CONFDIR@/*.conf chmod 0644 ${TargetDir}@FB_CONFDIR@/*.conf
@ -314,7 +338,7 @@ copyFiles() {
chmod 0444 ${TargetDir}@FB_CONFDIR@/*License.txt chmod 0444 ${TargetDir}@FB_CONFDIR@/*License.txt
# link include files to /usr/include # link include files to /usr/include
linkFiles "@FB_INCDIR@" "firebird iberror.h ibase.h ib_util.h" "${TargetDir}/usr/include" "${TargetDir}@FB_INCDIR@" linkFiles "@FB_INCDIR@" "firebird iberror.h ibase.h ib_util.h" "${TargetDir}/usr/include" "${TargetDir}@FB_INCDIR@"
} }

View File

@ -16,6 +16,8 @@
:: ::
::============================================================================= ::=============================================================================
@echo off @echo off
set SCRIPT_FULL_NAME=%~d0%~p0%~n0%~x0
set SCRIPT_SHORT_NAME=%~n0%~x0
@goto :MAIN @goto :MAIN
@goto :EOF @goto :EOF
@ -26,9 +28,11 @@
@echo off @echo off
:: reset ERRLEV to clear error from last run in same cmd shell :: reset ERRLEV to clear error from last run in same cmd shell
set ERRLEV=0 set ERRLEV=
:: Assume we are preparing a production build :: Assume we are preparing a production build
set FBBUILD_BUILDTYPE=release set FBBUILD_BUILDTYPE=release
:: Don't ship pdb files by default :: Don't ship pdb files by default
set FBBUILD_SHIP_PDB=no_pdb set FBBUILD_SHIP_PDB=no_pdb
:: Reset "make" vars to zero :: Reset "make" vars to zero
@ -65,15 +69,15 @@ if "%FB2_SNAPSHOT%"=="1" (
:: let's bail out now. :: let's bail out now.
@echo o Checking for sed... @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... @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 @for /f "usebackq tokens=*" %%c in (`where /f touch 2^>nul`) do set TOUCH_COMMAND=%%c
if defined TOUCH_COMMAND ( if defined TOUCH_COMMAND (
@%TOUCH_COMMAND% --version <nul >nul 2>nul @%TOUCH_COMMAND% --version <nul >nul 2>nul
if not errorlevel 1 ( if not ERRORLEVEL 1 (
@echo o POSIX touch utility found at %TOUCH_COMMAND% @echo o POSIX touch utility found at %TOUCH_COMMAND%
) else ( @set TOUCH_COMMAND= ) ) else ( @set TOUCH_COMMAND= )
) )
@ -84,6 +88,9 @@ if defined MD5_COMMAND (
) )
if %FBBUILD_ZIP_PACK% EQU 1 ( if %FBBUILD_ZIP_PACK% EQU 1 (
if not defined SEVENZIP (
if exist "%ProgramW6432%\7-Zip\7z.exe" set SEVENZIP=%ProgramW6432%\7-Zip
)
if not defined SEVENZIP ( if not defined SEVENZIP (
call :ERROR SEVENZIP environment variable is not defined. call :ERROR SEVENZIP environment variable is not defined.
@goto :EOF @goto :EOF
@ -93,7 +100,7 @@ if %FBBUILD_ZIP_PACK% EQU 1 (
if %FBBUILD_ISX_PACK% NEQ 1 goto :SKIP_INNO if %FBBUILD_ISX_PACK% NEQ 1 goto :SKIP_INNO
if defined INNO6_SETUP_PATH ( 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 the environment variable is not set let's search in PATH
if not defined ISCC_COMMAND ( if not defined ISCC_COMMAND (
@ -154,8 +161,8 @@ set /A FBBUILD_PACKAGE_NUMBER+=1
:: If a suffix is defined (usually for an RC) ensure it is prefixed correctly. :: If a suffix is defined (usually for an RC) ensure it is prefixed correctly.
if defined FBBUILD_FILENAME_SUFFIX ( if defined FBBUILD_FILENAME_SUFFIX (
if not "%FBBUILD_FILENAME_SUFFIX:~0,1%"=="_" ( if not "%FBBUILD_FILENAME_SUFFIX:~0,1%"=="-" (
(set FBBUILD_FILENAME_SUFFIX=_%FBBUILD_FILENAME_SUFFIX%) (set FBBUILD_FILENAME_SUFFIX=-%FBBUILD_FILENAME_SUFFIX%)
) )
) )
@ -170,7 +177,11 @@ set FBBUILD_PROD_STATUS=PROD
set FBBUILD_PROD_STATUS=DEV set FBBUILD_PROD_STATUS=DEV
) )
set FBBUILD_FILE_ID=%PRODUCT_VER_STRING%_%FBBUILD_PACKAGE_NUMBER%_%FB_TARGET_PLATFORM% if "%FB_TARGET_PLATFORM%"=="x64" (
set FBBUILD_FILE_ID=%PRODUCT_VER_STRING%-%FBBUILD_PACKAGE_NUMBER%%FBBUILD_FILENAME_SUFFIX%-windows-x64
) else (
set FBBUILD_FILE_ID=%PRODUCT_VER_STRING%-%FBBUILD_PACKAGE_NUMBER%%FBBUILD_FILENAME_SUFFIX%-windows-x86
)
@setlocal @setlocal
@echo. @echo.
@ -204,33 +215,29 @@ set SED_COMMAND=sed -e s/\$MAJOR/%FB_MAJOR_VER%/g ^
:: MSVC should be installed with redistributable packages. :: MSVC should be installed with redistributable packages.
::===================== ::=====================
:: We are forced to set this because the runtime library now (MSVC15)
:: has a different version to the compiler. And sometimes they use 141
:: and sometimes 140.
if %MSVC_VERSION% EQU 15 (
@set MSVC_RUNTIME_MAJOR_VERSION=14
@set MSVC_RUNTIME_MINOR_VERSION_0=0
@set MSVC_RUNTIME_MINOR_VERSION_1=1
) else (
@set MSVC_RUNTIME_VERSION=%MSVC_VERSION%0
)
@echo Copying MSVC runtime libraries... @echo Copying MSVC runtime libraries...
@if not exist %FB_OUTPUT_DIR%\system32 ( @if not exist %FB_OUTPUT_DIR%\system32 (
@mkdir %FB_OUTPUT_DIR%\system32 @mkdir %FB_OUTPUT_DIR%\system32
) )
for %%f in ( msvcp%MSVC_RUNTIME_MAJOR_VERSION%%MSVC_RUNTIME_MINOR_VERSION_0%.dll vcruntime%MSVC_RUNTIME_MAJOR_VERSION%%MSVC_RUNTIME_MINOR_VERSION_0%.dll ) do ( :: Note the confusion of RT library numbers here! These notes, as of time of
echo Copying "%VCToolsRedistDir%\%VSCMD_ARG_TGT_ARCH%\Microsoft.VC%MSVC_RUNTIME_MAJOR_VERSION%%MSVC_RUNTIME_MINOR_VERSION_1%.CRT\%%f" :: writing 2021-12-21, are accurate for current versions of Visual Studio
copy "%VCToolsRedistDir%\%VSCMD_ARG_TGT_ARCH%\Microsoft.VC%MSVC_RUNTIME_MAJOR_VERSION%%MSVC_RUNTIME_MINOR_VERSION_1%.CRT\%%f" %FB_OUTPUT_DIR%\ >nul :: - 2017, 2019, 2022. Basic MS runtime version is v140. Except that is only
if %ERRORLEVEL% GEQ 1 ( :: used in file names. In reality Visual Studio uses 141, 142 or 143 in
call :ERROR Copying "%VCToolsRedistDir%\%VSCMD_ARG_TGT_ARCH%\Microsoft.VC%MSVC_RUNTIME_MAJOR_VERSION%%MSVC_RUNTIME_MINOR_VERSION_1%.CRT\%%f" failed with error %ERRORLEVEL% ) && (goto :EOF) :: directory names and merge module names as well as producing file names with
:: these version numbers. %MSVC_RUNTIME_FILE_VERSION% should represent 140.
:: %MSVC_RUNTIME_LIBRARY_VERSION% is based on the Visual Studio version used.
:: These variables are set in setenvvar.bat.
for %%f in ( msvcp%MSVC_RUNTIME_FILE_VERSION%.dll vcruntime%MSVC_RUNTIME_FILE_VERSION%.dll ) do (
echo Copying "%VCToolsRedistDir%\%VSCMD_ARG_TGT_ARCH%\Microsoft.VC%MSVC_RUNTIME_LIBRARY_VERSION%.CRT\%%f"
copy "%VCToolsRedistDir%\%VSCMD_ARG_TGT_ARCH%\Microsoft.VC%MSVC_RUNTIME_LIBRARY_VERSION%.CRT\%%f" %FB_OUTPUT_DIR%\ >nul
if ERRORLEVEL 1 (
call :ERROR Copying "%VCToolsRedistDir%\%VSCMD_ARG_TGT_ARCH%\Microsoft.VC%MSVC_RUNTIME_LIBRARY_VERSION%.CRT\%%f" failed with error %ERRLEV% ) & (goto :EOF)
) )
) )
@where /Q implib.exe @where /Q implib.exe
@if not errorlevel 1 ( @if not ERRORLEVEL 1 (
if "%VSCMD_ARG_TGT_ARCH%"=="x86" ( if "%VSCMD_ARG_TGT_ARCH%"=="x86" (
@echo Generating fbclient_bor.lib @echo Generating fbclient_bor.lib
@implib %FB_OUTPUT_DIR%\lib\fbclient_bor.lib %FB_OUTPUT_DIR%\fbclient.dll > nul @implib %FB_OUTPUT_DIR%\lib\fbclient_bor.lib %FB_OUTPUT_DIR%\fbclient.dll > nul
@ -240,27 +247,25 @@ if "%VSCMD_ARG_TGT_ARCH%"=="x86" (
@if "%FBBUILD_SHIP_PDB%"=="ship_pdb" ( @if "%FBBUILD_SHIP_PDB%"=="ship_pdb" (
@echo Copying pdb files... @echo Copying pdb files...
@copy %FB_TEMP_DIR%\%FBBUILD_BUILDTYPE%\fbserver\firebird.pdb %FB_OUTPUT_DIR%\ > nul @copy %FB_TEMP_DIR%\%FBBUILD_BUILDTYPE%\fbserver\firebird.pdb %FB_OUTPUT_DIR%\ > nul
@copy %FB_TEMP_DIR%\%FBBUILD_BUILDTYPE%\burp\burp.pdb %FB_OUTPUT_DIR%\gbak.pdb > nul
@copy %FB_TEMP_DIR%\%FBBUILD_BUILDTYPE%\gfix\gfix.pdb %FB_OUTPUT_DIR%\ > nul
@copy %FB_TEMP_DIR%\%FBBUILD_BUILDTYPE%\isql\isql.pdb %FB_OUTPUT_DIR%\ > nul
@copy %FB_TEMP_DIR%\%FBBUILD_BUILDTYPE%\yvalve\fbclient.pdb %FB_OUTPUT_DIR%\ > nul @copy %FB_TEMP_DIR%\%FBBUILD_BUILDTYPE%\yvalve\fbclient.pdb %FB_OUTPUT_DIR%\ > nul
@copy %FB_TEMP_DIR%\%FBBUILD_BUILDTYPE%\engine\engine*.pdb %FB_OUTPUT_DIR%\ > nul @copy %FB_TEMP_DIR%\%FBBUILD_BUILDTYPE%\engine\engine*.pdb %FB_OUTPUT_DIR%\plugins\ > nul
@copy %FB_TEMP_DIR%\%FBBUILD_BUILDTYPE%\fbtrace\fbtrace.pdb %FB_OUTPUT_DIR%\ > nul @copy %FB_TEMP_DIR%\%FBBUILD_BUILDTYPE%\fbtrace\fbtrace.pdb %FB_OUTPUT_DIR%\plugins\ > nul
@copy %FB_TEMP_DIR%\%FBBUILD_BUILDTYPE%\legacy_auth\legacy_auth.pdb %FB_OUTPUT_DIR%\ > nul @copy %FB_TEMP_DIR%\%FBBUILD_BUILDTYPE%\legacy_auth\legacy_auth.pdb %FB_OUTPUT_DIR%\plugins\ > nul
@copy %FB_TEMP_DIR%\%FBBUILD_BUILDTYPE%\legacy_usermanager\legacy_usermanager.pdb %FB_OUTPUT_DIR%\ > nul @copy %FB_TEMP_DIR%\%FBBUILD_BUILDTYPE%\legacy_usermanager\legacy_usermanager.pdb %FB_OUTPUT_DIR%\plugins\ > nul
@copy %FB_TEMP_DIR%\%FBBUILD_BUILDTYPE%\srp\srp.pdb %FB_OUTPUT_DIR%\ > nul @copy %FB_TEMP_DIR%\%FBBUILD_BUILDTYPE%\srp\srp.pdb %FB_OUTPUT_DIR%\plugins\ > nul
@copy %FB_TEMP_DIR%\%FBBUILD_BUILDTYPE%\udr_engine\udr_engine.pdb %FB_OUTPUT_DIR%\ > nul @copy %FB_TEMP_DIR%\%FBBUILD_BUILDTYPE%\udr_engine\udr_engine.pdb %FB_OUTPUT_DIR%\plugins\ > nul
) )
:: Maybe include these and other executables, one day ?
:: @copy %FB_TEMP_DIR%\%FBBUILD_BUILDTYPE%\gbak\gbak.pdb %FB_OUTPUT_DIR%\ > nul
:: @copy %FB_TEMP_DIR%\%FBBUILD_BUILDTYPE%\gfix\gfix.pdb %FB_OUTPUT_DIR%\ > nul
:: @copy %FB_TEMP_DIR%\%FBBUILD_BUILDTYPE%\isql\isql.pdb %FB_OUTPUT_DIR%\ > nul
@echo Started copying docs... @echo Started copying docs...
@rmdir /S /Q %FB_OUTPUT_DIR%\doc 2>nul @rmdir /S /Q %FB_OUTPUT_DIR%\doc 2>nul
@mkdir %FB_OUTPUT_DIR%\doc @mkdir %FB_OUTPUT_DIR%\doc
@copy %FB_ROOT_PATH%\*.md %FB_OUTPUT_DIR%\doc\ > nul @copy %FB_ROOT_PATH%\*.md %FB_OUTPUT_DIR%\doc\ > nul
@copy %FB_ROOT_PATH%\doc\*.* %FB_OUTPUT_DIR%\doc\ > nul @copy %FB_ROOT_PATH%\doc\*.* %FB_OUTPUT_DIR%\doc\ > nul
@if %ERRORLEVEL% GEQ 1 ( @if ERRORLEVEL 1 (
call :ERROR COPY of main documentation tree failed with error %ERRORLEVEL% call :ERROR COPY of main documentation tree failed.
goto :EOF goto :EOF
) )
@ -269,16 +274,16 @@ if "%VSCMD_ARG_TGT_ARCH%"=="x86" (
for %%d in ( v3.0 v4.0 ) do ( for %%d in ( v3.0 v4.0 ) do (
mkdir %FB_OUTPUT_DIR%\misc\upgrade\%%d 2>nul mkdir %FB_OUTPUT_DIR%\misc\upgrade\%%d 2>nul
@copy %FB_ROOT_PATH%\src\misc\upgrade\%%d\*.* %FB_OUTPUT_DIR%\misc\upgrade\%%d > nul @copy %FB_ROOT_PATH%\src\misc\upgrade\%%d\*.* %FB_OUTPUT_DIR%\misc\upgrade\%%d > nul
@if %ERRORLEVEL% GEQ 1 ( @if ERRORLEVEL 1 (
call :ERROR copy %FB_ROOT_PATH%\src\misc\upgrade\%%d\*.* %FB_OUTPUT_DIR%\misc\upgrade\%%d failed with error %ERRORLEVEL%. call :ERROR copy %FB_ROOT_PATH%\src\misc\upgrade\%%d\*.* %FB_OUTPUT_DIR%\misc\upgrade\%%d failed.
goto :EOF goto :EOF
) )
) )
:: INTL script :: INTL script
@copy %FB_ROOT_PATH%\src\misc\intl.sql %FB_OUTPUT_DIR%\misc\ > nul @copy %FB_ROOT_PATH%\src\misc\intl.sql %FB_OUTPUT_DIR%\misc\ > nul
@if %ERRORLEVEL% GEQ 1 ( @if ERRORLEVEL 1 (
call :ERROR copy %FB_ROOT_PATH%\src\misc\intl.sql %FB_OUTPUT_DIR%\misc failed with error %ERRORLEVEL%. call :ERROR copy %FB_ROOT_PATH%\src\misc\intl.sql %FB_OUTPUT_DIR%\misc failed.
goto :EOF goto :EOF
) )
@ -295,38 +300,36 @@ for %%d in ( v3.0 v4.0 ) do (
::) ::)
@mkdir %FB_OUTPUT_DIR%\doc\sql.extensions 2>nul @mkdir %FB_OUTPUT_DIR%\doc\sql.extensions 2>nul
@if %ERRORLEVEL% GEQ 2 ( (call :ERROR MKDIR for doc\sql.extensions dir failed) & (@goto :EOF)) @if ERRORLEVEL 2 ( ( call :ERROR MKDIR for doc\sql.extensions dir failed) & ( goto :EOF ) )
@copy %FB_ROOT_PATH%\doc\sql.extensions\*.* %FB_OUTPUT_DIR%\doc\sql.extensions\ > nul @copy %FB_ROOT_PATH%\doc\sql.extensions\*.* %FB_OUTPUT_DIR%\doc\sql.extensions\ > nul
@if %ERRORLEVEL% GEQ 1 ( (call :ERROR Copying doc\sql.extensions failed ) & (goto :EOF)) @if ERRORLEVEL 1 ( ( call :ERROR Copying doc\sql.extensions failed ) & ( goto :EOF ) )
:: External docs aren't necessary for a snapshot build, so we don't throw :: External docs aren't necessary for a snapshot build, so we don't throw
:: an error if FB_EXTERNAL_DOCS is not defined. On the other hand, :: an error if FB_EXTERNAL_DOCS is not defined. On the other hand,
:: if the docs are available then we can include them. :: if the docs are available then we must include them.
if defined FB_EXTERNAL_DOCS ( @if defined FB_EXTERNAL_DOCS (
@echo Copying pdf docs... echo Copying pdf docs...
@for %%v in ( Firebird_v%FB_MAJOR_VER%.%FB_MINOR_VER%.%FB_REV_NO%.ReleaseNotes.pdf ) do ( for %%v in ( Firebird-%FB_MAJOR_VER%.%FB_MINOR_VER%.%FB_REV_NO%%FBBUILD_FILENAME_SUFFIX%-ReleaseNotes.pdf ) do (
@echo ... %%v echo ... %FB_EXTERNAL_DOCS%\%%v to %FB_OUTPUT_DIR%\doc\%%v
@copy /Y %FB_EXTERNAL_DOCS%\%%v %FB_OUTPUT_DIR%\doc\%%v > nul copy /Y %FB_EXTERNAL_DOCS%\%%v %FB_OUTPUT_DIR%\doc\%%v > nul
if %ERRORLEVEL% GEQ 1 (call :ERROR Copying %FB_EXTERNAL_DOCS%\%%v failed.) if ERRORLEVEL 1 ( call :ERROR Copying %FB_EXTERNAL_DOCS%\%%v to %FB_OUTPUT_DIR%\doc\%%v FAILED. & (@goto :EOF) )
) )
@for %%v in ( Firebird-%FB_MAJOR_VER%.%FB_MINOR_VER%-QuickStart.pdf ) do ( for %%v in ( Firebird-%FB_MAJOR_VER%.%FB_MINOR_VER%-QuickStart.pdf ) do (
@echo ... %%v echo ... %%v
@copy /Y %FB_EXTERNAL_DOCS%\%%v %FB_OUTPUT_DIR%\doc\%%v > nul copy /Y %FB_EXTERNAL_DOCS%\%%v %FB_OUTPUT_DIR%\doc\%%v > nul
if %ERRORLEVEL% GEQ 1 ( if ERRORLEVEL 1 (
REM - As of RC1 there is no quick start guide so we do not want REM - As of RC1 there is no quick start guide so we do not want
REM the packaging to fail for something that doesn't exist REM the packaging to fail for something that doesn't exist
if "%FBBUILD_FILENAME_SUFFIX%" == "_RC1" ( if "%FBBUILD_FILENAME_SUFFIX%" == "-RC1" (
echo Copying %FB_EXTERNAL_DOCS%\%%v failed. echo Copying %FB_EXTERNAL_DOCS%\%%v failed.
) else ( ) else (
call :ERROR Copying %FB_EXTERNAL_DOCS%\%%v failed. call :WARNING Copying %FB_EXTERNAL_DOCS%\%%v failed.
) )
) )
) )
echo Finished copying pdf docs...
echo.
@echo Finished copying pdf docs...
@echo.
) )
@echo Cleaning irrelevant files... @echo Cleaning irrelevant files...
@ -378,17 +381,17 @@ if %FB2_SNAPSHOT% EQU 1 (
:: Generate runtimes as an MSI file. :: Generate runtimes as an MSI file.
:: This requires WiX 3.0 to be installed :: This requires WiX 3.0 to be installed
::============ ::============
if %MSVC_VERSION% EQU 15 ( @if %MSVC_VERSION% EQU 15 (
if not exist %FB_OUTPUT_DIR%\system32\vccrt%MSVC_RUNTIME_MAJOR_VERSION%%MSVC_RUNTIME_MINOR_VERSION_1%_%FB_TARGET_PLATFORM%.msi ( if not exist %FB_OUTPUT_DIR%\system32\vccrt%MSVC_RUNTIME_LIBRARY_VERSION%_%FB_TARGET_PLATFORM%.msi (
"%WIX%\bin\candle.exe" -v -sw1091 %FB_ROOT_PATH%\builds\win32\msvc%MSVC_VERSION%\VCCRT_%FB_TARGET_PLATFORM%.wxs -out %FB_GEN_DIR%\vccrt_%FB_TARGET_PLATFORM%.wixobj "%WIX%\bin\candle.exe" -v -sw1091 %FB_ROOT_PATH%\builds\win32\msvc%MSVC_VERSION%\VCCRT_%FB_TARGET_PLATFORM%.wxs -out %FB_GEN_DIR%\vccrt_%FB_TARGET_PLATFORM%.wixobj
@if %ERRORLEVEL% GEQ 1 ( @if ERRORLEVEL 1 (
( call :ERROR Could not generate wixobj for MSVC Runtime MSI ) & (goto :EOF) ( call :ERROR Could not generate wixobj for MSVC Runtime MSI ) & (goto :EOF)
) else ( ) else (
"%WIX%\bin\light.exe" -sw1076 %FB_GEN_DIR%\vccrt_%FB_TARGET_PLATFORM%.wixobj -out %FB_OUTPUT_DIR%\system32\vccrt%MSVC_RUNTIME_MAJOR_VERSION%%MSVC_RUNTIME_MINOR_VERSION_1%_%FB_TARGET_PLATFORM%.msi "%WIX%\bin\light.exe" -sw1076 %FB_GEN_DIR%\vccrt_%FB_TARGET_PLATFORM%.wixobj -out %FB_OUTPUT_DIR%\system32\vccrt%MSVC_RUNTIME_LIBRARY_VERSION%_%FB_TARGET_PLATFORM%.msi
@if %ERRORLEVEL% GEQ 1 ( (call :ERROR Could not generate MSVCC Runtime MSI ) & (goto :EOF)) @if ERRORLEVEL 1 ( ( call :ERROR Could not generate MSVCC Runtime MSI %MSVC_RUNTIME_LIBRARY_VERSION% ) & ( goto :EOF ) )
) )
) else ( ) else (
@echo Using an existing build of %FB_OUTPUT_DIR%\system32\vccrt%MSVC_RUNTIME_MAJOR_VERSION%%MSVC_RUNTIME_MINOR_VERSION_1%_%FB_TARGET_PLATFORM%.msi @echo Using an existing build of %FB_OUTPUT_DIR%\system32\vccrt%MSVC_RUNTIME_LIBRARY_VERSION%_%FB_TARGET_PLATFORM%.msi
) )
) )
@ -411,7 +414,7 @@ setlocal
set OUTPATH=%FB_OUTPUT_DIR%\include set OUTPATH=%FB_OUTPUT_DIR%\include
@copy %FB_ROOT_PATH%\src\yvalve\perf.h %OUTPATH%\ > nul @copy %FB_ROOT_PATH%\src\yvalve\perf.h %OUTPATH%\ > nul
@copy %FB_ROOT_PATH%\src\include\gen\firebird.pas %OUTPATH%\firebird\ > nul || (@call :ERROR Failure executing copy %FB_ROOT_PATH%\src\include\gen\firebird.pas %OUTPATH%\firebird\ ) @copy %FB_ROOT_PATH%\src\include\gen\firebird.pas %OUTPATH%\firebird\ > nul || (@call :ERROR Failure executing copy %FB_ROOT_PATH%\src\include\gen\firebird.pas %OUTPATH%\firebird\ )
@if %ERRLEV% GEQ 1 goto :END @if ERRORLEVEL 1 goto :END
endlocal endlocal
@ -437,8 +440,8 @@ copy %FB_ROOT_PATH%\builds\install\misc\databases.conf %FB_OUTPUT_DIR%\databases
:: in builds\win32 by build_msg.bat. Copying from there to output dir :: in builds\win32 by build_msg.bat. Copying from there to output dir
::================================================================= ::=================================================================
@if not exist %FB_OUTPUT_DIR%\firebird.msg ( @if not exist %FB_OUTPUT_DIR%\firebird.msg (
(@copy %FB_GEN_DIR%\firebird.msg %FB_OUTPUT_DIR%\firebird.msg > nul) (copy %FB_GEN_DIR%\firebird.msg %FB_OUTPUT_DIR%\firebird.msg > nul)
(@if %ERRORLEVEL% GEQ 1 ( (call :ERROR Could not copy firebird.msg ) & (goto :EOF))) (if ERRORLEVEL 1 ( ( call :ERROR Could not copy firebird.msg ) & ( goto :EOF ) ) )
) )
::End of FB_MSG ::End of FB_MSG
@ -451,7 +454,7 @@ copy %FB_ROOT_PATH%\builds\install\misc\databases.conf %FB_OUTPUT_DIR%\databases
:: that and they all have windows EOL :: 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 ( 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 ::End of SET_CRLF
@ -464,12 +467,12 @@ 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 :: Forcefully disable delayed expansion because of exclamation marks in 7z switches
setlocal DisableDelayedExpansion 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" ( if "%FBBUILD_SHIP_PDB%" == "ship_pdb" (
set FBBUILD_ZIPFILE=%FBBUILD_INSTALL_IMAGES%\Firebird-%FBBUILD_FILE_ID%_pdb%FBBUILD_FILENAME_SUFFIX%.zip set FBBUILD_ZIPFILE=%FBBUILD_INSTALL_IMAGES%\Firebird-%FBBUILD_FILE_ID%-withDebugSymbols.zip
) else ( ) else (
set FBBUILD_ZIPFILE=%FBBUILD_INSTALL_IMAGES%\Firebird-%FBBUILD_FILE_ID%%FBBUILD_FILENAME_SUFFIX%.zip set FBBUILD_ZIPFILE=%FBBUILD_INSTALL_IMAGES%\Firebird-%FBBUILD_FILE_ID%.zip
set SKIP_FILES=%SKIP_FILES% -x!*.pdb set SKIP_FILES=%SKIP_FILES% -x!*.pdb
) )
@ -482,7 +485,7 @@ if exist %FBBUILD_ZIPFILE% (
@del %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 endlocal
@ -544,16 +547,19 @@ if not defined MD5_COMMAND (
call :WARNING md5sum utility not found. Cannot generate md5 sums. call :WARNING md5sum utility not found. Cannot generate md5 sums.
@goto :EOF @goto :EOF
) )
@echo Generating md5sums for Firebird-%PRODUCT_VER_STRING%-%FBBUILD_PACKAGE_NUMBER% set FBBUILD_MD5SUMS_FILENAME=Firebird-%PRODUCT_VER_STRING%-%FBBUILD_PACKAGE_NUMBER%%FBBUILD_FILENAME_SUFFIX%-windows.md5sum
@echo Generating md5sums for %FBBUILD_MD5SUMS_FILENAME%
:: write sums into temporary file to avoid including it into the process :: write sums into temporary file to avoid including it into the process
pushd %FBBUILD_INSTALL_IMAGES% pushd %FBBUILD_INSTALL_IMAGES%
call %MD5_COMMAND% Firebird-%PRODUCT_VER_STRING%?%FBBUILD_PACKAGE_NUMBER%*.* >md5sum.tmp call %MD5_COMMAND% Firebird-%PRODUCT_VER_STRING%-%FBBUILD_PACKAGE_NUMBER%*.* > md5sum.tmp
:: then rename it to the proper name :: then rename it to the proper name
if not errorlevel 1 ( if not ERRORLEVEL 1 (
del Firebird-%PRODUCT_VER_STRING%-%FBBUILD_PACKAGE_NUMBER%.md5sum >nul 2>nul del %FBBUILD_MD5SUMS_FILENAME% >nul 2>nul
ren md5sum.tmp Firebird-%PRODUCT_VER_STRING%-%FBBUILD_PACKAGE_NUMBER%.md5sum ren md5sum.tmp %FBBUILD_MD5SUMS_FILENAME%
) else (
(@echo Error calling %0 & popd & @goto :END)
) )
popd popd
@ -618,20 +624,19 @@ popd
:ERROR :ERROR
::==== ::====
:: errorlevel gets reset automatically so capture it before we lose it. set ERRLEV=%ERRORLEVEL%
set ERRLEV=%errorlevel%
@echo. @echo.
@echo Error %ERRLEV% in BuildExecutableInstall @echo Error code %ERRLEV% in %SCRIPT_SHORT_NAME%
@echo %* @echo %*
@echo. @echo.
::End of ERROR ::End of ERROR
::------------ ::------------
@goto :EOF @goto :END
:WARNING :WARNING
::====== ::======
set ERRLEV=%errorlevel% set ERRLEV=%ERRORLEVEL%
@echo. @echo.
@echo **** WARNING - Execution of a non-critical component failed with error level %ERRLEV%. **** @echo **** WARNING - Execution of a non-critical component failed with error level %ERRLEV%. ****
@echo %* @echo %*
@ -642,8 +647,11 @@ if "%FBBUILD_PROD_STATUS%"=="PROD" (
@echo Error %ERRLEV% must be fixed before continuing @echo Error %ERRLEV% must be fixed before continuing
@echo. @echo.
) else ( ) else (
set ERRLEV=0 set ERRLEV=
@ver > nul
) )
::End of WARNING
::--------------
@goto :EOF @goto :EOF
@ -658,16 +666,16 @@ for %%v in ( %1 %2 %3 %4 %5 %6 %7 %8 %9 ) do (
pushd ..\..\..\win32 pushd ..\..\..\win32
::This must be called from the directory it resides in. ::This must be called from the directory it resides in.
@call setenvvar.bat @call setenvvar.bat %*
@if ERRORLEVEL 1 (popd & (call :ERROR Failure after calling setenvvar.bat ) & goto :END )
popd popd
@if errorlevel 1 (goto :END)
@if not defined FB2_ISS_DEBUG (set FB2_ISS_DEBUG=0) @if not defined FB2_ISS_DEBUG (set FB2_ISS_DEBUG=0)
@echo. @echo.
@echo Reading command-line parameters... @echo Reading command-line parameters...
@(@call :SET_PARAMS %* ) @(@call :SET_PARAMS %* )
@if "%ERRLEV%"=="1" (@goto :ERROR %errorlevel% calling SET_PARAMS && @goto :END) @if ERRORLEVEL 1 (@call :ERROR Calling SET_PARAMS & goto :END)
@echo. @echo.
@echo Checking that all required components are available... @echo Checking that all required components are available...
@ -727,11 +735,14 @@ if %FBBUILD_ISX_PACK% EQU 1 (
@(@call :DO_MD5SUMS ) || (@echo Error calling DO_MD5SUMS && @goto :END) @(@call :DO_MD5SUMS ) || (@echo Error calling DO_MD5SUMS && @goto :END)
@echo. @echo.
@echo Completed building installation kit(s) @echo Completed building installation kit(s)
@echo. @echo.
:: If we got this far then be sure to reset ERRLEV
:: because run_all.bat will check for ERRLEV
@set ERRLEV=
::@if %FB2_ISS_DEBUG% equ 0 (ENDLOCAL) ::@if %FB2_ISS_DEBUG% equ 0 (ENDLOCAL)
::End of MAIN ::End of MAIN
::----------- ::-----------

View File

@ -23,9 +23,9 @@
; Usage Notes: ; Usage Notes:
; ;
; This script has been designed to work with Inno Setup v6.1.2 ; This script has been designed to work with Inno Setup v6.2.1
; It is available as a quick start pack from here: ; It is available as a quick start pack from here:
; http://www.jrsoftware.org/isdl.php ; https://www.jrsoftware.org/isdl.php
; ;
; ;
; Known bugs and problems etc etc. ; Known bugs and problems etc etc.
@ -77,8 +77,8 @@
#define PackageNumber "0" #define PackageNumber "0"
#endif #endif
#define FilenameSuffix GetEnv("FBBUILD_FILENAME_SUFFIX") #define FilenameSuffix GetEnv("FBBUILD_FILENAME_SUFFIX")
#if FilenameSuffix != "" && pos('_',FilenameSuffix) == 0 #if FilenameSuffix != "" && pos('-',FilenameSuffix) == 0
#define FilenameSuffix "_" + FilenameSuffix #define FilenameSuffix "-" + FilenameSuffix
#endif #endif
;-------Start of Innosetup script debug flags section ;-------Start of Innosetup script debug flags section
@ -117,8 +117,9 @@
;We speed up compilation (and hence testing) by not compressing contents. ;We speed up compilation (and hence testing) by not compressing contents.
#undef compression #undef compression
;Default to x64 for testing ;Default to x64_release for testing
#define PlatformTarget "x64" #define PlatformTarget "x64"
#define ConfigurationTarget "release"
#endif #endif
;-------#ifdef iss_debug ;-------#ifdef iss_debug
@ -138,7 +139,7 @@
; even Windows 7 are now deprecated and hopefully no production install of ; even Windows 7 are now deprecated and hopefully no production install of
; W2K8 R2 is unpatched. If necessary we can define 'support_legacy_windows' to ; W2K8 R2 is unpatched. If necessary we can define 'support_legacy_windows' to
; roll back this new feature but users who need to deploy to what are now ; roll back this new feature but users who need to deploy to what are now
; ancient versions of windows are advised to manually install Firebird 4.0 with ; ancient versions of windows are advised to manually install Firebird with
; the zip package. ; the zip package.
#ifdef support_legacy_windows #ifdef support_legacy_windows
#define MINVER "6.0" #define MINVER "6.0"
@ -163,24 +164,32 @@
#pragma warning "msvc runtime major version was not defined. Forcing default value." #pragma warning "msvc runtime major version was not defined. Forcing default value."
#endif #endif
#if Len(GetEnv("MSVC_RUNTIME_MINOR_VERSION_0")) > 0 #if Len(GetEnv("MSVC_RUNTIME_MINOR_VERSION")) > 0
#define msvc_runtime_minor_version_0 GetEnv("MSVC_RUNTIME_MINOR_VERSION_0") #define msvc_runtime_minor_version GetEnv("MSVC_RUNTIME_MINOR_VERSION")
#else #else
#define msvc_runtime_minor_version_0 0 #define msvc_runtime_minor_version 0
#pragma warning "msvc runtime minor version 0 was not defined. Forcing default value." #pragma warning "msvc runtime minor version 0 was not defined. Forcing default value."
#endif #endif
#if Len(GetEnv("MSVC_RUNTIME_LIBRARY_VERSION")) > 0
#define msvc_runtime_library_version GetEnv("MSVC_RUNTIME_LIBRARY_VERSION")
#endif
#if Len(GetEnv("MSVC_RUNTIME_FILE_VERSION")) > 0
#define msvc_runtime_file_version GetEnv("MSVC_RUNTIME_FILE_VERSION")
#endif
;if we are running msvc15 then we sometimes need to look for 140 and sometimes for 141 ;if we are running msvc15 then we sometimes need to look for 140 and sometimes for 141
; the rule until MS changes it again is that 141 is always used, except for the filename ; the rule until MS changes it again is that 141 is always used, except for the filename
; of the vcruntime and msvcp dll's. ; of the vcruntime and msvcp dll's.
#if msvc_version = 15 ;#if msvc_version = 15
#if Len(GetEnv("MSVC_RUNTIME_MINOR_VERSION_1")) > 0 ;#if Len(GetEnv("MSVC_RUNTIME_MINOR_VERSION_2")) > 0
#define msvc_runtime_minor_version_1 GetEnv("MSVC_RUNTIME_MINOR_VERSION_1") ;#define msvc_runtime_minor_version GetEnv("MSVC_RUNTIME_MINOR_VERSION_2")
#else ;#else
#define msvc_runtime_minor_version_1 1 ;#define msvc_runtime_minor_version 2
#pragma warning "msvc runtime minor version 1 was not defined. Forcing default value." ;#pragma warning "msvc runtime minor version 2 was not defined. Forcing default value."
#endif ;#endif
#endif ;#endif
#if Int(msvc_version,15) < 15 #if Int(msvc_version,15) < 15
#define msvcr_filename = "msvcr" #define msvcr_filename = "msvcr"
@ -208,6 +217,21 @@
#endif #endif
#endif #endif
#if PlatformTarget == "x64"
#define ReleasePlatformTarget "x64"
#else
#define ReleasePlatformTarget "x86"
#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 FB_BUILD_TYPE == "T"
;If we are still under development we can ignore some missing files. ;If we are still under development we can ignore some missing files.
#define SkipFileIfDevStatus " skipifsourcedoesntexist " #define SkipFileIfDevStatus " skipifsourcedoesntexist "
@ -216,9 +240,9 @@
#endif #endif
;This location is relative to SourceDir (declared below) ;This location is relative to SourceDir (declared below)
#define FilesDir="output_" + PlatformTarget #define FilesDir="output_" + PlatformTarget + "_" + ConfigurationTarget
#if PlatformTarget == "x64" #if PlatformTarget == "x64"
#define WOW64Dir="output_win32" #define WOW64Dir="output_Win32" + "_" + ConfigurationTarget
#endif #endif
;BaseVer should be used for all FB_MAJOR_VER.FB_MINOR_VER installs. ;BaseVer should be used for all FB_MAJOR_VER.FB_MINOR_VER installs.
@ -227,6 +251,7 @@
#define AppVer FB_MAJOR_VER + "_" + FB_MINOR_VER #define AppVer FB_MAJOR_VER + "_" + FB_MINOR_VER
#define GroupnameVer FB_MAJOR_VER + "." + FB_MINOR_VER #define GroupnameVer FB_MAJOR_VER + "." + FB_MINOR_VER
#define FB_cur_ver FB_MAJOR_VER + "." + FB_MINOR_VER + "." + FB_REV_NO #define FB_cur_ver FB_MAJOR_VER + "." + FB_MINOR_VER + "." + FB_REV_NO
#define FB_display_ver FB_cur_ver + FilenameSuffix
; We can save space by shipping a pdb package that just includes ; We can save space by shipping a pdb package that just includes
; the pdb files. It would then upgrade an existing installation, ; the pdb files. It would then upgrade an existing installation,
@ -242,14 +267,17 @@
;#endif ;#endif
;Some more strings to distinguish the name of final executable ; Some more strings to distinguish the name of final executable
; shipping with debug symbols should not be confused with actual debug builds
#ifdef ship_pdb #ifdef ship_pdb
#define pdb_str="_pdb" #define pdb_str="-withDebugSymbols"
#else #else
#define pdb_str="" #define pdb_str=""
#endif #endif
; This is intended for builds that have been built with the debug flag
; So far we have never actually released such a build.
#if GetEnv("FBBUILD_BUILDTYPE") == "debug" #if GetEnv("FBBUILD_BUILDTYPE") == "debug"
#define debug_str="_debug" #define debug_str="-debugbuild"
#else #else
#define debug_str="" #define debug_str=""
#endif #endif
@ -273,8 +301,8 @@ AppVersion={#MyAppVerString}
VersionInfoVersion={#MyAppVerString} VersionInfoVersion={#MyAppVerString}
SourceDir={#Root} SourceDir={#Root}
OutputBaseFilename={#MyAppName}-{#MyAppVerString}_{#PackageNumber}_{#PlatformTarget}{#debug_str}{#pdb_str}{#FilenameSuffix} OutputBaseFilename={#MyAppName}-{#MyAppVerString}-{#PackageNumber}{#FilenameSuffix}-windows-{#ReleasePlatformTarget}{#debug_str}{#pdb_str}
;OutputManifestFile={#MyAppName}-{#MyAppVerString}_{#PackageNumber}_{#PlatformTarget}{#debug_str}{#pdb_str}{#FilenameSuffix}_Setup-Manifest.txt ;OutputManifestFile={#MyAppName}-{#MyAppVerString}-{#PackageNumber}{#FilenameSuffix}-windows-{#ReleasePlatformTarget}{#debug_str}{#pdb_str}-Setup-Manifest.txt
OutputDir=builds\install_images OutputDir=builds\install_images
;!!! These directories are as seen from SourceDir !!! ;!!! These directories are as seen from SourceDir !!!
#define ScriptsDir "builds\install\arch-specific\win32" #define ScriptsDir "builds\install\arch-specific\win32"
@ -377,9 +405,9 @@ Name: CopyFbClientAsGds32Task; Description: {cm:CopyFbClientAsGds32Task}; Compon
[Run] [Run]
; due to the changes required to support MSVC15 support for earlier versions is now broken. ; due to the changes required to support MSVC15 support for earlier versions is now broken.
#if Int(msvc_runtime_major_version,14) >= 14 #if Int(msvc_runtime_major_version,14) >= 14
Filename: msiexec.exe; Parameters: "/qn /norestart /i ""{tmp}\vccrt{#msvc_runtime_major_version}{#msvc_runtime_minor_version_1}_Win32.msi"" /L*v ""{tmp}\vccrt{#msvc_runtime_major_version}{#msvc_runtime_minor_version_1}_Win32.log"" "; StatusMsg: "Installing MSVC 32-bit runtime libraries to system directory"; Check: HasWI30; Components: ClientComponent; Filename: msiexec.exe; Parameters: "/qn /norestart /i ""{tmp}\vccrt{#msvc_runtime_library_version}_Win32.msi"" /L*v ""{tmp}\vccrt{#msvc_runtime_library_version}_Win32.log"" "; StatusMsg: "Installing MSVC 32-bit runtime libraries to system directory"; Check: HasWI30; Components: ClientComponent;
#if PlatformTarget == "x64" #if PlatformTarget == "x64"
Filename: msiexec.exe; Parameters: "/qn /norestart /i ""{tmp}\vccrt{#msvc_runtime_major_version}{#msvc_runtime_minor_version_1}_x64.msi"" /L*v ""{tmp}\vccrt{#msvc_runtime_major_version}{#msvc_runtime_minor_version_1}_x64.log"" "; StatusMsg: "Installing MSVC 64-bit runtime libraries to system directory"; Check: HasWI30; Components: ClientComponent; Filename: msiexec.exe; Parameters: "/qn /norestart /i ""{tmp}\vccrt{#msvc_runtime_library_version}_x64.msi"" /L*v ""{tmp}\vccrt{#msvc_runtime_library_version}_x64.log"" "; StatusMsg: "Installing MSVC 64-bit runtime libraries to system directory"; Check: HasWI30; Components: ClientComponent;
#endif #endif
#endif #endif
@ -389,7 +417,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 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 Filename: {app}\instclient.exe; Parameters: "install gds32"; StatusMsg: {cm:instclientGenGds32}; MinVersion: {#MinVer}; Components: ClientComponent; Flags: runminimized; Check: CopyGds32
#if PlatformTarget == "x64" #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 Filename: {app}\WOW64\instclient.exe; Parameters: "install gds32"; StatusMsg: {cm:instclientGenGds32}; MinVersion: {#MinVer}; Components: ClientComponent; Flags: runminimized 32bit; Check: CopyGds32
#endif #endif
@ -419,17 +447,17 @@ Root: HKLM; Subkey: "SOFTWARE\FirebirdSQL"; ValueType: none; Flags: deletekey;
Name: {group}\Firebird Server; Filename: {app}\firebird.exe; Parameters: {code:StartAppParams}; Flags: runminimized; MinVersion: {#MinVer}; Check: InstallServerIcon; IconIndex: 0; Components: ServerComponent; Comment: Run Firebird Server (without guardian) Name: {group}\Firebird Server; Filename: {app}\firebird.exe; Parameters: {code:StartAppParams}; Flags: runminimized; MinVersion: {#MinVer}; Check: InstallServerIcon; IconIndex: 0; Components: ServerComponent; Comment: Run Firebird Server (without guardian)
Name: {group}\Firebird Guardian; Filename: {app}\fbguard.exe; Parameters: {code:StartAppParams}; Flags: runminimized; MinVersion: {#MinVer}; Check: InstallGuardianIcon; IconIndex: 1; Components: ServerComponent; Comment: Run Firebird Server (with guardian); Name: {group}\Firebird Guardian; Filename: {app}\fbguard.exe; Parameters: {code:StartAppParams}; Flags: runminimized; MinVersion: {#MinVer}; Check: InstallGuardianIcon; IconIndex: 1; Components: ServerComponent; Comment: Run Firebird Server (with guardian);
Name: {group}\Firebird ISQL Tool; Filename: {app}\isql.exe; Parameters: -z; WorkingDir: {app}; MinVersion: {#MinVer}; Comment: {cm:RunISQL} Name: {group}\Firebird ISQL Tool; Filename: {app}\isql.exe; Parameters: -z; WorkingDir: {app}; MinVersion: {#MinVer}; Comment: {cm:RunISQL}
Name: {group}\Firebird {#FB_cur_ver} Release Notes; Filename: {app}\doc\Firebird_v{#FB_cur_ver}.ReleaseNotes.pdf; MinVersion: {#MinVer}; Comment: {#MyAppName} {cm:ReleaseNotes} Name: {group}\Firebird {#FB_display_ver} Release Notes; Filename: {app}\doc\Firebird-{#FB_display_ver}-ReleaseNotes.pdf; MinVersion: {#MinVer}; Comment: {#MyAppName} {cm:ReleaseNotes}
;Name: {group}\Firebird {#GroupnameVer} Quick Start Guide; Filename: {app}\doc\Firebird-{#FB_MAJOR_VER}-QuickStart.pdf; MinVersion: {#MinVer}; Comment: {#MyAppName} {#FB_cur_ver} ;Name: {group}\Firebird {#GroupnameVer} Quick Start Guide; Filename: {app}\doc\Firebird-{#FB_MAJOR_VER}-QuickStart.pdf; MinVersion: {#MinVer}; Comment: {#MyAppName} {#FB_display_ver}
Name: "{group}\After Installation"; Filename: "{app}\doc\After_Installation.url"; Comment: "New User? Here's a quick guide to what you should do next." Name: "{group}\After Installation"; Filename: "{app}\doc\After_Installation.url"; Comment: "New User? Here's a quick guide to what you should do next."
Name: "{group}\Firebird Web-site"; Filename: "{app}\doc\firebirdsql.org.url" Name: "{group}\Firebird Web-site"; Filename: "{app}\doc\firebirdsql.org.url"
;Always install the original english version ;Always install the original english version
Name: {group}\{cm:IconReadme,{#FB_cur_ver}}; Filename: {app}\readme.txt; MinVersion: {#MinVer}; Name: {group}\{cm:IconReadme,{#FB_display_ver}}; Filename: {app}\readme.txt; MinVersion: {#MinVer};
#ifdef i18n #ifdef i18n
;And install translated readme.txt if non-default language is chosen. ;And install translated readme.txt if non-default language is chosen.
Name: {group}\{cm:IconReadme,{#FB_cur_ver}}; Filename: {app}\{cm:ReadMeFile}; MinVersion: {#MinVer}; Components: DevAdminComponent; Check: NonDefaultLanguage; Name: {group}\{cm:IconReadme,{#FB_display_ver}}; Filename: {app}\{cm:ReadMeFile}; MinVersion: {#MinVer}; Components: DevAdminComponent; Check: NonDefaultLanguage;
#endif #endif
Name: {group}\{cm:Uninstall,{#FB_cur_ver}}; Filename: {uninstallexe}; Comment: Uninstall Firebird Name: {group}\{cm:Uninstall,{#FB_display_ver}}; Filename: {uninstallexe}; Comment: Uninstall Firebird
[Files] [Files]
#ifdef files #ifdef files
@ -492,10 +520,10 @@ Source: {#FilesDir}\icuin??.dll; DestDir: {app}; Components: ClientComponent; Fl
Source: {#FilesDir}\icudt??.dll; DestDir: {app}; Components: ClientComponent; Flags: sharedfile ignoreversion Source: {#FilesDir}\icudt??.dll; DestDir: {app}; Components: ClientComponent; Flags: sharedfile ignoreversion
Source: {#FilesDir}\icudt*.dat; DestDir: {app}; Components: ClientComponent; Flags: sharedfile ignoreversion Source: {#FilesDir}\icudt*.dat; DestDir: {app}; Components: ClientComponent; Flags: sharedfile ignoreversion
#if PlatformTarget == "x64" #if PlatformTarget == "x64"
Source: {#WOW64Dir}\icuuc??.dll; 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 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 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 Source: {#WOW64Dir}\icudt*.dat; DestDir: {app}\WOW64; Components: ClientComponent; Flags: sharedfile ignoreversion {#SkipFileIfDevStatus}
#endif #endif
#if PlatformTarget =="Win32" #if PlatformTarget =="Win32"
@ -504,19 +532,19 @@ Source: {#FilesDir}\fbrmclib.dll; DestDir: {app}; Components: ServerComponent; F
Source: {#FilesDir}\zlib1.dll; DestDir: {app}; Components: ClientComponent; Flags: sharedfile ignoreversion Source: {#FilesDir}\zlib1.dll; DestDir: {app}; Components: ClientComponent; Flags: sharedfile ignoreversion
#if PlatformTarget == "x64" #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 #endif
;Rules for installation of MS runtimes are simplified with MSVC10 ;Rules for installation of MS runtimes are simplified with MSVC10
;We just install the runtimes into the install dir. ;We just install the runtimes into the install dir.
#if Int(msvc_runtime_major_version,14) >= 14 #if Int(msvc_runtime_major_version,14) >= 14
Source: {#FilesDir}\{#msvcr_filename}{#msvc_runtime_major_version}{#msvc_runtime_minor_version_0}.dll; DestDir: {app}; Components: ClientComponent; Flags: sharedfile; Source: {#FilesDir}\{#msvcr_filename}{#msvc_runtime_file_version}.dll; DestDir: {app}; Components: ClientComponent; Flags: sharedfile;
Source: {#FilesDir}\msvcp{#msvc_runtime_major_version}{#msvc_runtime_minor_version_0}.dll; DestDir: {app}; Components: ClientComponent; Flags: sharedfile; Source: {#FilesDir}\msvcp{#msvc_runtime_file_version}.dll; DestDir: {app}; Components: ClientComponent; Flags: sharedfile;
#if PlatformTarget == "x64" #if PlatformTarget == "x64"
;If we are installing on x64 we need some 32-bit libraries for compatibility with 32-bit applications ;If we are installing on x64 we need some 32-bit libraries for compatibility with 32-bit applications
Source: {#WOW64Dir}\{#msvcr_filename}{#msvc_runtime_major_version}{#msvc_runtime_minor_version_0}.dll; DestDir: {app}\WOW64; Components: ClientComponent; Flags: sharedfile {#SkipFileIfDevStatus}; Source: {#WOW64Dir}\{#msvcr_filename}{#msvc_runtime_file_version}.dll; DestDir: {app}\WOW64; Components: ClientComponent; Flags: sharedfile {#SkipFileIfDevStatus};
Source: {#WOW64Dir}\msvcp{#msvc_runtime_major_version}{#msvc_runtime_minor_version_0}.dll; DestDir: {app}\WOW64; Components: ClientComponent; Flags: sharedfile {#SkipFileIfDevStatus}; Source: {#WOW64Dir}\msvcp{#msvc_runtime_file_version}.dll; DestDir: {app}\WOW64; Components: ClientComponent; Flags: sharedfile {#SkipFileIfDevStatus};
#endif #endif
#endif /* #if Int(msvc_runtime_major_version,14) >= 10 */ #endif /* #if Int(msvc_runtime_major_version,14) >= 10 */
@ -524,10 +552,10 @@ Source: {#WOW64Dir}\msvcp{#msvc_runtime_major_version}{#msvc_runtime_minor_versi
#if PlatformTarget == "x64" #if PlatformTarget == "x64"
;MinVersion 0,5.0 means no version of Win9x and at least Win2k if NT O/S ;MinVersion 0,5.0 means no version of Win9x and at least Win2k if NT O/S
;In addition, O/S must have Windows Installer 3.0. ;In addition, O/S must have Windows Installer 3.0.
Source: {#FilesDir}\system32\vccrt{#msvc_runtime_major_version}{#msvc_runtime_minor_version_1}_x64.msi; DestDir: {tmp}; Check: HasWI30; MinVersion: {#MinVer}; Components: ClientComponent; Flags: {#SkipFileIfDevStatus} Source: {#FilesDir}\system32\vccrt{#msvc_runtime_library_version}_x64.msi; DestDir: {tmp}; Check: HasWI30; MinVersion: {#MinVer}; Components: ClientComponent; Flags: {#SkipFileIfDevStatus}
Source: {#WOW64Dir}\system32\vccrt{#msvc_runtime_major_version}{#msvc_runtime_minor_version_1}_Win32.msi; DestDir: {tmp}; Check: HasWI30; MinVersion: {#MinVer}; Components: ClientComponent; Flags: {#SkipFileIfDevStatus} Source: {#WOW64Dir}\system32\vccrt{#msvc_runtime_library_version}_Win32.msi; DestDir: {tmp}; Check: HasWI30; MinVersion: {#MinVer}; Components: ClientComponent; Flags: {#SkipFileIfDevStatus}
#else #else
Source: {#FilesDir}\system32\vccrt{#msvc_runtime_major_version}{#msvc_runtime_minor_version_1}_Win32.msi; DestDir: {tmp}; Check: HasWI30; MinVersion: {#MinVer}; Components: ClientComponent; Flags: {#SkipFileIfDevStatus} Source: {#FilesDir}\system32\vccrt{#msvc_runtime_library_version}_Win32.msi; DestDir: {tmp}; Check: HasWI30; MinVersion: {#MinVer}; Components: ClientComponent; Flags: {#SkipFileIfDevStatus}
#endif #endif
#endif #endif
@ -541,7 +569,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}\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.dll; DestDir: {app}\intl; Components: ServerComponent; Flags: sharedfile ignoreversion;
Source: {#FilesDir}\intl\fbintl.conf; DestDir: {app}\intl; Components: ServerComponent; Flags: onlyifdoesntexist 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" #if PlatformTarget == "x64"
Source: {#WOW64Dir}\lib\*.lib; DestDir: {app}\WOW64\lib; Components: DevAdminComponent; Flags: ignoreversion {#SkipFileIfDevStatus} Source: {#WOW64Dir}\lib\*.lib; DestDir: {app}\WOW64\lib; Components: DevAdminComponent; Flags: ignoreversion {#SkipFileIfDevStatus}
#endif #endif
@ -558,7 +586,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\*.conf; DestDir: {app}\plugins; Components: ServerComponent; Flags: ignoreversion;
Source: {#FilesDir}\plugins\udr\*.*; DestDir: {app}\plugins\udr; Components: ServerComponent; Flags: ignoreversion; Source: {#FilesDir}\plugins\udr\*.*; DestDir: {app}\plugins\udr; Components: ServerComponent; Flags: ignoreversion;
#if PlatformTarget == "x64" #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 #endif
Source: {#FilesDir}\misc\*.*; DestDir: {app}\misc; Components: ServerComponent; Flags: ignoreversion createallsubdirs recursesubdirs ; Source: {#FilesDir}\misc\*.*; DestDir: {app}\misc; Components: ServerComponent; Flags: ignoreversion createallsubdirs recursesubdirs ;
@ -575,9 +603,12 @@ Source: {#FilesDir}\examples\*.*; DestDir: {app}\examples; Components: DevAdminC
#ifdef ship_pdb #ifdef ship_pdb
Source: {#FilesDir}\fbclient.pdb; DestDir: {app}; Components: ClientComponent; Source: {#FilesDir}\fbclient.pdb; DestDir: {app}; Components: ClientComponent;
Source: {#FilesDir}\firebird.pdb; DestDir: {app}; Components: ServerComponent; Source: {#FilesDir}\firebird.pdb; DestDir: {app}; Components: ServerComponent;
;Source: {#FilesDir}\fbembed.pdb; DestDir: {app}; Components: ClientComponent; Source: {#FilesDir}\gbak.pdb; DestDir: {app}; Components: DevAdminComponent;
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" #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
#endif #endif

View File

@ -920,9 +920,6 @@ end;
function ConfigureFirebird: boolean; function ConfigureFirebird: boolean;
begin begin
if IsNotServerInstall then
Result := False
else
Result := (InstallAndConfigure AND Configure) = Configure; Result := (InstallAndConfigure AND Configure) = Configure;
end; end;
@ -1210,12 +1207,16 @@ begin
end; end;
} }
function ConfigureAuthentication: boolean; function ConfigureAuthentication: boolean;
begin begin
if FileExists(WizardDirValue + '\security5.fdb') then if IsNotServerInstall then
Result := false Result := false
else else
Result := true; if FileExists(WizardDirValue + '\security5.fdb') then
Result := false
else
Result := true;
end; end;

View File

@ -82,7 +82,7 @@ en.SYSDBAPasswordEmpty=Password is empty. You must enter a password for SYSDBA.
en.EnableLegacyClientAuth=Enable a&uthorization for legacy Firebird clients? en.EnableLegacyClientAuth=Enable a&uthorization for legacy Firebird clients?
en.CreateSYSDBAPassword=Create a password for the Database System Administrator en.CreateSYSDBAPassword=Create a password for the Database System Administrator
en.ClickThroughPWCreation=Or click through to use the default password of masterkey. en.ClickThroughPWCreation=Or click through to use the default password of masterkey.
en.PasswordNote=*** Note - in Firebird 3 masterkey and masterke are different passwords. *** en.PasswordNote=*** Note - since Firebird 3 masterkey and masterke are different passwords. ***
en.SYSDBAPassword=SYSDBA Password: en.SYSDBAPassword=SYSDBA Password:
en.RetypeSYSDBAPassword=Retype SYSDBA Password: en.RetypeSYSDBAPassword=Retype SYSDBA Password:
en.InstallingMSVC32runtimes=Installing MSVC 32-bit runtime libraries to system directory en.InstallingMSVC32runtimes=Installing MSVC 32-bit runtime libraries to system directory

View File

@ -1,6 +1,6 @@
######################################### #########################################
# #
# Firebird version 4.0 configuration file # Firebird version 5.0 configuration file
# #
# Comments # Comments
# -------- # --------
@ -104,7 +104,7 @@
# To specify access to specific trees, enum all required paths # To specify access to specific trees, enum all required paths
# (for Windows this may be something like 'C:\DataBase;D:\Mirror', # (for Windows this may be something like 'C:\DataBase;D:\Mirror',
# for unix - '/db;/mnt/mirrordb'). If you choose 'None', then only # for unix - '/db;/mnt/mirrordb'). If you choose 'None', then only
# databases listed in databases.conf can be attached. # databases listed in databases.conf can be attached using alias.
# #
# Note: simple quotation marks shown above should *NOT* be used when # Note: simple quotation marks shown above should *NOT* be used when
# specifying values and directory path names. Examples: # specifying values and directory path names. Examples:
@ -507,6 +507,12 @@
# #
#UserManager = Srp #UserManager = Srp
# Default profiler plugin used to profile connections using the RDB$PROFILER package.
#
# Per-database configurable.
#
#DefaultProfilerPlugin = Default_Profiler
# TracePlugin is used by firebird trace facility to send trace data to the user # TracePlugin is used by firebird trace facility to send trace data to the user
# or log file in audit case. # or log file in audit case.
# #
@ -611,6 +617,18 @@
#ConnectionIdleTimeout = 0 #ConnectionIdleTimeout = 0
# ----------------------------
#
# Set number of seconds after which ON DISCONNECT trigger execution will be
# automatically cancelled by the engine. Zero means no timeout is set.
#
# Per-database configurable.
#
# Type: integer
#
#OnDisconnectTriggerTimeout = 180
# ---------------------------- # ----------------------------
# #
# How often the pages are flushed on disk # How often the pages are flushed on disk
@ -858,14 +876,6 @@
# #
#TcpNoNagle = 1 #TcpNoNagle = 1
#
# Either enables or disables the "TCP Loopback Fast Path" feature (SIO_LOOPBACK_FAST_PATH).
# Applies to Windows (version 8/2012 or higher) only.
#
# Type: Boolean, default 1 (true)
#
#TcpLoopbackFastPath = 1
# #
# Allows setting of IPV6_V6ONLY socket option. If enabled, IPv6 sockets # Allows setting of IPV6_V6ONLY socket option. If enabled, IPv6 sockets
# allow only IPv6 communication and separate sockets must be used for # allow only IPv6 communication and separate sockets must be used for
@ -1019,6 +1029,19 @@
#GCPolicy = combined #GCPolicy = combined
# ----------------------------
# Maximum statement cache size
#
# The maximum amount of RAM used to cache unused DSQL compiled statements.
# If set to 0 (zero), statement cache is disabled.
#
# Per-database configurable.
#
# Type: integer
#
#MaxStatementCacheSize = 2M
# ---------------------------- # ----------------------------
# Security database # Security database
# #
@ -1032,6 +1055,36 @@
#SecurityDatabase = $(dir_secDb)/security5.fdb #SecurityDatabase = $(dir_secDb)/security5.fdb
# ============================
# Settings for parallel work
# ============================
#
# Limits the total number of parallel workers that could be created within a
# single Firebird process for each attached database.
# Note, workers are accounted for each attached database independently.
#
# Valid values are from 1 (no parallelism) to 64. All other values
# silently ignored and default value of 1 is used.
# Per-process.
#
# Type: integer
#
#MaxParallelWorkers = 1
#
# Default number of parallel workers for the single task. For more details
# see doc/README.parallel_features.
#
# Valid values are from 1 (no parallelism) to MaxParallelWorkers (above).
# Values less than 1 is silently ignored and default value of 1 is used.
# Per-process.
#
# Type: integer
#
#ParallelWorkers = 1
# ============================== # ==============================
# Settings for Windows platforms # Settings for Windows platforms
# ============================== # ==============================

View File

@ -211,8 +211,11 @@ missingLibrary() {
# Check library presence, errorexit when missing # Check library presence, errorexit when missing
checkLibrary() { checkLibrary() {
libName=${1} libList=${1}
haveLibrary $libName || missingLibrary $libName for libName in $libList
do
haveLibrary $libName || missingLibrary $libName
done
} }

File diff suppressed because it is too large Load Diff

View File

@ -1,329 +0,0 @@
PWD_CURR= $(shell pwd)
PROJ_ROOT:= $(PWD_CURR)
FB2_ROOT= $(PROJ_ROOT)/../../..
GEN_ROOT= $(FB2_ROOT)/gen
SRC_ROOT= $(FB2_ROOT)/src
FIREBIRD= $(GEN_ROOT)/firebird
BIN_ROOT= $(FIREBIRD)/bin
DB_ROOT= $(GEN_ROOT)/refDatabases
BUILD_DIR= $(PROJ_ROOT)/build
FW= $(BUILD_DIR)/Firebird.framework
VAR= $(FW)/Versions/Current/Resources/English.lproj/var
DYLD_FRAMEWORK_PATH=$(BUILD_DIR)
export DYLD_FRAMEWORK_PATH
GPRE_BOOT= $(BUILD_DIR)/gpre_bootstrap
GPRE= $(BUILD_DIR)/gpre
GBAK= $(BUILD_DIR)/gbak
CREATE_DB= $(BUILD_DIR)/create_db
LOCK_MGR= $(BUILD_DIR)/gds_lock_mgr
GFIX= $(BUILD_DIR)/gfix
ISQL= $(BUILD_DIR)/isql
GSEC= $(BUILD_DIR)/gsec
CHECK_MSGS= $(BUILD_DIR)/check_msgs
BUILD_MSGS= $(BUILD_DIR)/build_file
SEC_AUTH= $(VAR)/auth/security_db.auth
LOCAL_USER_AUTH= $(VAR)/auth/current_euid.auth
EMPTY_DB= $(DB_ROOT)/empty.gdb
MSG_DB= $(DB_ROOT)/msg.gdb
META_DB= $(DB_ROOT)/metadata.gdb
ISC_DB= $(FIREBIRD)/isc4.gdb
ISC_GBAK= $(FIREBIRD)/isc.gbak
MSG_FILE= $(FIREBIRD)/interbase.msg
MSG_INDICATOR= $(GEN_ROOT)/msgs/indicator.msg
PS_FW_FLAG= $(GEN_ROOT)/firebird/.pseudo_framework_flag
UPG_FW_FLAG= $(GEN_ROOT)/firebird/.upgrade_framework_flag
FULL_FW_FLAG= $(GEN_ROOT)/firebird/.full_framework_flag
FB_FW= $(PROJ_ROOT)/build/Firebird.framework
JRD_EPP_FILES= blob_filter.cpp dyn.epp dyn_util.epp ini.epp stats.epp \
dyn_def.epp met.epp dfw.epp dyn_del.epp \
fun.epp dpm.epp dyn_mod.epp grant.epp scl.epp
JRD_GEN_FILES= $(JRD_EPP_FILES:%.epp=$(GEN_ROOT)/jrd/%.cpp)
DSQL_EPP_FILES= array.epp blob.epp metd.epp
DSQL_YACC_FILES= parse.y
DSQL_GEN_FILES= $(DSQL_EPP_FILES:%.epp=$(GEN_ROOT)/dsql/%.cpp) \
$(DSQL_YACC_FILES:%.y=$(GEN_ROOT)/dsql/%.cpp)
GPRE_EPP_FILES= gpre_meta.epp
GPRE_GEN_FILES= $(GPRE_EPP_FILES:%.epp=$(GEN_ROOT)/gpre/%.cpp)
GBAK_EPP_FILES= backup.epp restore.epp OdsDetection.epp
GBAK_GEN_FILES= $(GBAK_EPP_FILES:%.epp=$(GEN_ROOT)/burp/%.cpp)
GFIX_EPP_FILES= alice_meta.epp
GFIX_GEN_FILES= $(GFIX_EPP_FILES:%.epp=$(GEN_ROOT)/alice/%.cpp)
ISQL_EPP_FILES= extract.epp isql.epp show.epp
ISQL_GEN_FILES= $(ISQL_EPP_FILES:%.epp=$(GEN_ROOT)/isql/%.cpp)
UTILITIES_EPP_FILES= dba.epp
UTILITIES_GEN_FILES= $(UTILITIES_EPP_FILES:%.epp=$(GEN_ROOT)/utilities/%.cpp)
SECURITY_EPP_FILES= security.epp
SECURITY_GEN_FILES= $(SECURITY_EPP_FILES:%.epp=$(GEN_ROOT)/utilities/%.cpp)
MSG_EPP_FILES= change_msgs.epp check_msgs.epp enter_msgs.epp load.epp modify_msgs.epp
MSG_GEN_FILES= $(MSG_EPP_FILES:%.epp=$(GEN_ROOT)/msgs/%.cpp)
GPRE_FLAGS= -r -m -z -n
all:
$(GEN_ROOT)/jrd/dyn_def.cpp : $(SRC_ROOT)/jrd/dyn_def.epp \
$(SRC_ROOT)/jrd/dyn_def.sed
$(GPRE_BOOT) $(GPRE_FLAGS) $< $(GEN_ROOT)/jrd/dyn_deffoo.cpp
sed -f $(SRC_ROOT)/jrd/dyn_def.sed $(GEN_ROOT)/jrd/dyn_deffoo.cpp > $@
rm $(GEN_ROOT)/jrd/dyn_deffoo.cpp
$(GEN_ROOT)/dsql/y.tab.c: $(SRC_ROOT)/dsql/parse.y
$(YACC) -l $(YFLAGS) -o $@ $<
$(GEN_ROOT)/dsql/parse.cpp: $(SRC_ROOT)/dsql/parse.sed \
$(GEN_ROOT)/dsql/y.tab.c
sed -f $< $(GEN_ROOT)/dsql/y.tab.c > $@
$(GEN_ROOT)/jrd/%.cpp: $(SRC_ROOT)/jrd/%.epp $(GPRE_BOOT)
$(GPRE_BOOT) $(GPRE_FLAGS) $< $@
$(GEN_ROOT)/dsql/%.cpp: $(SRC_ROOT)/dsql/%.epp $(GPRE_BOOT)
$(GPRE_BOOT) $(GPRE_FLAGS) $< $@
$(GEN_ROOT)/gpre/%.cpp: $(SRC_ROOT)/gpre/%.epp $(GPRE_BOOT)
$(GPRE_BOOT) $(GPRE_FLAGS) $< $@
$(GEN_ROOT)/burp/%.cpp: $(SRC_ROOT)/burp/%.epp $(GPRE)
$(GPRE) $(GPRE_FLAGS) $< $@
$(GEN_ROOT)/alice/%.cpp: $(SRC_ROOT)/alice/%.epp $(GPRE)
$(GPRE) $(GPRE_FLAGS) $< $@
$(GEN_ROOT)/isql/%.cpp: $(SRC_ROOT)/isql/%.epp $(GPRE)
$(GPRE) $(GPRE_FLAGS) $< $@
$(GEN_ROOT)/utilities/%.cpp: $(SRC_ROOT)/utilities/%.epp $(GPRE)
$(GPRE) $(GPRE_FLAGS) $< $@
$(GEN_ROOT)/msgs/%.cpp: $(SRC_ROOT)/msgs/%.epp $(GPRE)
$(GPRE) $(GPRE_FLAGS) $< $@
gds_lock_mgr: $(LOCK_MGR)
$(LOCK_MGR): $(PROJ_ROOT)/build/gds_lock_mgr
cp $< $@
intl_lib: $(VAR)/intl/gdsintl
$(VAR)/intl/gdsintl: build/gdsintl
cp $< $@
chmod a+x $(VAR)/intl/*
sec_auth: $(SEC_AUTH)
$(SEC_AUTH): $(PROJ_ROOT)/build/security_db.auth.bundle/Contents/MacOS/security_db.auth
mkdir -p $(VAR)/auth
-cp $< $@
-chmod a+rx $@
local_user_auth: $(LOCAL_USER_AUTH)
$(LOCAL_USER_AUTH): $(PROJ_ROOT)/build/current_euid.auth.bundle/Contents/MacOS/current_euid.auth
mkdir -p $(VAR)/auth
-cp $< $@
-chmod a+rx $@
firebird_boot.dylib: ../../gen/firebird/lib/firebird_boot.dylib
../../gen/firebird/lib/firebird_boot.dylib: build/firebird_boot.dylib
rm -f $@
ln -s ../../../macosx_build/firebird_test/$< $@
rm -f $(FB_FW)/Versions/Current/Firebird2
ln -s ../../../lib/firebird_boot.dylib $(FB_FW)/Versions/Current/Firebird2
jrd_preprocess_clean:
rm -f $(JRD_GEN_FILES)
jrd_preprocess_: GPRE_FLAGS=-n -z -gds_cxx -raw -ids
jrd_preprocess_: $(JRD_GEN_FILES)
jrd_preprocess_%:
gpre_preprocess_clean:
rm -f $(GPRE_GEN_FILES)
gpre_preprocess_: GPRE_FLAGS=-lang_internal -r -m -z -n
gpre_preprocess_: $(GPRE_GEN_FILES)
gpre_preprocess_%:
dsql_preprocess_clean:
rm -f $(DSQL_GEN_FILES) $(GEN_ROOT)/dsql/y.tab.c
dsql_preprocess_: GPRE_FLAGS=-lang_internal -r -m -z -n
dsql_preprocess_: $(DSQL_GEN_FILES)
dsql_preprocess_%:
burp_preprocess: $(GBAK_GEN_FILES)
burp_preprocess_clean:
rm -f $(GBAK_GEN_FILES)
burp_preprocess_:
./gpre_wrapper.sh burp_preprocess burp
burp_preprocess_%:
msg_preprocess: $(MSG_GEN_FILES)
msg_preprocess_clean:
rm -f $(MSG_GEN_FILES)
msg_preprocess_:
./gpre_wrapper.sh msg_preprocess msgs
msg_preprocess_%:
messages_clean:
rm -f $(MSG_FILE) $(MSG_INDICATOR)
messages_:
make -f $(PROJ_ROOT)/Helpers.make -C $(FB2_ROOT)/gen/msgs PWD_CURR=$(PWD_CURR) messages
messages: update_msg_indicator msg_file
msg_file: $(MSG_INDICATOR)
$(BUILD_MSGS) -d master_msg_db
cp interbase.msg $(MSG_FILE)
update_msg_indicator: $(MSG_DB)
$(CHECK_MSGS) -d master_msg_db
alice_preprocess_clean:
rm -f $(ALICE_GEN_FILES)
alice_preprocess_: $(ALICE_GEN_FILES)
alice_preprocess_%:
gfix_preprocess_clean:
rm -f $(GFIX_GEN_FILES)
gfix_preprocess: $(GFIX_GEN_FILES)
gfix_preprocess_%:
gfix_preprocess_:
./gpre_wrapper.sh gfix_preprocess alice
security_preprocess_clean:
rm -f $(SECURITY_GEN_FILES)
security_preprocess: $(SECURITY_GEN_FILES)
security_preprocess_%:
security_preprocess_:
./gpre_wrapper.sh security_preprocess utilities
utilities_preprocess_clean:
rm -f $(UTILITIES_GEN_FILES)
utilities_preprocess_: $(UTILITIES_GEN_FILES)
utilities_preprocess_%:
isql_preprocess_clean:
rm -f $(ISQL_GEN_FILES)
isql_preprocess_:
./gpre_wrapper.sh isql_preprocess isql
isql_preprocess: $(ISQL_GEN_FILES)
isql_preprocess_%:
empty_db_clean:
rm -f $(EMPTY_DB)
empty_db_: $(EMPTY_DB)
$(EMPTY_DB):
rm -f $(EMPTY_DB)
$(CREATE_DB) $(EMPTY_DB)
empty_db_%:
$(FULL_FW_FLAG):
touch $(FULL_FW_FLAG)
$(UPG_FW_FLAG):
touch $(UPG_FW_FLAG)
#upgrade_fw_: $(UPG_FW_FLAG)
#$(UPG_FW_FLAG): $(PS_FW_FLAG) $(FULL_FW_FLAG)
# rm -f $(FB_FW)/Versions/A/Firebird2
# ln -s ../../../lib/firebird.dylib $(FB_FW)/Versions/Current/Firebird2
# touch $(UPG_FW_FLAG)
#upgrade_fw_clean:
#upgrade_fw_install:
darwin_pseudo_fw_: $(PS_FW_FLAG)
$(PS_FW_FLAG): $(FULL_FW_FLAG) $(UPG_FW_FLAG)
$(MAKE) -C $(SRC_ROOT) darwin_pseudo_fw
touch $(PS_FW_FLAG)
darwin_pseudo_fw_clean:
$(MSG_DB): $(SRC_ROOT)/msgs/msg.gbak
$(GBAK) -MODE read_only -R $(SRC_ROOT)/msgs/msg.gbak $@
ln -fs $(MSG_DB) $(GEN_ROOT)/msgs/msg.gdb
ln -fs $(MSG_DB) $(GEN_ROOT)/msgs/master_msg_db
isc4.gdb_: $(ISC_DB) sysdba_user
$(ISC_DB) : $(SRC_ROOT)/utilities/isc4.sql $(SRC_ROOT)/utilities/isc4.gdl
( cd $(FIREBIRD); $(ISQL) -z -i $(SRC_ROOT)/utilities/isc4.sql)
-ln -sf $(ISC_DB) $(GEN_ROOT)/utilities/isc4.gdb
isc4.gdb_clean:
rm -f $(ISC_DB) $(GEN_ROOT)/utilities/isc4.gdb
isc4.gdb_%:
sysdba_user_:
make -C $(FIREBIRD) -f $(PROJ_ROOT)/Helpers.make PWD_CURR=$(PWD_CURR) sysdba_user
sysdba_user_clean:
sysdba_user:
-$(GSEC) -da $(ISC_DB) -delete SYSDBA
$(GSEC) -da $(ISC_DB) -add SYSDBA -pw masterkey
$(GBAK) -z $(ISC_DB) $(ISC_GBAK)
message_file_:
$(MAKE) -C $(FB2_ROOT)/src/msgs GPRE_CURRENT=$(GPRE) msgs
message_file_clean:
rm -f $(FB2_ROOT)/gen/firebird/interbase.msg
squeky_:
squeky_install:
squeky_clean:
rm -rf $(FIREBIRD)/lib/* $(FIREBIRD)/Firebird2.framework $(FIREBIRD)/.* $GEN_ROOT)/jrd/.* $(GEN_ROOT)/utilities/.* $(FIREBIRD)/bin/*
autoconf_: $(FB2_ROOT)/config.status
$(FB2_ROOT)/config.status: $(FB2_ROOT)/configure
(cd $(FB2_ROOT); ./configure)
autoconf_clean:
rm -f $(FB2_ROOT)/config.cache $(FB2_ROOT)/config.log $(FB2_ROOT)/config.status $(FB2_ROOT)/src/include/gen/autoconfig.h
fb_fw_var: $(VAR)
$(VAR):
mkdir -p $(VAR)
mkdir -p $(VAR)/intl
mkdir -p $(VAR)/help
mkdir -p $(VAR)/auth
mkdir -p $(VAR)/UDF
ln -s $(GEN_ROOT)/firebird/interbase.msg $(VAR)/interbase.msg
ln -s ../../../../../.. $(VAR)/bin
ln -s $(GEN_ROOT)/firebird/isc4.gdb $(VAR)/isc4.gdb
fw_files_clean:
fw_files_:
rm -rf $(VAR)
mkdir -p $(VAR)/UDF
mkdir -p $(VAR)/intl
mkdir -p $(VAR)/help
mkdir -p $(VAR)/auth
mkdir -p $(FB_FW)/Resources/bin
cp $(FIREBIRD)/interbase.msg $(VAR)/interbase.msg
-cp $(GPRE) $(GBAK) $(ISQL) $(GSEC) $(GFIX) $(FB_FW)/Resources/bin
cp $(FIREBIRD)/isc.gbak $(VAR)
cp build/gdsintl $(VAR)/intl
chmod a+x $(VAR)/intl/*
-cp build/local_user.bundle/Contents/MacOS/local_user $(LOCAL_USER_AUTH)
-cp $(SRC_ROOT)/install/arch-specific/darwin/services.isc $(VAR)
ln -s ../../bin $(VAR)/bin
headers_:
-mkdir -p $(FB_FW)/Versions/A/Headers
echo "#ifndef IBASE_H" > $(FW)/Headers/ibase.h
cat $(SRC_ROOT)/include/fb_types.h $(SRC_ROOT)/jrd/sqlda_pub.h $(SRC_ROOT)/jrd/dsc_pub.h $(SRC_ROOT)/jrd/ibase.h $(SRC_ROOT)/jrd/inf_pub.h $(SRC_ROOT)/include/gen/iberror.h $(SRC_ROOT)/jrd/blr.h | grep -v "#include" >> $(FW)/Headers/ibase.h
echo "#endif /*IBASE_H*/" >> $(FW)/Headers/ibase.h
headers_clean:
installer_clean:
rm -f build/firebird.tar.gz
installer_:
mkdir -p build/installer_tmp/firebird
rm -f build/firebird.tar.gz
rm -f $(VAR)/isc_init* $(VAR)/isc_lock* $(VAR)/isc_event* $(VAR)/interbase.log
tar -cf build/installer_tmp/firebird/firebird.tar -C build Firebird.framework
-cp $(SRC_ROOT)/install/arch-specific/darwin/install build/installer_tmp/firebird
tar -czf build/firebird.tar.gz -C build/installer_tmp firebird
rm -rf build/installer_tmp

View File

@ -1,3 +0,0 @@
#!/bin/sh
make -C ../../../gen/$2 -f `pwd`/Helpers.make PWD_CURR=`pwd` $1

View File

@ -1,3 +0,0 @@
#!/bin/sh
make -f Helpers.make $1

View File

@ -1,4 +0,0 @@
#define __PUT_STATIC_DATA_MEMBERS_HERE
#include <vector>
#include <string>

View File

@ -1,3 +0,0 @@
void fb_framework_build_stub()
{
}

View File

@ -83,12 +83,19 @@ LTC_LDFLAGS='-L$(LIB) $(subst $,$$$$,$(call LIB_LINK_RPATH,lib))'
endif endif
endif endif
# correct build type for cmake builds
FB_CMAKE_BUILD_TYPE=$(TARGET)
ifeq ($(FB_CMAKE_BUILD_TYPE),Native)
FB_CMAKE_BUILD_TYPE=Release
endif
.PHONY: master_process cross_process firebird Debug Release external .PHONY: master_process cross_process firebird Debug Release external
all: firebird all: firebird
firebird: firebird:
$(MAKE) TARGET=$(DefaultTarget) $(Process) $(MAKE) TARGET?=$(DefaultTarget) $(Process)
Release: Release:
$(MAKE) TARGET=Release $(Process) $(MAKE) TARGET=Release $(Process)
@ -174,24 +181,31 @@ $(GEN_ROOT)/Make.Version : $(SRC_ROOT)/misc/writeBuildNum.sh
# #
external: external:
CC="$(CC)" CFLAGS="$(CFLAGS)" $(MAKE) -C $(ROOT)/extern/btyacc ifeq ($(CLIENT_ONLY_FLG),N)
CXX="$(CXX)" CXXFLAGS="$(CXXFLAGS)" $(MAKE) -C $(ROOT)/extern/cloop TARGET=release WITH_FPC=0 BUILD_DIR=$(TMP_ROOT)/cloop OUT_DIR=$(GEN_ROOT)/$(TARGET)/cloop CC="$(CC)" CFLAGS="$(CFLAGS)" AR="$(AR)" $(MAKE) -C $(ROOT)/extern/btyacc
endif
CC="$(CC)" CFLAGS="$(CFLAGS)" $(MAKE) -C $(ROOT)/extern/decNumber CXX="$(CXX)" CXXFLAGS="$(CXXFLAGS)" $(MAKE) -C $(ROOT)/extern/cloop TARGET=release WITH_FPC=0 BUILD_DIR=$(TMP_ROOT)/cloop OUT_DIR=$(GEN_ROOT)/$(TARGET)/cloop core
ln -sf $(ROOT)/extern/decNumber/libdecFloat.a $(LIB)
CC="$(CC)" CFLAGS="$(CFLAGS)" AR="$(AR)" $(MAKE) -C $(ROOT)/extern/decNumber
ln -sf $(ROOT)/extern/decNumber/libdecFloat.a $(STATIC_LIB)
ifeq ($(ABSEIL_BUILD_FLG),Y) ifeq ($(ABSEIL_BUILD_FLG),Y)
CXX="$(CXX)" CXXFLAGS="$(CXXFLAGS)" $(MAKE) -C $(ROOT)/extern/int128/absl/numeric CXX="$(CXX)" CXXFLAGS="$(CXXFLAGS)" $(MAKE) -C $(ROOT)/extern/int128/absl/numeric
ln -sf $(ROOT)/extern/int128/absl/numeric/libi128.a $(LIB) ln -sf $(ROOT)/extern/int128/absl/numeric/libi128.a $(STATIC_LIB)
endif endif
ifeq ($(CLIENT_ONLY_FLG),N)
ifeq ($(RE2_BUILD_FLG),Y) ifeq ($(RE2_BUILD_FLG),Y)
CXX="$(CXX)" CXXFLAGS="$(CXXFLAGS) -O3 -g -fPIC" $(MAKE) -C $(ROOT)/extern/re2 CXX="$(CXX)" CXXFLAGS="$(CXXFLAGS) -O3 -g -fPIC" AR="$(AR)" $(MAKE) -C $(ROOT)/extern/re2
ln -sf $(ROOT)/extern/re2/obj/libre2.a $(LIB) ln -sf $(ROOT)/extern/re2/obj/libre2.a $(STATIC_LIB)
endif
$(MAKE) libcds
endif endif
ifeq ($(TOMMATH_BUILD_FLG),Y) ifeq ($(TOMMATH_BUILD_FLG),Y)
CC="$(CC)" CFLAGS="$(CFLAGS)" $(MAKE) -C $(ROOT)/extern/libtommath -f makefile.shared GCC=$(GCC) CC="$(CC)" CFLAGS="$(CFLAGS)" AR="$(AR)" $(MAKE) -C $(ROOT)/extern/libtommath -f makefile.shared GCC="$(CC)"
ifeq ($(PLATFORM),DARWIN) ifeq ($(PLATFORM),DARWIN)
install_name_tool -id "@rpath/lib/libtommath.dylib" $(TOMMATH)/.libs/libtommath.0.dylib install_name_tool -id "@rpath/lib/libtommath.dylib" $(TOMMATH)/.libs/libtommath.0.dylib
@ -203,7 +217,7 @@ endif
endif endif
ifeq ($(TOMCRYPT_BUILD_FLG),Y) ifeq ($(TOMCRYPT_BUILD_FLG),Y)
CC="$(CC)" CFLAGS="$(CFLAGS) $(TOM2TOM_CFLAGS)" $(MAKE) -C $(ROOT)/extern/libtomcrypt -f makefile.shared GCC=$(GCC) LTC_LDFLAGS=$(LTC_LDFLAGS) CC="$(CC)" CFLAGS="$(CFLAGS) $(TOM2TOM_CFLAGS)" $(MAKE) -C $(ROOT)/extern/libtomcrypt -f makefile.shared GCC="$(CC)" LTC_LDFLAGS=$(LTC_LDFLAGS)
ifeq ($(PLATFORM),DARWIN) ifeq ($(PLATFORM),DARWIN)
install_name_tool -id "@rpath/lib/libtomcrypt.dylib" $(TOMCRYPT)/.libs/libtomcrypt.1.dylib install_name_tool -id "@rpath/lib/libtomcrypt.dylib" $(TOMCRYPT)/.libs/libtomcrypt.1.dylib
@ -214,9 +228,11 @@ else
endif endif
endif endif
ifeq ($(CLIENT_ONLY_FLG),N)
ifeq ($(STD_EDITLINE),false) ifeq ($(STD_EDITLINE),false)
ifeq ($(EDITLINE_FLG),Y) ifeq ($(EDITLINE_FLG),Y)
CC="$(CC)" CFLAGS="$(CFLAGS)" $(MAKE) -f $(GEN_ROOT)/Makefile.extern.editline CC="$(CC)" CFLAGS="$(CFLAGS)" AR="$(AR)" $(MAKE) -f $(GEN_ROOT)/Makefile.extern.editline
endif
endif endif
endif endif
@ -235,7 +251,7 @@ export_lists: $(ALLVERS)
# #
.PHONY: tommath .PHONY: tommath
TOMMATH_LIB=$(LIB)/libtommath.a TOMMATH_LIB=$(STATIC_LIB)/libtommath.a
TOM_Objs=$(addprefix ../extern/libtommath/,$(call doObjects,$(call dirFiles,../extern/libtommath))) TOM_Objs=$(addprefix ../extern/libtommath/,$(call doObjects,$(call dirFiles,../extern/libtommath)))
tommath: $(TOMMATH_LIB) tommath: $(TOMMATH_LIB)
@ -249,7 +265,7 @@ $(TOMMATH_LIB): $(TOM_Objs)
# #
.PHONY: tomcrypt .PHONY: tomcrypt
TOMCRYPT_LIB=$(LIB)/libtomcrypt.a TOMCRYPT_LIB=$(STATIC_LIB)/libtomcrypt.a
TOM_Src:=$(shell find ../extern/libtomcrypt/src -name '*.c' -print) TOM_Src:=$(shell find ../extern/libtomcrypt/src -name '*.c' -print)
TOM_Objs=$(call doObjects,$(TOM_Src)) TOM_Objs=$(call doObjects,$(TOM_Src))
@ -265,7 +281,7 @@ $(TOMCRYPT_LIB): $(TOM_Objs)
# #
.PHONY: re2 .PHONY: re2
RE2_LIB:=$(LIB)/libre2.a RE2_LIB:=$(STATIC_LIB)/libre2.a
RE2_DIR:=../extern/re2/ RE2_DIR:=../extern/re2/
RE2_Util:=rune.cc strutil.cc RE2_Util:=rune.cc strutil.cc
@ -279,6 +295,23 @@ $(RE2_LIB): $(RE2_Objs)
-$(RM) $@ -$(RM) $@
$(STATICLIB_LINK) $@ $^ $(STATICLIB_LINK) $@ $^
#___________________________________________________________________________
# libcds
#
.PHONY: libcds
libcds:
mkdir -p $(LIBCDS)/lib/$(TARGET)
cd $(LIBCDS)/lib/$(TARGET); \
cmake -DCMAKE_BUILD_TYPE=$(FB_CMAKE_BUILD_TYPE) -DCMAKE_CXX_COMPILER="$(CXX)" -DCMAKE_CXX_FLAGS=-fPIC $(LIBCDS)
AR="$(AR)" $(MAKE) -C $(LIBCDS)/lib/$(TARGET)
ifeq ($(TARGET),Debug)
ln -sf $(LIBCDS)/lib/$(TARGET)/bin/libcds-s_d.a $(STATIC_LIB)/libcds.a
else
ln -sf $(LIBCDS)/lib/$(TARGET)/bin/libcds-s.a $(STATIC_LIB)/libcds.a
endif
#___________________________________________________________________________ #___________________________________________________________________________
# main build target for both debug and release builds # main build target for both debug and release builds
# #
@ -291,8 +324,16 @@ master_process:
$(MAKE) export_lists $(MAKE) export_lists
$(MAKE) external $(MAKE) external
$(MAKE) updateCloopInterfaces $(MAKE) updateCloopInterfaces
$(MAKE) boot $(MAKE) rest
$(MAKE) yvalve $(MAKE) yvalve
ifeq ($(CLIENT_ONLY_FLG),Y)
ifeq ($(WITH_TOMCRYPT),Y)
$(MAKE) chacha
endif
$(MAKE) include_generic
endif
ifeq ($(CLIENT_ONLY_FLG),N)
$(MAKE) boot
$(MAKE) engine $(MAKE) engine
$(MAKE) fbintl $(MAKE) fbintl
$(MAKE) utilities $(MAKE) utilities
@ -305,7 +346,7 @@ master_process:
(cd $(BIN); $(LN) $(notdir $(GPRE)) $(notdir $(GPRE_CURRENT))) (cd $(BIN); $(LN) $(notdir $(GPRE)) $(notdir $(GPRE_CURRENT)))
$(MAKE) plugins $(MAKE) plugins
$(MAKE) examples $(MAKE) examples
$(MAKE) rest endif
cross_process: cross_process:
@ -318,6 +359,7 @@ cross1:
$(MAKE) export_lists $(MAKE) export_lists
$(MAKE) external $(MAKE) external
$(MAKE) updateCloopInterfaces $(MAKE) updateCloopInterfaces
ifeq ($(CLIENT_ONLY_FLG),N)
$(MAKE) boot $(MAKE) boot
$(MAKE) yvalve $(MAKE) yvalve
$(MAKE) engine $(MAKE) engine
@ -332,25 +374,39 @@ cross1:
(cd $(BIN); $(LN) $(notdir $(RUN_GPRE)) $(notdir $(GPRE_CURRENT))) (cd $(BIN); $(LN) $(notdir $(RUN_GPRE)) $(notdir $(GPRE_CURRENT)))
$(MAKE) include_generic $(MAKE) include_generic
$(MAKE) -f Makefile.examples -C $(GEN_ROOT)/examples/ $(MAKE) -f Makefile.examples -C $(GEN_ROOT)/examples/
endif
cross2: cross2:
ln -sf $(SRC_ROOT)/include/cross/$(CROSS_CONFIG) $(SRC_ROOT)/include/gen/autoconfig.h ln -sf $(SRC_ROOT)/include/cross/$(CROSS_CONFIG) $(SRC_ROOT)/include/gen/autoconfig.h
$(MAKE) prerequisites $(MAKE) prerequisites
$(MAKE) tommath $(MAKE) tommath
ifeq ($(WITH_TOMCRYPT),Y)
$(MAKE) LTCSOURCE=-DLTC_SOURCE tomcrypt $(MAKE) LTCSOURCE=-DLTC_SOURCE tomcrypt
endif
ifeq ($(CLIENT_ONLY_FLG),N)
$(MAKE) re2 $(MAKE) re2
CC="$(CC)" CFLAGS="$(CFLAGS)" $(MAKE) -C $(ROOT)/extern/decNumber $(MAKE) libcds
ln -sf $(ROOT)/extern/decNumber/libdecFloat$(CROSS).a $(LIB) endif
CC="$(CC)" CFLAGS="$(CFLAGS)" AR="$(AR)" $(MAKE) -C $(ROOT)/extern/decNumber
ln -sf $(ROOT)/extern/decNumber/libdecFloat$(CROSS).a $(STATIC_LIB)
CXX="$(CXX)" CXXFLAGS="$(CXXFLAGS)" $(MAKE) -C $(ROOT)/extern/int128/absl/numeric CXX="$(CXX)" CXXFLAGS="$(CXXFLAGS)" $(MAKE) -C $(ROOT)/extern/int128/absl/numeric
ln -sf $(ROOT)/extern/int128/absl/numeric/libi128$(CROSS).a $(LIB) ln -sf $(ROOT)/extern/int128/absl/numeric/libi128$(CROSS).a $(STATIC_LIB)
$(MAKE) cross_rest
$(MAKE) yvalve $(MAKE) yvalve
ifeq ($(CLIENT_ONLY_FLG),Y)
ifeq ($(WITH_TOMCRYPT),Y)
$(MAKE) chacha
endif
$(MAKE) include_generic
endif
ifeq ($(CLIENT_ONLY_FLG),N)
$(MAKE) engine $(MAKE) engine
$(MAKE) fbintl $(MAKE) fbintl
$(MAKE) utilities $(MAKE) utilities
$(MAKE) $(GPRE) $(MAKE) $(GPRE)
$(MAKE) plugins $(MAKE) plugins
$(MAKE) -f Makefile.plugins_examples $(MAKE) -f Makefile.plugins_examples
$(MAKE) cross_rest endif
#___________________________________________________________________________ #___________________________________________________________________________
@ -361,6 +417,8 @@ $(COMMON_LIB): $(Common_Objects)
-$(RM) $@ -$(RM) $@
$(STATICLIB_LINK) $@ $^ $(STATICLIB_LINK) $@ $^
$(COMMON_TEST): $(Common_Test_Objects) $(COMMON_LIB)
$(EXE_LINK) $(EXE_LINK_OPTIONS) $^ -o $@ -L$(LIB) -L$(STATIC_LIB) $(LINK_LIBS)
#___________________________________________________________________________ #___________________________________________________________________________
# gpre_boot # gpre_boot
@ -369,7 +427,7 @@ $(COMMON_LIB): $(Common_Objects)
boot: $(GPRE_BOOT) boot: $(GPRE_BOOT)
$(GPRE_BOOT): $(GPRE_Boot_Objects) $(COMMON_LIB) $(GPRE_BOOT): $(GPRE_Boot_Objects) $(COMMON_LIB)
$(STATICEXE_LINK) $(EXE_LINK_OPTIONS) $^ -o $@ -L$(LIB) $(LINK_LIBS) $(EXE_LINK) $(EXE_LINK_OPTIONS) $^ -o $@ -L$(LIB) -L$(STATIC_LIB) $(LINK_LIBS)
-$(RM) $(GPRE_CURRENT) -$(RM) $(GPRE_CURRENT)
(cd $(@D); $(LN) $(@F) $(notdir $(GPRE_CURRENT))) (cd $(@D); $(LN) $(@F) $(notdir $(GPRE_CURRENT)))
@ -404,6 +462,9 @@ engine: $(ENGINE_SONAME)
$(ENGINE_SONAME): $(Engine_Objects) $(SVC_Objects) $(COMMON_LIB) $(ENGINE_SONAME): $(Engine_Objects) $(SVC_Objects) $(COMMON_LIB)
$(LINK_ENGINE) -o $@ $^ $(LINK_ENGINE_LIBS) $(call LIB_LINK_DARWIN_INSTALL_NAME,plugins/$(EngineSoName)) $(LINK_ENGINE) -o $@ $^ $(LINK_ENGINE_LIBS) $(call LIB_LINK_DARWIN_INSTALL_NAME,plugins/$(EngineSoName))
$(ENGINE_TEST): $(Engine_Objects) $(Engine_Test_Objects) $(SVC_Objects) $(COMMON_LIB)
$(EXE_LINK) -o $@ $^ $(EXE_LINK_OPTIONS) $(LINK_ENGINE_LIBS)
#___________________________________________________________________________ #___________________________________________________________________________
# intl support # intl support
@ -506,7 +567,7 @@ $(FBTRACEMGR): $(FBTRACEMGR_Objects) $(COMMON_LIB)
gbak: $(GBAK) gbak: $(GBAK)
$(GBAK): $(GBAK_Objects) $(COMMON_LIB) $(GBAK): $(GBAK_Objects) $(COMMON_LIB)
$(EXE_LINK) $(EXE_LINK_OPTIONS) $^ -o $@ $(FIREBIRD_LIBRARY_LINK) $(LINK_LIBS) $(EXE_LINK) $(EXE_LINK_OPTIONS) $^ -o $@ $(FIREBIRD_LIBRARY_LINK) $(LINK_LIBS) $(RE2LIB)
gsplit: $(GSPLIT) gsplit: $(GSPLIT)
@ -543,7 +604,7 @@ $(NBACKUP): $(NBACKUP_Objects) $(COMMON_LIB)
# plugins - some of them are required to build examples, use separate entry for them # plugins - some of them are required to build examples, use separate entry for them
# #
.PHONY: udr legacy_user_management legacy_auth_server trace auth_debug udf_compat chacha .PHONY: udr legacy_user_management legacy_auth_server trace auth_debug udf_compat chacha profiler
UDR_PLUGIN = $(call makePluginName,udr_engine) UDR_PLUGIN = $(call makePluginName,udr_engine)
LEGACY_USER_MANAGER = $(call makePluginName,Legacy_UserManager) LEGACY_USER_MANAGER = $(call makePluginName,Legacy_UserManager)
LEGACY_AUTH_SERVER = $(call makePluginName,Legacy_Auth) LEGACY_AUTH_SERVER = $(call makePluginName,Legacy_Auth)
@ -551,15 +612,16 @@ SRP_USER_MANAGER = $(call makePluginName,Srp)
FBTRACE = $(call makePluginName,fbtrace) FBTRACE = $(call makePluginName,fbtrace)
AUTH_DEBUGGER = $(call makePluginName,Auth_Debug) AUTH_DEBUGGER = $(call makePluginName,Auth_Debug)
UDF_BACKWARD_COMPATIBILITY_BASENAME = $(LIB_PREFIX)udf_compat.$(SHRLIB_EXT) UDF_BACKWARD_COMPATIBILITY_BASENAME = $(LIB_PREFIX)udf_compat.$(SHRLIB_EXT)
UDF_BACKWARD_COMPATIBILITY = $(PLUGINS)/udr/$(UDF_BACKWARD_COMPATIBILITY_BASENAME) UDF_BACKWARD_COMPATIBILITY ?= $(call buildSubDirectory,plugins/udr)/$(UDF_BACKWARD_COMPATIBILITY_BASENAME)
CHACHA = $(call makePluginName,ChaCha) CHACHA = $(call makePluginName,ChaCha)
PROFILER = $(call makePluginName,Default_Profiler)
BUILD_DEBUG:= BUILD_DEBUG:=
ifeq ($(TARGET),Debug) ifeq ($(TARGET),Debug)
BUILD_DEBUG:=auth_debug BUILD_DEBUG:=auth_debug
endif endif
plugins: udr legacy_user_management legacy_auth_server srp_user_management trace $(BUILD_DEBUG) udf_compat chacha plugins: udr legacy_user_management legacy_auth_server srp_user_management trace $(BUILD_DEBUG) udf_compat chacha profiler
udr: $(UDR_PLUGIN) $(PLUGINS)/udr_engine.conf udr: $(UDR_PLUGIN) $(PLUGINS)/udr_engine.conf
@ -573,7 +635,7 @@ $(UDR_PLUGIN): $(UDRENG_Objects) $(COMMON_LIB)
legacy_user_management: $(LEGACY_USER_MANAGER) legacy_user_management: $(LEGACY_USER_MANAGER)
$(LEGACY_USER_MANAGER): $(LEGACY_USERS_MANAGE_Objects) $(COMMON_LIB) $(LEGACY_USER_MANAGER): $(LEGACY_USERS_MANAGE_Objects) $(COMMON_LIB)
$(LINK_PLUGIN) $(call LIB_LINK_SONAME,$(notdir $@).0) -o $@ $^ $(LINK_PLUG_LIBS) $(FIREBIRD_LIBRARY_LINK)\ $(LINK_PLUGIN) $(call LIB_LINK_SONAME,$(notdir $@).0) -o $@ $^ $(LINK_PLUG_LIBS) $(RE2LIB) $(FIREBIRD_LIBRARY_LINK)\
$(call LIB_LINK_DARWIN_INSTALL_NAME,plugins/libLegacy_UserManager.$(SHRLIB_EXT)) $(call LIB_LINK_DARWIN_INSTALL_NAME,plugins/libLegacy_UserManager.$(SHRLIB_EXT))
chacha: $(CHACHA) chacha: $(CHACHA)
@ -588,10 +650,16 @@ $(LEGACY_AUTH_SERVER): $(LEGACY_AUTH_SERVER_Objects) $(COMMON_LIB)
$(LINK_PLUGIN) $(call LIB_LINK_SONAME,$(notdir $@).0) -o $@ $^ $(LINK_PLUG_LIBS) $(FIREBIRD_LIBRARY_LINK)\ $(LINK_PLUGIN) $(call LIB_LINK_SONAME,$(notdir $@).0) -o $@ $^ $(LINK_PLUG_LIBS) $(FIREBIRD_LIBRARY_LINK)\
$(call LIB_LINK_DARWIN_INSTALL_NAME,plugins/libLegacy_Auth.$(SHRLIB_EXT)) $(call LIB_LINK_DARWIN_INSTALL_NAME,plugins/libLegacy_Auth.$(SHRLIB_EXT))
profiler: $(PROFILER)
$(PROFILER): $(Profiler_Objects) $(COMMON_LIB)
$(LINK_PLUGIN) $(call LIB_LINK_SONAME,$(notdir $@).0) -o $@ $^ $(LINK_PLUG_LIBS) $(FIREBIRD_LIBRARY_LINK)\
$(call LIB_LINK_DARWIN_INSTALL_NAME,plugins/libDefault_Profiler.$(SHRLIB_EXT))
trace: $(FBTRACE) trace: $(FBTRACE)
$(FBTRACE): $(FBTRACE_UTIL_Objects) $(COMMON_LIB) $(FBTRACE): $(FBTRACE_UTIL_Objects) $(COMMON_LIB)
$(LINK_TRACE) -o $@ $^ $(FIREBIRD_LIBRARY_LINK) $(LINK_TRACE_LIBS) $(call LIB_LINK_DARWIN_INSTALL_NAME,plugins/libfbtrace.$(SHRLIB_EXT)) $(LINK_TRACE) -o $@ $^ $(RE2LIB) $(FIREBIRD_LIBRARY_LINK) $(LINK_TRACE_LIBS) $(call LIB_LINK_DARWIN_INSTALL_NAME,plugins/libfbtrace.$(SHRLIB_EXT))
auth_debug: $(AUTH_DEBUGGER) auth_debug: $(AUTH_DEBUGGER)
@ -626,7 +694,7 @@ GBAK_FILES := $(subst Native,$(TARGET),$(GBAK_FILES))
rest: message_file tzdata rest: message_file tzdata
cross_rest: cross_rest: tzdata
$(MAKE) $(BUILD_FILE) $(MAKE) $(BUILD_FILE)
examples: include_generic examples: include_generic
@ -639,11 +707,11 @@ $(FIREBIRD_MSG) $(FIREBIRD)/include/firebird/impl/iberror_c.h: $(BUILD_FILE)
$(BUILD_FILE) -f $(FIREBIRD_MSG) -c $(FIREBIRD)/include/firebird/impl/iberror_c.h $(BUILD_FILE) -f $(FIREBIRD_MSG) -c $(FIREBIRD)/include/firebird/impl/iberror_c.h
$(CHMOD_6) $(FIREBIRD_MSG) $(CHMOD_6) $(FIREBIRD_MSG)
tzdata: $(FIREBIRD)/tzdata tzdata: $(TZDATA)/ids.dat
$(FIREBIRD)/tzdata: $(ROOT)/extern/icu/tzdata/$(TZDATA_ZIP) $(TZDATA)/ids.dat: $(ROOT)/extern/icu/tzdata/$(TZDATA_ZIP)
mkdir -p $(FIREBIRD)/tzdata unzip -o $(ROOT)/extern/icu/tzdata/$(TZDATA_ZIP) -d $(TZDATA)
unzip -o $(ROOT)/extern/icu/tzdata/$(TZDATA_ZIP) -d $(FIREBIRD)/tzdata touch $(TZDATA)/ids.dat
$(BUILD_FILE): $(BUILD_Objects) $(BUILD_FILE): $(BUILD_Objects)
$(EXE_LINK) $(EXE_LINK_OPTIONS) $(LSB_UNDEF) $^ -o $@ $(EXE_LINK) $(EXE_LINK_OPTIONS) $(LSB_UNDEF) $^ -o $@
@ -711,16 +779,37 @@ install install-embedded silent_install package packages dist:
$(MAKE) -f Makefile.install $@ $(MAKE) -f Makefile.install $@
#___________________________________________________________________________
# tests
#
.PHONY: tests tests_process run_tests run_tests_process
tests:
$(MAKE) TARGET?=$(DefaultTarget) tests_process
tests_process: $(COMMON_TEST) $(ENGINE_TEST)
run_tests:
$(MAKE) TARGET?=$(DefaultTarget) run_tests_process
run_tests_process: tests_process
$(COMMON_TEST) --log_level=all
$(ENGINE_TEST) --log_level=all
#___________________________________________________________________________ #___________________________________________________________________________
# various cleaning # various cleaning
# #
.PHONY: clean clean_objects clean_dependancies clean_extern_objects clean_build \ .PHONY: clean clean_process clean_objects clean_dependancies clean_extern_objects clean_build \
clean_gpre_gen clean_icu clean_dbs clean_examples clean_makefiles \ clean_gpre_gen clean_icu clean_dbs clean_examples clean_makefiles \
clean_editline clean_all clean_decfloat clean_int128 clean_vers clean_misc clean_editline clean_all clean_decfloat clean_int128 clean_vers clean_misc
clean:
$(MAKE) TARGET?=$(DefaultTarget) clean_process
clean: clean_objects clean_dependancies clean_extern_objects clean_build \ clean_process: clean_objects clean_dependancies clean_extern_objects clean_build \
clean_yacc_gen clean_gpre_gen clean_dbs clean_examples clean_tommath \ clean_yacc_gen clean_gpre_gen clean_dbs clean_examples clean_cds clean_tommath \
clean_tomcrypt clean_decfloat clean_int128 clean_vers clean_misc clean_tomcrypt clean_decfloat clean_int128 clean_vers clean_misc
clean_vers: clean_vers:
@ -766,6 +855,9 @@ clean_editline:
#clean_icu: #clean_icu:
# -$(MAKE) -C $(ROOT)/extern/icu/source clean # -$(MAKE) -C $(ROOT)/extern/icu/source clean
clean_cds:
-$(RM_R) $(LIBCDS)/lib/$(TARGET)
clean_tommath: clean_tommath:
-$(MAKE) -C $(ROOT)/extern/libtommath clean -$(MAKE) -C $(ROOT)/extern/libtommath clean

View File

@ -4,22 +4,22 @@
# version 2.1 of the License, or (at your option) any later version. # version 2.1 of the License, or (at your option) any later version.
# You may obtain a copy of the Licence at # You may obtain a copy of the Licence at
# http://www.gnu.org/licences/lgpl.html # http://www.gnu.org/licences/lgpl.html
# #
# As a special exception this file can also be included in modules # As a special exception this file can also be included in modules
# with other source code as long as that source code has been # with other source code as long as that source code has been
# released under an Open Source Initiative certificed licence. # released under an Open Source Initiative certificed licence.
# More information about OSI certification can be found at: # More information about OSI certification can be found at:
# http://www.opensource.org # http://www.opensource.org
# #
# This module is distributed in the hope that it will be useful, # This module is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public Licence for more details. # GNU Lesser General Public Licence for more details.
# #
# This module was created by members of the firebird development # This module was created by members of the firebird development
# team. All individual contributions remain the Copyright (C) of # team. All individual contributions remain the Copyright (C) of
# those individuals and all rights are reserved. Contributors to # those individuals and all rights are reserved. Contributors to
# this file are either listed below or can be obtained from a CVS # this file are either listed below or can be obtained from a CVS
# history command. # history command.
# #
# Created by: Erik Kunze <Erik.Kunze@philosys.de> # Created by: Erik Kunze <Erik.Kunze@philosys.de>
@ -52,20 +52,20 @@ include $(ROOT)/gen/make.shared.variables
#EDITLINE_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(EDITLINE_Sources)))) #EDITLINE_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(EDITLINE_Sources))))
#AllObjects = $(EDITLINE_Objects) #AllObjects = $(EDITLINE_Objects)
#Dependencies = $(AllObjects:.o=.d) #Dependencies = $(AllObjects:.o=.d)
.PHONY: libeditline .PHONY: libeditline
libeditline : $(LIB)/libedit.a libeditline : $(STATIC_LIB)/libedit.a
$(LIB)/libedit.a: $(STATIC_LIB)/libedit.a:
AR=ar AR=ar
cd $(ROOT)/extern/editline; chmod +x configure; ./configure --enable-static --disable-shared --enable-widec cd $(ROOT)/extern/editline; chmod +x configure; ./configure --enable-static --disable-shared --enable-widec
$(MAKE) -C $(ROOT)/extern/editline $(MAKE) -C $(ROOT)/extern/editline
cp $(ROOT)/extern/editline/src/libedit.a $(LIB) cp $(ROOT)/extern/editline/src/libedit.a $(STATIC_LIB)
include $(ROOT)/gen/make.shared.targets include $(ROOT)/gen/make.shared.targets

Some files were not shown because too many files have changed in this diff Show More