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_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]
jobs:
build:
runs-on: ${{ matrix.os }}
container: ${{ matrix.container }}
build-linux-ubuntu-x64-clang:
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:
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:
fail-fast: false
matrix:
os:
- windows-2016
- windows-2022
- windows-2019
platform: [x64, x86]
include:
- os: ubuntu-18.04
platform: x64
container: alpine:3.14
- os: ubuntu-20.04
platform: x64
compiler: clang
- os: ubuntu-20.04
platform: x64
container: asfernandes/firebird-builder:x86_64-5
- os: ubuntu-20.04
platform: x86
# This build is failing at actions/upload-artifact when using the "container" way.
#container: asfernandes/firebird-builder:i586-5
docker: "docker"
- os: windows-2022
platform: x64
docker: "docker"
- os: windows-2022
platform: x86
docker: "docker"
- os: windows-2022
platform: x64
- os: windows-2022
platform: x86
- os: macOS-latest
platform: x64
steps:
- uses: actions/checkout@v1
with:
fetch-depth: 10
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 10
- name: Prepare (Ubuntu)
if: startsWith(matrix.os, 'ubuntu-') && !matrix.container && !matrix.docker
run: |
sudo apt-get install libtool-bin libtomcrypt1 libtomcrypt-dev libtommath1 libtommath-dev libicu-dev zlib1g-dev
- name: Prepare
shell: cmd
run: |
for /r %%i in (*.bat) do unix2dos "%%i"
choco uninstall --no-progress --yes innosetup
choco install --no-progress --yes innosetup --version=6.1.2
- name: Build (Ubuntu)
if: startsWith(matrix.os, 'ubuntu-') && !matrix.container && !matrix.docker
run: |
CC=clang CXX=clang++ ./autogen.sh --enable-binreloc --prefix=/opt/firebird
make -j4
make dist
tar xzvf gen/Firebird-[0-9]*.tar.gz
(cd Firebird-[0-9]*; sudo ./install.sh -silent)
- name: Build
shell: cmd
env:
PLATFORM: ${{ matrix.platform }}
VS_SCRIPT: ${{ matrix.os == 'windows-2022' && 'C:\Program Files\Microsoft Visual Studio\%VS_VERSION%\Enterprise\Common7\Tools\VsDevCmd.bat' || 'C:\Program Files (x86)\Microsoft Visual Studio\%VS_VERSION%\Enterprise\Common7\Tools\VsDevCmd.bat' }}
run: |
set SEVENZIP=C:\Program Files\7-Zip
set INNO6_SETUP_PATH=C:\Program Files (x86)\Inno Setup 6
if "%PLATFORM%" == "x64" set FB_VS_ARCH=amd64
if "%PLATFORM%" == "x64" set FB_PROCESSOR_ARCHITECTURE=AMD64
if "%PLATFORM%" == "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)
if: startsWith(matrix.container, 'asfernandes/firebird-builder')
run: /entry.sh
- name: Upload zip
uses: actions/upload-artifact@main
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: Build (Linux, Docker)
if: startsWith(matrix.os, 'ubuntu-') && matrix.docker
run: |
cd builds/docker/linux/i586-x86_64
./run-i586.sh
- name: Upload installer
uses: actions/upload-artifact@main
with:
name: firebird-windows-vs-${{ env.VS_VERSION }}-${{ matrix.platform }}-installer
path: builds/install_images/*-windows-${{ matrix.platform }}.exe
- name: Prepare (Linux, Alpine)
if: startsWith(matrix.container, 'alpine')
run: apk update && apk --no-cache --update add build-base libtool git autoconf automake zlib-dev icu-dev ncurses-dev libedit-dev linux-headers tar
build-windows-docker:
runs-on: windows-2022
- name: Build (Linux, Alpine)
if: startsWith(matrix.container, 'alpine')
run: |
./autogen.sh --enable-binreloc-threads --with-builtin-tommath --with-builtin-tomcrypt --prefix=/opt/firebird
make -j4
make dist
tar xzvf gen/Firebird-[0-9]*.tar.gz
strategy:
fail-fast: false
matrix:
platform: [x64, x86]
- name: Prepare (MacOS)
if: matrix.os == 'macOS-latest'
run: |
brew install automake libtool
export LIBTOOLIZE=glibtoolize
export LIBTOOL=glibtool
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 10
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/
- name: Get Release Notes
uses: ./.github/actions/get-release-notes
- name: Build (MacOS)
if: matrix.os == 'macOS-latest'
run: |
export LIBTOOLIZE=glibtoolize
export LIBTOOL=glibtool
- name: Build
id: build
shell: cmd
env:
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"
export CPLUS_INCLUDE_PATH="$ICU_INSTALL_PATH/include:$CPLUS_INCLUDE_PATH"
- name: Upload zip (withDebugSymbols)
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
make -j4
- name: Upload installer
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/")
(cd gen; make -B -f Makefile.install)
- name: Upload installer (withDebugSymbols)
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.
mv gen gen2
sudo installer -pkg gen2/Release/*.pkg -verbose -target /
- name: Create release
uses: ./.github/actions/create-release
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
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
build-macos:
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
mkdir gen/artifacts
mv gen/Release/*.pkg gen/artifacts
- name: Prepare - Install tools
run: |
brew install automake cmake libtool ninja
- name: Prepare (Windows)
if: startsWith(matrix.os, 'windows-')
shell: cmd
run: |
for /r %%i in (*.bat) do unix2dos "%%i"
- name: Cache - libc++ install
id: cache-libcxx-install-macos
uses: actions/cache@v3
with:
key: ${{ runner.os }}-libcxx-install-13.0.1
path: |
extern/libcxx-macos-install
- name: Build (Windows)
if: startsWith(matrix.os, 'windows-') && !matrix.docker
shell: cmd
env:
PLATFORM: ${{ matrix.platform }}
VS_SCRIPT: ${{ matrix.os == 'windows-2022' && 'C:\Program Files\Microsoft Visual Studio\%VS_VERSION%\Enterprise\Common7\Tools\VsDevCmd.bat' || 'C:\Program Files (x86)\Microsoft Visual Studio\%VS_VERSION%\Enterprise\Common7\Tools\VsDevCmd.bat' }}
run: |
if "%PLATFORM%" == "x64" set FB_VS_ARCH=amd64
if "%PLATFORM%" == "x64" set FB_PROCESSOR_ARCHITECTURE=AMD64
if "%PLATFORM%" == "x64" set FB_OUTPUT_SUFFIX=x64
if "%PLATFORM%" == "x86" set FB_VS_ARCH=x86
if "%PLATFORM%" == "x86" set FB_PROCESSOR_ARCHITECTURE=x86
if "%PLATFORM%" == "x86" set FB_OUTPUT_SUFFIX=win32
call "%VS_SCRIPT%" -arch=%FB_VS_ARCH%
cd builds\win32
run_all.bat JUSTBUILD
- name: Download libc++ sources
if: steps.cache-libcxx-install-macos.outputs.cache-hit != 'true'
run: |
mkdir extern/libcxx-macos
pushd extern/libcxx-macos
curl -OL https://github.com/llvm/llvm-project/releases/download/llvmorg-13.0.1/llvm-project-13.0.1.src.tar.xz
tar xJf llvm-project-13.0.1.src.tar.xz
popd
- name: Build (Windows, Docker)
if: startsWith(matrix.os, 'windows-') && matrix.docker
shell: cmd
env:
PLATFORM: ${{ matrix.platform }}
run: |
mkdir output
cd builds\docker\windows
call build.bat
call run.bat C:\fbscripts\build-%PLATFORM%.bat
- name: Build libc++
if: steps.cache-libcxx-install-macos.outputs.cache-hit != 'true'
run: |
LIBCXX_BUILD_PATH=`pwd`/extern/libcxx-macos-build
LIBCXX_INSTALL_PATH=`pwd`/extern/libcxx-macos-install
mkdir $LIBCXX_BUILD_PATH
pushd extern/libcxx-macos/llvm-project-13.0.1.src
export MACOSX_DEPLOYMENT_TARGET=10.9
cmake -G Ninja -S llvm -B $LIBCXX_BUILD_PATH \
-DLLVM_ENABLE_PROJECTS="libcxx;libcxxabi" \
-DCMAKE_INSTALL_PREFIX=$LIBCXX_INSTALL_PATH \
-DCMAKE_BUILD_TYPE=Release \
-DLIBCXX_ENABLE_SHARED=false \
-DLIBCXX_ENABLE_STATIC_ABI_LIBRARY=true
ninja -C $LIBCXX_BUILD_PATH cxx cxxabi
ninja -C $LIBCXX_BUILD_PATH install-cxx install-cxxabi
popd
- name: Upload (Ubuntu)
if: startsWith(matrix.os, 'ubuntu-') && !matrix.container && !matrix.docker
uses: actions/upload-artifact@main
with:
name: firebird-ubuntu-20.04-clang-${{ matrix.platform }}
path: gen/Firebird-*.tar.gz
- name: Cache - libicu install
id: cache-libicu-install-macos
uses: actions/cache@v3
with:
key: ${{ runner.os }}-libicu-install-63.2
path: |
extern/libicu-macos-install
- name: Upload (Linux, Docker)
if: startsWith(matrix.container, 'asfernandes/firebird-builder') || (startsWith(matrix.os, 'ubuntu-') && matrix.docker)
uses: actions/upload-artifact@main
with:
name: firebird-linux-${{ matrix.platform }}
path: gen/Firebird-*.tar.gz
- name: Download and patch libicu sources
if: steps.cache-libicu-install-macos.outputs.cache-hit != 'true'
run: |
mkdir extern/libicu-macos
pushd extern/libicu-macos
curl -OL https://github.com/unicode-org/icu/releases/download/release-63-2/icu4c-63_2-src.tgz
curl -OL https://github.com/unicode-org/icu/commit/24aeb9a5a5874f4ce5db912e30670ac3ae236971.patch
tar xzf icu4c-63_2-src.tgz
cd icu/source
patch -p3 < ../../24aeb9a5a5874f4ce5db912e30670ac3ae236971.patch
popd
- name: Upload (Linux, Alpine)
if: startsWith(matrix.container, 'alpine')
uses: actions/upload-artifact@main
with:
name: firebird-alpine-x64
path: gen/Firebird-*.tar.gz
- name: Build libicu
if: steps.cache-libicu-install-macos.outputs.cache-hit != 'true'
run: |
export LIBTOOLIZE=glibtoolize
export LIBTOOL=glibtool
- name: Upload (MacOS)
if: matrix.os == 'macOS-latest'
uses: actions/upload-artifact@main
with:
name: firebird-macos
path: gen/artifacts
LIBICU_INSTALL_PATH=`pwd`/extern/libicu-macos-install
pushd extern/libicu-macos/icu/source
./runConfigureICU MacOSX --prefix=$LIBICU_INSTALL_PATH
make -j4
make install
install_name_tool -id @rpath/lib/libicuuc.dylib $LIBICU_INSTALL_PATH/lib/libicuuc.dylib
install_name_tool -id @rpath/lib/libicui18n.dylib $LIBICU_INSTALL_PATH/lib/libicui18n.dylib
install_name_tool -id @rpath/lib/libicudata.dylib $LIBICU_INSTALL_PATH/lib/libicudata.dylib
install_name_tool -change libicudata.63.dylib @loader_path/libicudata.63.dylib $LIBICU_INSTALL_PATH/lib/libicuuc.63.dylib
install_name_tool -change libicudata.63.dylib @loader_path/libicudata.63.dylib $LIBICU_INSTALL_PATH/lib/libicui18n.63.dylib
install_name_tool -change libicuuc.63.dylib @loader_path/libicuuc.63.dylib $LIBICU_INSTALL_PATH/lib/libicui18n.63.dylib
popd
- name: Upload (Windows x64)
if: startsWith(matrix.os, 'windows-') && !matrix.docker && matrix.platform == 'x64'
uses: actions/upload-artifact@main
with:
name: firebird-windows-vs-${{ env.VS_VERSION }}-x64
path: output_x64
- name: Build
run: |
export LIBTOOLIZE=glibtoolize
export LIBTOOL=glibtool
- name: Upload (Windows x86)
if: startsWith(matrix.os, 'windows-') && !matrix.docker && matrix.platform == 'x86'
uses: actions/upload-artifact@main
with:
name: firebird-windows-vs-${{ env.VS_VERSION }}-x86
path: output_win32
LIBCXX_INSTALL_PATH=`pwd`/extern/libcxx-macos-install
LIBICU_INSTALL_PATH=`pwd`/extern/libicu-macos-install
- name: Upload (Windows, Docker)
if: startsWith(matrix.os, 'windows-') && matrix.docker
uses: actions/upload-artifact@main
with:
name: firebird-windows-${{ matrix.platform }}
path: output
mkdir -p gen/Release/firebird/lib
cp -R $LIBICU_INSTALL_PATH/lib/libicu{data,i18n,uc}.*dylib gen/Release/firebird/lib/
export C_INCLUDE_PATH="$LIBICU_INSTALL_PATH/include:`xcrun --show-sdk-path`/usr/include"
export CPLUS_INCLUDE_PATH="$LIBCXX_INSTALL_PATH/include/c++/v1:$LIBICU_INSTALL_PATH/include:`xcrun --show-sdk-path`/usr/include"
export LIBRARY_PATH="$LIBCXX_INSTALL_PATH/lib:$LIBICU_INSTALL_PATH/lib:$LIBRARY_PATH"
./autogen.sh --with-builtin-tommath --with-builtin-tomcrypt
make -j4
make tests -j4
make run_tests
(cd gen; make -B -f make.platform.postfix ICU_LOC="$LIBICU_INSTALL_PATH/lib/")
(cd gen; make -B -f Makefile.install)
# Rename directory to make sure the build is relocatable.
mv gen gen2
sudo installer -pkg gen2/Release/*.pkg -verbose -target /
export FIREBIRD_LOCK=`pwd`/temp
echo "create database 't.fdb'; select '1' from rdb\$database; select _win1252 '2' from rdb\$database; select _utf8 '3' collate unicode from rdb\$database;" | /Library/Frameworks/Firebird.framework/Resources/bin/isql
echo "create database 'localhost:/tmp/t.fdb' user sysdba password 'masterkey'; select '11' from rdb\$database; select _win1252 '22' from rdb\$database; select _utf8 '33' collate unicode from rdb\$database;" | /Library/Frameworks/Firebird.framework/Resources/bin/isql
mv gen2 gen
mkdir gen/artifacts
mv gen/Release/*.pkg gen/artifacts
- name: Upload 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
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
with:
ref: ${{ matrix.branch }}

7
.gitignore vendored
View File

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

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](https://ci.appveyor.com/api/projects/status/github/FirebirdSQL/firebird?branch=master&svg=true)](https://ci.appveyor.com/project/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 (AppVeyor)](https://ci.appveyor.com/api/projects/status/github/FirebirdSQL/firebird?branch=master&svg=true)](https://ci.appveyor.com/project/FirebirdSQL/firebird)
# 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
set -e
trap exit INT TERM
/build.sh &
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.7.0 - https://aka.ms/vs/16/release/152566872_220409660/channel
# 16.11.16 - https://aka.ms/vs/16/release/377566269_-1382739058/channel
RUN `
set chocolateyUseWindowsCompression='false' && `
powershell -NoProfile -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && `
set "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin" && `
`
choco install --no-progress --yes visualstudio2019buildtools --version=16.11.7.0 --package-parameters " `
--installChannelUri https://aka.ms/vs/16/release/152566872_220409660/channel `
choco install --no-progress --yes visualstudio2019buildtools --version=16.11.16 --package-parameters " `
--installChannelUri https://aka.ms/vs/16/release/377566269_-1382739058/channel `
--quiet --wait --norestart --nocache `
--locale en-US `
--add Microsoft.Component.MSBuild `
@ -43,7 +44,7 @@ RUN `
refreshenv && `
setx PATH "%PATH%;C:\Program Files\Git\usr\bin"
ENV SEVENZIP='"C:\Program Files\7-Zip"'
ENV INNO6_SETUP_PATH='"C:\Program Files (x86)\Inno Setup 6"'
ENV SEVENZIP='C:\Program Files\7-Zip'
ENV INNO6_SETUP_PATH='C:\Program Files (x86)\Inno Setup 6'
COPY scripts\* C:\fbscripts\

View File

@ -1,2 +1,2 @@
@echo off
docker run --rm -v %cd%\..\..\..:C:\firebird -v %cd%\..\..\..\output:C:\firebird-out asfernandes/firebird-builder:5 %1
docker run --rm -v %cd%\..\..\..:C:\firebird asfernandes/firebird-builder:5 %1

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
set FB_PROCESSOR_ARCHITECTURE=AMD64
set FB_OUTPUT_SUFFIX=x64
xcopy /h /e /i /q C:\firebird C:\firebird-build
cd /d C:\firebird-build\builds\win32
REM call run_all.bat
call run_all.bat JUSTBUILD
call run_all.bat PDB
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
set FB_PROCESSOR_ARCHITECTURE=x86
set FB_OUTPUT_SUFFIX=win32
xcopy /h /e /i /q C:\firebird C:\firebird-build
cd /d C:\firebird-build\builds\win32
REM call run_all.bat
call run_all.bat JUSTBUILD
call run_all.bat PDB
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

@ -63,12 +63,12 @@ BuildVersion=$(FirebirdVersion).$(BuildNum)
Version=$(BuildVersion)-$(PackageVersion)
# This means something like: FirebirdCS-2.0.0-1.i386.tar
TarDir= Firebird-$(Version).$(CpuType)
TarFile=Firebird-$(Version).$(CpuType).tar
DepotFile=Firebird-$(Version).$(CpuType).depot
RPMFile=Firebird-$(Version).$(CpuType).rpm
DebugDir=Firebird-debuginfo-$(Version).$(CpuType)
DebugFile=Firebird-debuginfo-$(Version).$(CpuType).tar
TarDir= Firebird-$(Version)-linux-$(CpuType)
TarFile=Firebird-$(Version)-linux-$(CpuType).tar
DepotFile=Firebird-$(Version)-linux-$(CpuType).depot
RPMFile=Firebird-$(Version)-linux-$(CpuType).rpm
DebugDir=Firebird-$(Version)-linux-$(CpuType)-debugSymbols
DebugFile=Firebird-$(Version)-linux-$(CpuType)-debugSymbols.tar
PkgSrcDir=$(InstallRoot)/$(ArchType)
ScriptDir=$(GEN_ROOT)/install/scripts/

View File

@ -1,13 +1,13 @@
echo "This script will build arch-specific files, useful for firebird functionality"
echo "Press ENTER to continue"
read x
#!/bin/sh
echo "This script builds arch-specific files, useful for firebird functionality"
runAndCheckExit() {
Msg=$1
Cmd=$2
echo $Msg please wait...
$Cmd
eval $Cmd
ExitCode=$?
if [ $ExitCode -ne 0 ]
@ -18,8 +18,9 @@ runAndCheckExit() {
fi
}
runAndCheckExit "Build messages file (firebird.msg)" bin/build_file
runAndCheckExit "Restore security database" "bin/gbak -rep security5.gbak security5.fdb"
runAndCheckExit "Restore examples database (employee)" "bin/gbak -rep examples/empbuild/employee.gbak examples/empbuild/employee.fdb"
runAndCheckExit "Build messages file (firebird.msg)" "./build_file -f firebird.msg"
runAndCheckExit "Creating security database" "echo create database \'security5.fdb\'^ | ./isql -q -term ^"
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}
[ -z "$bits" ] && bits=32
[ "$bits" = "32" ] && cross=arm-linux-androideabi
[ "$bits" = "64" ] && cross=aarch64-linux-android
[ -z "$cross" ] && echo "Invalid bits passed" && exit 1
arm=""
[ "$bits" = "64" ] && arm=64
#!/bin/sh
set -e
arch=${1}
MakeVersion=gen/Make.Version
Build=`grep ^BuildNum ${MakeVersion}|awk '{print $3;}'`
Version=`grep ^FirebirdVersion ${MakeVersion}|awk '{print $3;}'`
Release="Firebird-${Version}.${Build}-0.arm${arm}.tar.gz"
Debug="Firebird-withDebugInfo-${Version}.${Build}-0.arm${arm}.tar.gz"
Stripped=strip
aStrip=${NDK}/toolchains/${cross}-4.9/prebuilt/linux-x86_64/bin/${cross}-strip
PackageVersion=`grep ^PackageVersion ${MakeVersion}|awk '{print $3;}'`
Release="Firebird-${Version}.${Build}-${PackageVersion}-android-initial-${arch}.tar.gz"
Debug="Firebird-${Version}.${Build}-${PackageVersion}-android-initial-${arch}-withDebugSymbols.tar.gz"
fbRootDir=`pwd`
runTar()
{
tarfile=${1}
tar cvfz ${tarfile} --exclude '*.a' --exclude '*.fdb' --exclude '*.msg' firebird
}
cd gen/Release
rm -rf ${Stripped}
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 "Compress with deb-info"
tar cvfz ../${Debug} firebird
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 ..
runTar ../${Debug}

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_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:
sed -e 's/_FB_BUILD_SUFFIX_/$(FB_VER_SUFFIX)/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
echo "Create the Firebird group 10.7+"
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
gid=501
dscl localhost -search /Local/Default/Groups PrimaryGroupID $gid | grep $gid

View File

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

View File

@ -73,13 +73,13 @@ Version=$(BuildVersion)-$(PackageVersion)
# This means something like: FirebirdCS-2.0.0-1.i386.tar
TarDir= Firebird-$(Version).$(CpuType)
TarFile=Firebird-$(Version).$(CpuType).tar
TarDir= Firebird-$(Version)-linux-$(CpuType)
TarFile=Firebird-$(Version)-linux-$(CpuType).tar
TgzFile=$(TarFile).gz
DepotFile=Firebird-$(Version).$(CpuType).depot
RPMFile=Firebird-$(Version).$(CpuType).rpm
#DebugDir=Firebird-debuginfo-$(Version).$(CpuType)
#DebugFile=Firebird-debuginfo-$(Version).$(CpuType).tar
DepotFile=Firebird-$(Version)-linux-$(CpuType).depot
RPMFile=Firebird-$(Version)-linux-$(CpuType).rpm
#DebugDir=Firebird-$(Version)-linux-$(CpuType)-debugSymbols
#DebugFile=Firebird-$(Version)-linux-$(CpuType)-debugSymbols.tar
psfFile=firebird.psf
PkgSrcDir=$(InstallRoot)/$(ArchType)

View File

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

View File

@ -504,7 +504,7 @@ CorrectLibDir() {
checkLibName() {
grepFlag=-v
[ "@CPU_TYPE@" = "amd64" ] && grepFlag=
[ "@CPU_TYPE@" = "x64" ] && grepFlag=
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
TomMathBuild="@TOMMATH_BUILD@"
TomCryptBuild="@TOMCRYPT_BUILD@"
OBJDUMP=@OBJDUMP@
CLIENT_ONLY_FLG=@CLIENT_ONLY_FLG@
WITH_TOMCRYPT=@WITH_TOMCRYPT@
#------------------------------------------------------------------------
# addLibs
@ -55,10 +57,10 @@ addLibs() {
echo "#!/bin/sh" >>$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=`objdump -p $libSdir/isql|grep NEEDED|egrep "(curses|termcap|tinfo)"|awk '{print $2;}'`
[ "$LIB" ] && echo "export LIBCURSES=$LIB" >>$libTarget
LIB=$(echo `$OBJDUMP -p $libSdir/isql|grep NEEDED|egrep "(curses|termcap|tinfo)"|awk '{print $2;}'`)
[ "$LIB" ] && echo "export LIBCURSES='$LIB'" >>$libTarget
echo >>$libTarget
for i in posixLibrary.sh linuxLibrary.sh
@ -161,89 +163,102 @@ copyFiles() {
fi
#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_MISCDIR@/upgrade/$i
done
makeDirs "@FB_CONFDIR@ @FB_LIBDIR@ @FB_INCDIR@/firebird @FB_MSGDIR@ @FB_TZDATADIR@"
makeDirs /usr/include
if [ "$CLIENT_ONLY_FLG" = "N" ] || [ "$WITH_TOMCRYPT" = "Y" ]; then
makeDirs "@FB_PLUGDIR@"
fi
#bin
cp $BuiltFBDir/bin/gbak ${TargetDir}@FB_BINDIR@/gbak
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
if [ "$CLIENT_ONLY_FLG" = "N" ]; then
makeDirs "@FB_BINDIR@ @FB_SBINDIR@ @FB_DOCDIR@/sql.extensions @FB_SAMPLEDIR@ @FB_SAMPLEDBDIR@ @FB_INTLDIR@ \
@FB_MISCDIR@ @FB_SECDBDIR@ @FB_LOGDIR@ @FB_GUARDDIR@"
chmod 0755 ${TargetDir}@FB_BINDIR@/*
for i in udf; do
makeDirs @FB_MISCDIR@/upgrade/$i
done
fi
#sbin
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@
makeDirs /usr/include
addLibs $BuiltFBDir/bin changeServerMode.sh ${TargetDir}@FB_SBINDIR@
cp $BuiltFBDir/bin/registerDatabase.sh ${TargetDir}@FB_SBINDIR@
cp $BuiltFBDir/bin/fb_config ${TargetDir}@FB_SBINDIR@
addLibs $BuiltFBDir/bin FirebirdUninstall.sh ${TargetDir}@FB_SBINDIR@
if [ "$CLIENT_ONLY_FLG" = "N" ]; then
#bin
cp $BuiltFBDir/bin/gbak ${TargetDir}@FB_BINDIR@/gbak
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 0700 ${TargetDir}@FB_SBINDIR@/*.sh
chmod 0755 ${TargetDir}@FB_BINDIR@/*
#install script
addLibs $BuiltFBDir/bin install.sh $BuildRootDir/gen/install
#sbin
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
exampleFiles=`find $BuiltFBDir/examples/README -type f -print`
if [ -z "$exampleFiles" ]; then
echo "Example files have not been built!"
else
(cd $BuiltFBDir/examples; tar cf - .) | (cd ${TargetDir}@FB_SAMPLEDIR@; tar xf -)
rm -rf ${TargetDir}@FB_SAMPLEDIR@/empbuild
addLibs $BuiltFBDir/bin changeServerMode.sh ${TargetDir}@FB_SBINDIR@
cp $BuiltFBDir/bin/registerDatabase.sh ${TargetDir}@FB_SBINDIR@
cp $BuiltFBDir/bin/fb_config ${TargetDir}@FB_SBINDIR@
addLibs $BuiltFBDir/bin FirebirdUninstall.sh ${TargetDir}@FB_SBINDIR@
makeDirs @FB_SAMPLEDBDIR@
cp $BuiltFBDir/examples/empbuild/*.fdb ${TargetDir}@FB_SAMPLEDBDIR@
chmod 0755 ${TargetDir}@FB_SBINDIR@/*
chmod 0700 ${TargetDir}@FB_SBINDIR@/*.sh
ReadOnlyTree ${TargetDir}@FB_SAMPLEDIR@
chmod 0664 ${TargetDir}@FB_SAMPLEDBDIR@/*.fdb
#install script
addLibs $BuiltFBDir/bin install.sh $BuildRootDir/gen/install
#plugins samples
makeDirs ${TargetDir}@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/*
#examples - copy only if we have them
exampleFiles=`find $BuiltFBDir/examples/README -type f -print`
if [ -z "$exampleFiles" ]; then
echo "Example files have not been built!"
else
(cd $BuiltFBDir/examples; tar cf - .) | (cd ${TargetDir}@FB_SAMPLEDIR@; tar xf -)
rm -rf ${TargetDir}@FB_SAMPLEDIR@/empbuild
# exec bit for sample binaries
chmod 0755 ${TargetDir}@FB_SAMPLEDIR@/prebuilt/bin/*
fi
makeDirs @FB_SAMPLEDBDIR@
cp $BuiltFBDir/examples/empbuild/*.fdb ${TargetDir}@FB_SAMPLEDBDIR@
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
cp $BuiltFBDir/*.msg ${TargetDir}@FB_MSGDIR@
cp $BuiltFBDir/*.msg ${TargetDir}@FB_MSGDIR@
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)
cp $BuiltFBDir/include/*.h ${TargetDir}@FB_INCDIR@
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
cp $BuildRootDir/src/include/gen/Firebird.pas ${TargetDir}@FB_INCDIR@/firebird
cp $BuiltFBDir/include/*.h ${TargetDir}@FB_INCDIR@
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
if [ "$CLIENT_ONLY_FLG" = "N" ]; then
cp $BuildRootDir/src/include/gen/Firebird.pas ${TargetDir}@FB_INCDIR@/firebird
fi
ReadOnlyTree ${TargetDir}@FB_INCDIR@
#lib
cp -df $BuiltFBDir/lib/libfbclient.so* ${TargetDir}@FB_LIBDIR@
cp -f $BuiltFBDir/lib/libib_util.so ${TargetDir}@FB_LIBDIR@/libib_util.so
cp -df $BuiltFBDir/lib/libfbclient.so* ${TargetDir}@FB_LIBDIR@
if [ "$CLIENT_ONLY_FLG" = "N" ]; then
cp -f $BuiltFBDir/lib/libib_util.so ${TargetDir}@FB_LIBDIR@/libib_util.so
fi
if [ "$TomMathBuild" = "Y" ]; then
makeDirs @FB_LIBDIR@/.tm
@ -257,55 +272,64 @@ copyFiles() {
chmod 0755 ${TargetDir}@FB_LIBDIR@/*.so*
#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
chmod 0755 ${file}
done
makeDirs ${TargetDir}@FB_TZDATADIR@
makeDirs @FB_TZDATADIR@
cp $BuiltFBDir/tzdata/*.res ${TargetDir}@FB_TZDATADIR@
chmod 0444 ${TargetDir}@FB_TZDATADIR@/*.res
#intl
cp $BuiltFBDir/intl/libfbintl.so ${TargetDir}@FB_INTLDIR@/fbintl
cp $BuiltFBDir/intl/fbintl.conf ${TargetDir}@FB_INTLDIR@
if [ "$CLIENT_ONLY_FLG" = "N" ]; then
#intl
cp $BuiltFBDir/intl/libfbintl.so ${TargetDir}@FB_INTLDIR@/fbintl
cp $BuiltFBDir/intl/fbintl.conf ${TargetDir}@FB_INTLDIR@
chmod 0755 ${TargetDir}@FB_INTLDIR@/fbintl
chmod 0644 ${TargetDir}@FB_INTLDIR@/fbintl.conf
chmod 0755 ${TargetDir}@FB_INTLDIR@/fbintl
chmod 0644 ${TargetDir}@FB_INTLDIR@/fbintl.conf
# Note that the following items copy files from outside the build tree.
# Copy the sql-declarations into the UDF-directory
# Note that the following items copy files from outside the build tree.
# Copy the sql-declarations into the UDF-directory
#doc
cp $BuildRootDir/doc/*.pdf ${TargetDir}@FB_DOCDIR@
cp $BuildRootDir/doc/README.* ${TargetDir}@FB_DOCDIR@
cp $BuildRootDir/doc/sql.extensions/README* ${TargetDir}@FB_DOCDIR@/sql.extensions
cp $BuildRootDir/*.md ${TargetDir}@FB_CONFDIR@
#doc
cp $BuildRootDir/doc/*.pdf ${TargetDir}@FB_DOCDIR@
cp $BuildRootDir/doc/README.* ${TargetDir}@FB_DOCDIR@
cp $BuildRootDir/doc/sql.extensions/README* ${TargetDir}@FB_DOCDIR@/sql.extensions
cp $BuildRootDir/*.md ${TargetDir}@FB_CONFDIR@
for i in `find ${TargetDir}@FB_MISCDIR@ -print`; do
if [ -d $i ]; then
chmod 0755 $i
else
chmod 0644 $i
fi
done
for i in `find ${TargetDir}@FB_MISCDIR@ -print`; do
if [ -d $i ]; then
chmod 0755 $i
else
chmod 0644 $i
fi
done
#misc
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/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/firebird.service ${TargetDir}@FB_MISCDIR@
#misc
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/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/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
cp $BuiltFBDir/firebird.conf ${TargetDir}@FB_CONFDIR@
cp $BuiltFBDir/databases.conf ${TargetDir}@FB_CONFDIR@
cp $BuiltFBDir/fbtrace.conf ${TargetDir}@FB_CONFDIR@
cp $BuiltFBDir/plugins.conf ${TargetDir}@FB_CONFDIR@
cp $BuiltFBDir/replication.conf ${TargetDir}@FB_CONFDIR@
cp $BuiltFBDir/firebird.conf ${TargetDir}@FB_CONFDIR@
if [ "$CLIENT_ONLY_FLG" = "N" ] || [ "$WITH_TOMCRYPT" = "Y" ]; then
cp $BuiltFBDir/plugins.conf ${TargetDir}@FB_CONFDIR@
fi
chmod 0644 ${TargetDir}@FB_CONFDIR@/*.conf
@ -314,7 +338,7 @@ copyFiles() {
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@"
}

View File

@ -16,6 +16,8 @@
::
::=============================================================================
@echo off
set SCRIPT_FULL_NAME=%~d0%~p0%~n0%~x0
set SCRIPT_SHORT_NAME=%~n0%~x0
@goto :MAIN
@goto :EOF
@ -26,9 +28,11 @@
@echo off
:: reset ERRLEV to clear error from last run in same cmd shell
set ERRLEV=0
set ERRLEV=
:: Assume we are preparing a production build
set FBBUILD_BUILDTYPE=release
:: Don't ship pdb files by default
set FBBUILD_SHIP_PDB=no_pdb
:: Reset "make" vars to zero
@ -65,15 +69,15 @@ if "%FB2_SNAPSHOT%"=="1" (
:: let's bail out now.
@echo o Checking for sed...
(cmd /c "sed.exe --version 2>&1 | findstr version > nul ") || ( call :ERROR Could not locate sed && @goto :EOF )
(cmd /c "sed.exe --version 2>&1 > nul ") || ( call :ERROR Could not locate sed && @goto :EOF )
@echo o Checking for unix2dos...
(cmd /c "unix2dos.exe --version 2>&1 | findstr version > nul" ) || ( call :ERROR Could not locate unix2dos && @goto :EOF )
(cmd /c "unix2dos.exe --version 2>&1 > nul" ) || ( call :ERROR Could not locate unix2dos && @goto :EOF )
@for /f "usebackq tokens=*" %%c in (`where /f touch 2^>nul`) do set TOUCH_COMMAND=%%c
if defined TOUCH_COMMAND (
@%TOUCH_COMMAND% --version <nul >nul 2>nul
if not errorlevel 1 (
if not ERRORLEVEL 1 (
@echo o POSIX touch utility found at %TOUCH_COMMAND%
) else ( @set TOUCH_COMMAND= )
)
@ -84,6 +88,9 @@ if defined MD5_COMMAND (
)
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 (
call :ERROR SEVENZIP environment variable is not defined.
@goto :EOF
@ -93,7 +100,7 @@ if %FBBUILD_ZIP_PACK% EQU 1 (
if %FBBUILD_ISX_PACK% NEQ 1 goto :SKIP_INNO
if defined INNO6_SETUP_PATH (
set ISCC_COMMAND=%INNO6_SETUP_PATH%\iscc.exe
set ISCC_COMMAND="%INNO6_SETUP_PATH%\iscc.exe"
)
:: If the environment variable is not set let's search in PATH
if not defined ISCC_COMMAND (
@ -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 defined FBBUILD_FILENAME_SUFFIX (
if not "%FBBUILD_FILENAME_SUFFIX:~0,1%"=="_" (
(set FBBUILD_FILENAME_SUFFIX=_%FBBUILD_FILENAME_SUFFIX%)
if not "%FBBUILD_FILENAME_SUFFIX:~0,1%"=="-" (
(set FBBUILD_FILENAME_SUFFIX=-%FBBUILD_FILENAME_SUFFIX%)
)
)
@ -170,7 +177,11 @@ set FBBUILD_PROD_STATUS=PROD
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
@echo.
@ -204,33 +215,29 @@ set SED_COMMAND=sed -e s/\$MAJOR/%FB_MAJOR_VER%/g ^
:: 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...
@if not exist %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 (
echo Copying "%VCToolsRedistDir%\%VSCMD_ARG_TGT_ARCH%\Microsoft.VC%MSVC_RUNTIME_MAJOR_VERSION%%MSVC_RUNTIME_MINOR_VERSION_1%.CRT\%%f"
copy "%VCToolsRedistDir%\%VSCMD_ARG_TGT_ARCH%\Microsoft.VC%MSVC_RUNTIME_MAJOR_VERSION%%MSVC_RUNTIME_MINOR_VERSION_1%.CRT\%%f" %FB_OUTPUT_DIR%\ >nul
if %ERRORLEVEL% GEQ 1 (
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)
:: Note the confusion of RT library numbers here! These notes, as of time of
:: writing 2021-12-21, are accurate for current versions of Visual Studio
:: - 2017, 2019, 2022. Basic MS runtime version is v140. Except that is only
:: used in file names. In reality Visual Studio uses 141, 142 or 143 in
:: 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
@if not errorlevel 1 (
@if not ERRORLEVEL 1 (
if "%VSCMD_ARG_TGT_ARCH%"=="x86" (
@echo Generating fbclient_bor.lib
@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" (
@echo Copying pdb files...
@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%\engine\engine*.pdb %FB_OUTPUT_DIR%\ > nul
@copy %FB_TEMP_DIR%\%FBBUILD_BUILDTYPE%\fbtrace\fbtrace.pdb %FB_OUTPUT_DIR%\ > nul
@copy %FB_TEMP_DIR%\%FBBUILD_BUILDTYPE%\legacy_auth\legacy_auth.pdb %FB_OUTPUT_DIR%\ > nul
@copy %FB_TEMP_DIR%\%FBBUILD_BUILDTYPE%\legacy_usermanager\legacy_usermanager.pdb %FB_OUTPUT_DIR%\ > nul
@copy %FB_TEMP_DIR%\%FBBUILD_BUILDTYPE%\srp\srp.pdb %FB_OUTPUT_DIR%\ > nul
@copy %FB_TEMP_DIR%\%FBBUILD_BUILDTYPE%\udr_engine\udr_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%\plugins\ > 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%\plugins\ > 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%\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...
@rmdir /S /Q %FB_OUTPUT_DIR%\doc 2>nul
@mkdir %FB_OUTPUT_DIR%\doc
@copy %FB_ROOT_PATH%\*.md %FB_OUTPUT_DIR%\doc\ > nul
@copy %FB_ROOT_PATH%\doc\*.* %FB_OUTPUT_DIR%\doc\ > nul
@if %ERRORLEVEL% GEQ 1 (
call :ERROR COPY of main documentation tree failed with error %ERRORLEVEL%
@if ERRORLEVEL 1 (
call :ERROR COPY of main documentation tree failed.
goto :EOF
)
@ -269,16 +274,16 @@ if "%VSCMD_ARG_TGT_ARCH%"=="x86" (
for %%d in ( v3.0 v4.0 ) do (
mkdir %FB_OUTPUT_DIR%\misc\upgrade\%%d 2>nul
@copy %FB_ROOT_PATH%\src\misc\upgrade\%%d\*.* %FB_OUTPUT_DIR%\misc\upgrade\%%d > nul
@if %ERRORLEVEL% GEQ 1 (
call :ERROR copy %FB_ROOT_PATH%\src\misc\upgrade\%%d\*.* %FB_OUTPUT_DIR%\misc\upgrade\%%d failed with error %ERRORLEVEL%.
@if ERRORLEVEL 1 (
call :ERROR copy %FB_ROOT_PATH%\src\misc\upgrade\%%d\*.* %FB_OUTPUT_DIR%\misc\upgrade\%%d failed.
goto :EOF
)
)
:: INTL script
@copy %FB_ROOT_PATH%\src\misc\intl.sql %FB_OUTPUT_DIR%\misc\ > nul
@if %ERRORLEVEL% GEQ 1 (
call :ERROR copy %FB_ROOT_PATH%\src\misc\intl.sql %FB_OUTPUT_DIR%\misc failed with error %ERRORLEVEL%.
@if ERRORLEVEL 1 (
call :ERROR copy %FB_ROOT_PATH%\src\misc\intl.sql %FB_OUTPUT_DIR%\misc failed.
goto :EOF
)
@ -295,38 +300,36 @@ for %%d in ( v3.0 v4.0 ) do (
::)
@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
@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
:: an error if FB_EXTERNAL_DOCS is not defined. On the other hand,
:: if the docs are available then we can include them.
if defined FB_EXTERNAL_DOCS (
@echo Copying pdf docs...
@for %%v in ( Firebird_v%FB_MAJOR_VER%.%FB_MINOR_VER%.%FB_REV_NO%.ReleaseNotes.pdf ) do (
@echo ... %%v
@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 the docs are available then we must include them.
@if defined FB_EXTERNAL_DOCS (
echo Copying pdf docs...
for %%v in ( Firebird-%FB_MAJOR_VER%.%FB_MINOR_VER%.%FB_REV_NO%%FBBUILD_FILENAME_SUFFIX%-ReleaseNotes.pdf ) do (
echo ... %FB_EXTERNAL_DOCS%\%%v to %FB_OUTPUT_DIR%\doc\%%v
copy /Y %FB_EXTERNAL_DOCS%\%%v %FB_OUTPUT_DIR%\doc\%%v > nul
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 (
@echo ... %%v
@copy /Y %FB_EXTERNAL_DOCS%\%%v %FB_OUTPUT_DIR%\doc\%%v > nul
if %ERRORLEVEL% GEQ 1 (
for %%v in ( Firebird-%FB_MAJOR_VER%.%FB_MINOR_VER%-QuickStart.pdf ) do (
echo ... %%v
copy /Y %FB_EXTERNAL_DOCS%\%%v %FB_OUTPUT_DIR%\doc\%%v > nul
if ERRORLEVEL 1 (
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
if "%FBBUILD_FILENAME_SUFFIX%" == "_RC1" (
if "%FBBUILD_FILENAME_SUFFIX%" == "-RC1" (
echo Copying %FB_EXTERNAL_DOCS%\%%v failed.
) 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...
@ -378,17 +381,17 @@ if %FB2_SNAPSHOT% EQU 1 (
:: Generate runtimes as an MSI file.
:: This requires WiX 3.0 to be installed
::============
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 %MSVC_VERSION% EQU 15 (
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
@if %ERRORLEVEL% GEQ 1 (
@if ERRORLEVEL 1 (
( call :ERROR Could not generate wixobj for MSVC Runtime MSI ) & (goto :EOF)
) 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
@if %ERRORLEVEL% GEQ 1 ( (call :ERROR Could not generate MSVCC Runtime MSI ) & (goto :EOF))
"%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 1 ( ( call :ERROR Could not generate MSVCC Runtime MSI %MSVC_RUNTIME_LIBRARY_VERSION% ) & ( goto :EOF ) )
)
) 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
@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\ )
@if %ERRLEV% GEQ 1 goto :END
@if ERRORLEVEL 1 goto :END
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
::=================================================================
@if not exist %FB_OUTPUT_DIR%\firebird.msg (
(@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)))
(copy %FB_GEN_DIR%\firebird.msg %FB_OUTPUT_DIR%\firebird.msg > nul)
(if ERRORLEVEL 1 ( ( call :ERROR Could not copy firebird.msg ) & ( goto :EOF ) ) )
)
::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
::===============================================
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
@ -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
setlocal DisableDelayedExpansion
set SKIP_FILES=-x!installation_readme.txt
set SKIP_FILES=-x!*.log -x!*.exp -x!*_test.exe -x!installation_readme.txt
if "%FBBUILD_SHIP_PDB%" == "ship_pdb" (
set FBBUILD_ZIPFILE=%FBBUILD_INSTALL_IMAGES%\Firebird-%FBBUILD_FILE_ID%_pdb%FBBUILD_FILENAME_SUFFIX%.zip
set FBBUILD_ZIPFILE=%FBBUILD_INSTALL_IMAGES%\Firebird-%FBBUILD_FILE_ID%-withDebugSymbols.zip
) 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
)
@ -482,7 +485,7 @@ if exist %FBBUILD_ZIPFILE% (
@del %FBBUILD_ZIPFILE%
)
%SEVENZIP%\7z.exe a -r -tzip -mx9 %SKIP_FILES% %FBBUILD_ZIPFILE% %FB_OUTPUT_DIR%\*
"%SEVENZIP%\7z.exe" a -r -tzip -mx9 %SKIP_FILES% %FBBUILD_ZIPFILE% %FB_OUTPUT_DIR%\*
endlocal
@ -544,16 +547,19 @@ if not defined MD5_COMMAND (
call :WARNING md5sum utility not found. Cannot generate md5 sums.
@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
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
if not errorlevel 1 (
del Firebird-%PRODUCT_VER_STRING%-%FBBUILD_PACKAGE_NUMBER%.md5sum >nul 2>nul
ren md5sum.tmp Firebird-%PRODUCT_VER_STRING%-%FBBUILD_PACKAGE_NUMBER%.md5sum
if not ERRORLEVEL 1 (
del %FBBUILD_MD5SUMS_FILENAME% >nul 2>nul
ren md5sum.tmp %FBBUILD_MD5SUMS_FILENAME%
) else (
(@echo Error calling %0 & popd & @goto :END)
)
popd
@ -618,20 +624,19 @@ popd
:ERROR
::====
:: errorlevel gets reset automatically so capture it before we lose it.
set ERRLEV=%errorlevel%
set ERRLEV=%ERRORLEVEL%
@echo.
@echo Error %ERRLEV% in BuildExecutableInstall
@echo Error code %ERRLEV% in %SCRIPT_SHORT_NAME%
@echo %*
@echo.
::End of ERROR
::------------
@goto :EOF
@goto :END
:WARNING
::======
set ERRLEV=%errorlevel%
set ERRLEV=%ERRORLEVEL%
@echo.
@echo **** WARNING - Execution of a non-critical component failed with error level %ERRLEV%. ****
@echo %*
@ -642,8 +647,11 @@ if "%FBBUILD_PROD_STATUS%"=="PROD" (
@echo Error %ERRLEV% must be fixed before continuing
@echo.
) else (
set ERRLEV=0
set ERRLEV=
@ver > nul
)
::End of WARNING
::--------------
@goto :EOF
@ -658,16 +666,16 @@ for %%v in ( %1 %2 %3 %4 %5 %6 %7 %8 %9 ) do (
pushd ..\..\..\win32
::This must be called from the directory it resides in.
@call setenvvar.bat
@call setenvvar.bat %*
@if ERRORLEVEL 1 (popd & (call :ERROR Failure after calling setenvvar.bat ) & goto :END )
popd
@if errorlevel 1 (goto :END)
@if not defined FB2_ISS_DEBUG (set FB2_ISS_DEBUG=0)
@echo.
@echo Reading command-line parameters...
@(@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 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)
@echo.
@echo Completed building installation kit(s)
@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)
::End of MAIN
::-----------

View File

@ -23,9 +23,9 @@
; 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:
; http://www.jrsoftware.org/isdl.php
; https://www.jrsoftware.org/isdl.php
;
;
; Known bugs and problems etc etc.
@ -77,8 +77,8 @@
#define PackageNumber "0"
#endif
#define FilenameSuffix GetEnv("FBBUILD_FILENAME_SUFFIX")
#if FilenameSuffix != "" && pos('_',FilenameSuffix) == 0
#define FilenameSuffix "_" + FilenameSuffix
#if FilenameSuffix != "" && pos('-',FilenameSuffix) == 0
#define FilenameSuffix "-" + FilenameSuffix
#endif
;-------Start of Innosetup script debug flags section
@ -117,8 +117,9 @@
;We speed up compilation (and hence testing) by not compressing contents.
#undef compression
;Default to x64 for testing
;Default to x64_release for testing
#define PlatformTarget "x64"
#define ConfigurationTarget "release"
#endif
;-------#ifdef iss_debug
@ -138,7 +139,7 @@
; 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
; 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.
#ifdef support_legacy_windows
#define MINVER "6.0"
@ -163,24 +164,32 @@
#pragma warning "msvc runtime major version was not defined. Forcing default value."
#endif
#if Len(GetEnv("MSVC_RUNTIME_MINOR_VERSION_0")) > 0
#define msvc_runtime_minor_version_0 GetEnv("MSVC_RUNTIME_MINOR_VERSION_0")
#if Len(GetEnv("MSVC_RUNTIME_MINOR_VERSION")) > 0
#define msvc_runtime_minor_version GetEnv("MSVC_RUNTIME_MINOR_VERSION")
#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."
#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
; the rule until MS changes it again is that 141 is always used, except for the filename
; of the vcruntime and msvcp dll's.
#if msvc_version = 15
#if Len(GetEnv("MSVC_RUNTIME_MINOR_VERSION_1")) > 0
#define msvc_runtime_minor_version_1 GetEnv("MSVC_RUNTIME_MINOR_VERSION_1")
#else
#define msvc_runtime_minor_version_1 1
#pragma warning "msvc runtime minor version 1 was not defined. Forcing default value."
#endif
#endif
;#if msvc_version = 15
;#if Len(GetEnv("MSVC_RUNTIME_MINOR_VERSION_2")) > 0
;#define msvc_runtime_minor_version GetEnv("MSVC_RUNTIME_MINOR_VERSION_2")
;#else
;#define msvc_runtime_minor_version 2
;#pragma warning "msvc runtime minor version 2 was not defined. Forcing default value."
;#endif
;#endif
#if Int(msvc_version,15) < 15
#define msvcr_filename = "msvcr"
@ -208,6 +217,21 @@
#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 we are still under development we can ignore some missing files.
#define SkipFileIfDevStatus " skipifsourcedoesntexist "
@ -216,9 +240,9 @@
#endif
;This location is relative to SourceDir (declared below)
#define FilesDir="output_" + PlatformTarget
#define FilesDir="output_" + PlatformTarget + "_" + ConfigurationTarget
#if PlatformTarget == "x64"
#define WOW64Dir="output_win32"
#define WOW64Dir="output_Win32" + "_" + ConfigurationTarget
#endif
;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 GroupnameVer FB_MAJOR_VER + "." + FB_MINOR_VER
#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
; the pdb files. It would then upgrade an existing installation,
@ -242,14 +267,17 @@
;#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
#define pdb_str="_pdb"
#define pdb_str="-withDebugSymbols"
#else
#define pdb_str=""
#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"
#define debug_str="_debug"
#define debug_str="-debugbuild"
#else
#define debug_str=""
#endif
@ -273,8 +301,8 @@ AppVersion={#MyAppVerString}
VersionInfoVersion={#MyAppVerString}
SourceDir={#Root}
OutputBaseFilename={#MyAppName}-{#MyAppVerString}_{#PackageNumber}_{#PlatformTarget}{#debug_str}{#pdb_str}{#FilenameSuffix}
;OutputManifestFile={#MyAppName}-{#MyAppVerString}_{#PackageNumber}_{#PlatformTarget}{#debug_str}{#pdb_str}{#FilenameSuffix}_Setup-Manifest.txt
OutputBaseFilename={#MyAppName}-{#MyAppVerString}-{#PackageNumber}{#FilenameSuffix}-windows-{#ReleasePlatformTarget}{#debug_str}{#pdb_str}
;OutputManifestFile={#MyAppName}-{#MyAppVerString}-{#PackageNumber}{#FilenameSuffix}-windows-{#ReleasePlatformTarget}{#debug_str}{#pdb_str}-Setup-Manifest.txt
OutputDir=builds\install_images
;!!! These directories are as seen from SourceDir !!!
#define ScriptsDir "builds\install\arch-specific\win32"
@ -377,9 +405,9 @@ Name: CopyFbClientAsGds32Task; Description: {cm:CopyFbClientAsGds32Task}; Compon
[Run]
; due to the changes required to support MSVC15 support for earlier versions is now broken.
#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"
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
@ -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 gds32"; StatusMsg: {cm:instclientGenGds32}; MinVersion: {#MinVer}; Components: ClientComponent; Flags: runminimized; Check: CopyGds32
#if PlatformTarget == "x64"
Filename: {app}\WOW64\instclient.exe; Parameters: "install fbclient"; StatusMsg: {cm:instclientCopyFbClient}; MinVersion: {#MinVer}; Components: ClientComponent; Flags: runminimized 32bit; Check: CopyFBClientLib;
Filename: {app}\WOW64\instclient.exe; Parameters: "install fbclient"; StatusMsg: {cm:instclientCopyFbClient}; MinVersion: {#MinVer}; Components: ClientComponent; Flags: runminimized 32bit; Check: CopyFBClientLib
Filename: {app}\WOW64\instclient.exe; Parameters: "install gds32"; StatusMsg: {cm:instclientGenGds32}; MinVersion: {#MinVer}; Components: ClientComponent; Flags: runminimized 32bit; Check: CopyGds32
#endif
@ -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 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 {#FB_cur_ver} Release Notes; Filename: {app}\doc\Firebird_v{#FB_cur_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 {#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_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}\Firebird Web-site"; Filename: "{app}\doc\firebirdsql.org.url"
;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
;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
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]
#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*.dat; DestDir: {app}; Components: ClientComponent; Flags: sharedfile ignoreversion
#if PlatformTarget == "x64"
Source: {#WOW64Dir}\icuuc??.dll; DestDir: {app}\WOW64; Components: ClientComponent; Flags: sharedfile ignoreversion
Source: {#WOW64Dir}\icuin??.dll; DestDir: {app}\WOW64; Components: ClientComponent; Flags: sharedfile ignoreversion
Source: {#WOW64Dir}\icudt??.dll; DestDir: {app}\WOW64; Components: ClientComponent; Flags: sharedfile ignoreversion
Source: {#WOW64Dir}\icudt*.dat; DestDir: {app}\WOW64; Components: ClientComponent; Flags: sharedfile ignoreversion
Source: {#WOW64Dir}\icuuc??.dll; DestDir: {app}\WOW64; Components: ClientComponent; Flags: sharedfile ignoreversion {#SkipFileIfDevStatus}
Source: {#WOW64Dir}\icuin??.dll; DestDir: {app}\WOW64; Components: ClientComponent; Flags: sharedfile ignoreversion {#SkipFileIfDevStatus}
Source: {#WOW64Dir}\icudt??.dll; DestDir: {app}\WOW64; Components: ClientComponent; Flags: sharedfile ignoreversion {#SkipFileIfDevStatus}
Source: {#WOW64Dir}\icudt*.dat; DestDir: {app}\WOW64; Components: ClientComponent; Flags: sharedfile ignoreversion {#SkipFileIfDevStatus}
#endif
#if PlatformTarget =="Win32"
@ -504,19 +532,19 @@ Source: {#FilesDir}\fbrmclib.dll; DestDir: {app}; Components: ServerComponent; F
Source: {#FilesDir}\zlib1.dll; DestDir: {app}; Components: ClientComponent; Flags: sharedfile ignoreversion
#if PlatformTarget == "x64"
Source: {#WOW64Dir}\zlib1.dll; DestDir: {app}\WOW64; Components: ClientComponent; Flags: sharedfile ignoreversion
Source: {#WOW64Dir}\zlib1.dll; DestDir: {app}\WOW64; Components: ClientComponent; Flags: sharedfile ignoreversion {#SkipFileIfDevStatus}
#endif
;Rules for installation of MS runtimes are simplified with MSVC10
;We just install the runtimes into the install dir.
#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}\msvcp{#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_file_version}.dll; DestDir: {app}; Components: ClientComponent; Flags: sharedfile;
#if PlatformTarget == "x64"
;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}\msvcp{#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_file_version}.dll; DestDir: {app}\WOW64; Components: ClientComponent; Flags: sharedfile {#SkipFileIfDevStatus};
#endif
#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"
;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.
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: {#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: {#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_library_version}_Win32.msi; DestDir: {tmp}; Check: HasWI30; MinVersion: {#MinVer}; Components: ClientComponent; Flags: {#SkipFileIfDevStatus}
#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
@ -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}\intl\fbintl.dll; DestDir: {app}\intl; Components: ServerComponent; Flags: sharedfile ignoreversion;
Source: {#FilesDir}\intl\fbintl.conf; DestDir: {app}\intl; Components: ServerComponent; Flags: onlyifdoesntexist
Source: {#FilesDir}\lib\*.*; DestDir: {app}\lib; Components: DevAdminComponent; Flags: ignoreversion;
Source: {#FilesDir}\lib\*.lib; DestDir: {app}\lib; Components: DevAdminComponent; Flags: ignoreversion;
#if PlatformTarget == "x64"
Source: {#WOW64Dir}\lib\*.lib; DestDir: {app}\WOW64\lib; Components: DevAdminComponent; Flags: ignoreversion {#SkipFileIfDevStatus}
#endif
@ -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\udr\*.*; DestDir: {app}\plugins\udr; Components: ServerComponent; Flags: ignoreversion;
#if PlatformTarget == "x64"
Source: {#WOW64Dir}\plugins\chacha*.dll; DestDir: {app}\WOW64\plugins; Components: ClientComponent; Flags: ignoreversion;
Source: {#WOW64Dir}\plugins\chacha*.dll; DestDir: {app}\WOW64\plugins; Components: ClientComponent; Flags: ignoreversion {#SkipFileIfDevStatus};
#endif
Source: {#FilesDir}\misc\*.*; DestDir: {app}\misc; Components: ServerComponent; Flags: ignoreversion createallsubdirs recursesubdirs ;
@ -575,9 +603,12 @@ Source: {#FilesDir}\examples\*.*; DestDir: {app}\examples; Components: DevAdminC
#ifdef ship_pdb
Source: {#FilesDir}\fbclient.pdb; DestDir: {app}; Components: ClientComponent;
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"
Source: {#WOW64Dir}\fbclient.pdb; DestDir: {app}\WOW64; Components: ClientComponent;
Source: {#WOW64Dir}\fbclient.pdb; DestDir: {app}\WOW64; Components: ClientComponent; Flags: {#SkipFileIfDevStatus};
#endif
#endif

View File

@ -920,9 +920,6 @@ end;
function ConfigureFirebird: boolean;
begin
if IsNotServerInstall then
Result := False
else
Result := (InstallAndConfigure AND Configure) = Configure;
end;
@ -1210,12 +1207,16 @@ begin
end;
}
function ConfigureAuthentication: boolean;
begin
if FileExists(WizardDirValue + '\security5.fdb') then
Result := false
else
Result := true;
if IsNotServerInstall then
Result := false
else
if FileExists(WizardDirValue + '\security5.fdb') then
Result := false
else
Result := true;
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.CreateSYSDBAPassword=Create a password for the Database System Administrator
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.RetypeSYSDBAPassword=Retype SYSDBA Password:
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
# --------
@ -104,7 +104,7 @@
# To specify access to specific trees, enum all required paths
# (for Windows this may be something like 'C:\DataBase;D:\Mirror',
# 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
# specifying values and directory path names. Examples:
@ -507,6 +507,12 @@
#
#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
# or log file in audit case.
#
@ -611,6 +617,18 @@
#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
@ -858,14 +876,6 @@
#
#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
# allow only IPv6 communication and separate sockets must be used for
@ -1019,6 +1029,19 @@
#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
#
@ -1032,6 +1055,36 @@
#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
# ==============================

View File

@ -211,8 +211,11 @@ missingLibrary() {
# Check library presence, errorexit when missing
checkLibrary() {
libName=${1}
haveLibrary $libName || missingLibrary $libName
libList=${1}
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
# 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
all: firebird
firebird:
$(MAKE) TARGET=$(DefaultTarget) $(Process)
$(MAKE) TARGET?=$(DefaultTarget) $(Process)
Release:
$(MAKE) TARGET=Release $(Process)
@ -174,24 +181,31 @@ $(GEN_ROOT)/Make.Version : $(SRC_ROOT)/misc/writeBuildNum.sh
#
external:
CC="$(CC)" CFLAGS="$(CFLAGS)" $(MAKE) -C $(ROOT)/extern/btyacc
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
ifeq ($(CLIENT_ONLY_FLG),N)
CC="$(CC)" CFLAGS="$(CFLAGS)" AR="$(AR)" $(MAKE) -C $(ROOT)/extern/btyacc
endif
CC="$(CC)" CFLAGS="$(CFLAGS)" $(MAKE) -C $(ROOT)/extern/decNumber
ln -sf $(ROOT)/extern/decNumber/libdecFloat.a $(LIB)
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
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)
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
ifeq ($(CLIENT_ONLY_FLG),N)
ifeq ($(RE2_BUILD_FLG),Y)
CXX="$(CXX)" CXXFLAGS="$(CXXFLAGS) -O3 -g -fPIC" $(MAKE) -C $(ROOT)/extern/re2
ln -sf $(ROOT)/extern/re2/obj/libre2.a $(LIB)
CXX="$(CXX)" CXXFLAGS="$(CXXFLAGS) -O3 -g -fPIC" AR="$(AR)" $(MAKE) -C $(ROOT)/extern/re2
ln -sf $(ROOT)/extern/re2/obj/libre2.a $(STATIC_LIB)
endif
$(MAKE) libcds
endif
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)
install_name_tool -id "@rpath/lib/libtommath.dylib" $(TOMMATH)/.libs/libtommath.0.dylib
@ -203,7 +217,7 @@ endif
endif
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)
install_name_tool -id "@rpath/lib/libtomcrypt.dylib" $(TOMCRYPT)/.libs/libtomcrypt.1.dylib
@ -214,9 +228,11 @@ else
endif
endif
ifeq ($(CLIENT_ONLY_FLG),N)
ifeq ($(STD_EDITLINE),false)
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
@ -235,7 +251,7 @@ export_lists: $(ALLVERS)
#
.PHONY: tommath
TOMMATH_LIB=$(LIB)/libtommath.a
TOMMATH_LIB=$(STATIC_LIB)/libtommath.a
TOM_Objs=$(addprefix ../extern/libtommath/,$(call doObjects,$(call dirFiles,../extern/libtommath)))
tommath: $(TOMMATH_LIB)
@ -249,7 +265,7 @@ $(TOMMATH_LIB): $(TOM_Objs)
#
.PHONY: tomcrypt
TOMCRYPT_LIB=$(LIB)/libtomcrypt.a
TOMCRYPT_LIB=$(STATIC_LIB)/libtomcrypt.a
TOM_Src:=$(shell find ../extern/libtomcrypt/src -name '*.c' -print)
TOM_Objs=$(call doObjects,$(TOM_Src))
@ -265,7 +281,7 @@ $(TOMCRYPT_LIB): $(TOM_Objs)
#
.PHONY: re2
RE2_LIB:=$(LIB)/libre2.a
RE2_LIB:=$(STATIC_LIB)/libre2.a
RE2_DIR:=../extern/re2/
RE2_Util:=rune.cc strutil.cc
@ -279,6 +295,23 @@ $(RE2_LIB): $(RE2_Objs)
-$(RM) $@
$(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
#
@ -291,8 +324,16 @@ master_process:
$(MAKE) export_lists
$(MAKE) external
$(MAKE) updateCloopInterfaces
$(MAKE) boot
$(MAKE) rest
$(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) fbintl
$(MAKE) utilities
@ -305,7 +346,7 @@ master_process:
(cd $(BIN); $(LN) $(notdir $(GPRE)) $(notdir $(GPRE_CURRENT)))
$(MAKE) plugins
$(MAKE) examples
$(MAKE) rest
endif
cross_process:
@ -318,6 +359,7 @@ cross1:
$(MAKE) export_lists
$(MAKE) external
$(MAKE) updateCloopInterfaces
ifeq ($(CLIENT_ONLY_FLG),N)
$(MAKE) boot
$(MAKE) yvalve
$(MAKE) engine
@ -332,25 +374,39 @@ cross1:
(cd $(BIN); $(LN) $(notdir $(RUN_GPRE)) $(notdir $(GPRE_CURRENT)))
$(MAKE) include_generic
$(MAKE) -f Makefile.examples -C $(GEN_ROOT)/examples/
endif
cross2:
ln -sf $(SRC_ROOT)/include/cross/$(CROSS_CONFIG) $(SRC_ROOT)/include/gen/autoconfig.h
$(MAKE) prerequisites
$(MAKE) tommath
ifeq ($(WITH_TOMCRYPT),Y)
$(MAKE) LTCSOURCE=-DLTC_SOURCE tomcrypt
endif
ifeq ($(CLIENT_ONLY_FLG),N)
$(MAKE) re2
CC="$(CC)" CFLAGS="$(CFLAGS)" $(MAKE) -C $(ROOT)/extern/decNumber
ln -sf $(ROOT)/extern/decNumber/libdecFloat$(CROSS).a $(LIB)
$(MAKE) libcds
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
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
ifeq ($(CLIENT_ONLY_FLG),Y)
ifeq ($(WITH_TOMCRYPT),Y)
$(MAKE) chacha
endif
$(MAKE) include_generic
endif
ifeq ($(CLIENT_ONLY_FLG),N)
$(MAKE) engine
$(MAKE) fbintl
$(MAKE) utilities
$(MAKE) $(GPRE)
$(MAKE) plugins
$(MAKE) -f Makefile.plugins_examples
$(MAKE) cross_rest
endif
#___________________________________________________________________________
@ -361,6 +417,8 @@ $(COMMON_LIB): $(Common_Objects)
-$(RM) $@
$(STATICLIB_LINK) $@ $^
$(COMMON_TEST): $(Common_Test_Objects) $(COMMON_LIB)
$(EXE_LINK) $(EXE_LINK_OPTIONS) $^ -o $@ -L$(LIB) -L$(STATIC_LIB) $(LINK_LIBS)
#___________________________________________________________________________
# gpre_boot
@ -369,7 +427,7 @@ $(COMMON_LIB): $(Common_Objects)
boot: $(GPRE_BOOT)
$(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)
(cd $(@D); $(LN) $(@F) $(notdir $(GPRE_CURRENT)))
@ -404,6 +462,9 @@ engine: $(ENGINE_SONAME)
$(ENGINE_SONAME): $(Engine_Objects) $(SVC_Objects) $(COMMON_LIB)
$(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
@ -506,7 +567,7 @@ $(FBTRACEMGR): $(FBTRACEMGR_Objects) $(COMMON_LIB)
gbak: $(GBAK)
$(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)
@ -543,7 +604,7 @@ $(NBACKUP): $(NBACKUP_Objects) $(COMMON_LIB)
# 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)
LEGACY_USER_MANAGER = $(call makePluginName,Legacy_UserManager)
LEGACY_AUTH_SERVER = $(call makePluginName,Legacy_Auth)
@ -551,15 +612,16 @@ SRP_USER_MANAGER = $(call makePluginName,Srp)
FBTRACE = $(call makePluginName,fbtrace)
AUTH_DEBUGGER = $(call makePluginName,Auth_Debug)
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)
PROFILER = $(call makePluginName,Default_Profiler)
BUILD_DEBUG:=
ifeq ($(TARGET),Debug)
BUILD_DEBUG:=auth_debug
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
@ -573,7 +635,7 @@ $(UDR_PLUGIN): $(UDRENG_Objects) $(COMMON_LIB)
legacy_user_management: $(LEGACY_USER_MANAGER)
$(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))
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)\
$(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)
$(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)
@ -626,7 +694,7 @@ GBAK_FILES := $(subst Native,$(TARGET),$(GBAK_FILES))
rest: message_file tzdata
cross_rest:
cross_rest: tzdata
$(MAKE) $(BUILD_FILE)
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
$(CHMOD_6) $(FIREBIRD_MSG)
tzdata: $(FIREBIRD)/tzdata
tzdata: $(TZDATA)/ids.dat
$(FIREBIRD)/tzdata: $(ROOT)/extern/icu/tzdata/$(TZDATA_ZIP)
mkdir -p $(FIREBIRD)/tzdata
unzip -o $(ROOT)/extern/icu/tzdata/$(TZDATA_ZIP) -d $(FIREBIRD)/tzdata
$(TZDATA)/ids.dat: $(ROOT)/extern/icu/tzdata/$(TZDATA_ZIP)
unzip -o $(ROOT)/extern/icu/tzdata/$(TZDATA_ZIP) -d $(TZDATA)
touch $(TZDATA)/ids.dat
$(BUILD_FILE): $(BUILD_Objects)
$(EXE_LINK) $(EXE_LINK_OPTIONS) $(LSB_UNDEF) $^ -o $@
@ -711,16 +779,37 @@ install install-embedded silent_install package packages dist:
$(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
#
.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_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_yacc_gen clean_gpre_gen clean_dbs clean_examples clean_tommath \
clean_process: clean_objects clean_dependancies clean_extern_objects clean_build \
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_vers:
@ -766,6 +855,9 @@ clean_editline:
#clean_icu:
# -$(MAKE) -C $(ROOT)/extern/icu/source clean
clean_cds:
-$(RM_R) $(LIBCDS)/lib/$(TARGET)
clean_tommath:
-$(MAKE) -C $(ROOT)/extern/libtommath clean

View File

@ -59,13 +59,13 @@ include $(ROOT)/gen/make.shared.variables
.PHONY: libeditline
libeditline : $(LIB)/libedit.a
libeditline : $(STATIC_LIB)/libedit.a
$(LIB)/libedit.a:
$(STATIC_LIB)/libedit.a:
AR=ar
cd $(ROOT)/extern/editline; chmod +x configure; ./configure --enable-static --disable-shared --enable-widec
$(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

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