3 # Copyright (c) 2015-2024 Matias Fonzo, <selk@dragora.org>.
5 # Licensed under the Apache License, Version 2.0 (the "License");
6 # you may not use this file except in compliance with the License.
7 # You may obtain a copy of the License at
9 # http://www.apache.org/licenses/LICENSE-2.0
11 # Unless required by applicable law or agreed to in writing, software
12 # distributed under the License is distributed on an "AS IS" BASIS,
13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 # See the License for the specific language governing permissions and
15 # limitations under the License.
17 echo "Making Qi from ${worktree}/qi ..."
19 cd -- "${worktree}/qi"
21 # Set default compiler options for Dragora
24 package_cflags="-O2 -march=pentium-mmx -mtune=pentiumpro -fstack-clash-protection -fstack-protector-strong --param=ssp-buffer-size=4 -pipe"
25 package_cxxflags="$package_cflags"
27 package_cppflags="-D_FORTIFY_SOURCE=2"
30 package_cflags="-fPIC -O2 -mtune=generic -fstack-clash-protection -fcf-protection=full -fstack-protector-strong --param=ssp-buffer-size=4 -pipe"
31 package_cxxflags="$package_cflags"
33 package_cppflags="-D_FORTIFY_SOURCE=2"
36 package_cflags="-O2 -fstack-protector-strong --param=ssp-buffer-size=4 -pipe"
37 package_cxxflags="$package_cflags"
39 package_cppflags="-D_FORTIFY_SOURCE=2"
47 --localstatedir=/var \
48 --packagedir=/usr/pkg \
50 --arch=$package_arch \
51 --qi-cflags="$package_cflags" \
52 --qi-cxxflags="$package_cxxflags" \
53 --qi-ldflags="$package_ldflags" \
54 --qi-cppflags="$package_cppflags"
56 unset -v package_cflags package_cxxflags package_ldflags package_cppflags
60 # Clean up the source repository
65 # Make available "usr/pkg" directory and output directory
66 mkdir -p -- "${rootdir}/usr/pkg" "${rootdir}/var/cache/qi/packages"
68 # Adjust prefixes in config for final system installation
70 -e 's|/tools|/usr|g' \
71 -e 's|/usr/etc|/etc|' \
74 # Include additional settings from targets/
76 # We prefix '--enable-multilib' for targets supporting it,
77 # the native GCC wants this option explicitly
78 if test -n "$multilib_options"
80 case $multilib_options in
81 *--disable-multilib* | *--enable-multilib* | *--with-multilib-list=)
85 multilib_options="--enable-multilib $multilib_options"
90 cat << EOF >> /tools/etc/qirc
93 multilib_options="$multilib_options"
95 # lib<equal> suffix (multilib, if any)
96 libSuffix="$libSuffix"
98 # GCC (arch-specific) options
99 gcc_options="$gcc_options"
102 chmod 644 /tools/etc/qirc