1- # SPDX-License-Identifier: GPL-2.0-or-later
2- # Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
3- # Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
4- # Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS)
1+ # SPDX-License-Identifier: GPL-2.0
2+ # Copyright (C) 2024-present ROCKNIX (https://github.com/ROCKNIX)
53
6- PKG_NAME ="gcc"
7- PKG_VERSION ="14.2.0"
8- PKG_LICENSE ="GPL-2.0-or-later"
9- PKG_SITE ="https://gcc.gnu.org/"
10- PKG_URL ="https://ftp.gnu.org/gnu/gcc/${PKG_NAME}-${PKG_VERSION}/${PKG_NAME}-${PKG_VERSION}.tar.xz"
11- PKG_DEPENDS_BOOTSTRAP ="ccache:host autoconf:host binutils:host gmp:host mpfr:host mpc:host zstd:host"
12- PKG_DEPENDS_TARGET ="toolchain"
13- PKG_DEPENDS_HOST ="ccache:host autoconf:host binutils:host gmp:host mpfr:host mpc:host zstd:host glibc libxcrypt"
14- PKG_DEPENDS_INIT ="toolchain"
15- PKG_LONGDESC ="This package contains the GNU Compiler Collection."
16-
17- if [ "${MOLD_SUPPORT}" = "yes" ]; then
18- PKG_DEPENDS_HOST+ =" mold:host"
19- fi
4+ . ${ROOT}/packages/lang/gcc/package.mk
205
216case ${TARGET_ARCH} in
22- arm|aarch64|riscv64 )
7+ arm|aarch64)
238 OPTS_LIBATOMIC ="--enable-libatomic"
249 ;;
2510 *)
@@ -85,88 +70,6 @@ PKG_CONFIGURE_OPTS_HOST="${GCC_COMMON_CONFIGURE_OPTS} \
8570 --enable-clocale=gnu \
8671 ${TARGET_ARCH_GCC_OPTS}"
8772
88- post_makeinstall_bootstrap() {
89- GCC_VERSION =$(${TOOLCHAIN}/bin/${TARGET_NAME}-gcc -dumpversion )
90- DATE ="0401$(echo ${GCC_VERSION} | sed 's/\./0/g' ) "
91- CROSS_CC =${TARGET_PREFIX}gcc-${GCC_VERSION}
92-
93- rm -f ${TARGET_PREFIX}gcc
94-
95- cat > ${TARGET_PREFIX}gcc <<EOF
96- # !/bin/sh
97- ${TOOLCHAIN}/bin/ccache ${CROSS_CC} "\$@"
98- EOF
99-
100- chmod +x ${TARGET_PREFIX}gcc
101-
102- # To avoid cache trashing
103- touch -c -t ${DATE} ${CROSS_CC}
104-
105- # install lto plugin for binutils
106- mkdir -p ${TOOLCHAIN}/lib/bfd-plugins
107- ln -sf ../gcc/${TARGET_NAME}/${GCC_VERSION}/liblto_plugin.so ${TOOLCHAIN}/lib/bfd-plugins
108- }
109-
110- pre_configure_host() {
111- unset CPP
112- }
113-
114- post_make_host() {
115- # fix wrong link
116- rm -rf ${TARGET_NAME}/libgcc/libgcc_s.so
117- ln -sf libgcc_s.so.1 ${TARGET_NAME}/libgcc/libgcc_s.so
118-
119- if [ ! "${BUILD_WITH_DEBUG}" = "yes" ]; then
120- ${TARGET_PREFIX}strip ${TARGET_NAME}/libgcc/libgcc_s.so*
121- ${TARGET_PREFIX}strip ${TARGET_NAME}/libstdc++-v3/src/.libs/libstdc++.so*
122- fi
123- }
124-
125- post_makeinstall_host() {
126- cp -PR ${TARGET_NAME}/libstdc++-v3/src/.libs/libstdc++.so* ${SYSROOT_PREFIX}/usr/lib
127-
128- GCC_VERSION =$(${TOOLCHAIN}/bin/${TARGET_NAME}-gcc -dumpversion )
129- DATE ="0501$(echo ${GCC_VERSION} | sed 's/\./0/g' ) "
130- CROSS_CC =${TARGET_PREFIX}gcc-${GCC_VERSION}
131- CROSS_CXX =${TARGET_PREFIX}g++-${GCC_VERSION}
132-
133- rm -f ${TARGET_PREFIX}gcc
134-
135- cat > ${TARGET_PREFIX}gcc <<EOF
136- # !/bin/sh
137- ${TOOLCHAIN}/bin/ccache ${CROSS_CC} "\$@"
138- EOF
139-
140- chmod +x ${TARGET_PREFIX}gcc
141-
142- # To avoid cache trashing
143- touch -c -t ${DATE} ${CROSS_CC}
144-
145- [ ! -f "${CROSS_CXX}" ] && mv ${TARGET_PREFIX}g++ ${CROSS_CXX}
146-
147- cat > ${TARGET_PREFIX}g++ <<EOF
148- # !/bin/sh
149- ${TOOLCHAIN}/bin/ccache ${CROSS_CXX} "\$@"
150- EOF
151-
152- chmod +x ${TARGET_PREFIX}g++
153-
154- # To avoid cache trashing
155- touch -c -t ${DATE} ${CROSS_CXX}
156-
157- # install lto plugin for binutils
158- mkdir -p ${TOOLCHAIN}/lib/bfd-plugins
159- ln -sf ../gcc/${TARGET_NAME}/${GCC_VERSION}/liblto_plugin.so ${TOOLCHAIN}/lib/bfd-plugins
160- }
161-
162- configure_target() {
163- : # reuse configure_host()
164- }
165-
166- make_target() {
167- : # reuse make_host()
168- }
169-
17073makeinstall_target() {
17174 mkdir -p ${INSTALL}/usr/lib
17275 cp -P ${PKG_BUILD}/.${HOST_NAME}/${TARGET_NAME}/libgcc/libgcc_s.so* ${INSTALL}/usr/lib
@@ -178,16 +81,3 @@ makeinstall_target() {
17881 cp -P ${PKG_BUILD}/.${HOST_NAME}/${TARGET_NAME}/libatomic/.libs/libatomic.so* ${INSTALL}/usr/lib
17982 fi
18083}
181-
182- configure_init() {
183- : # reuse configure_host()
184- }
185-
186- make_init() {
187- : # reuse make_host()
188- }
189-
190- makeinstall_init() {
191- mkdir -p ${INSTALL}/usr/lib
192- cp -P ${PKG_BUILD}/.${HOST_NAME}/${TARGET_NAME}/libgcc/libgcc_s.so* ${INSTALL}/usr/lib
193- }
0 commit comments