| |
| |
| |
| |
| |
| |
| if [ "${3}" = runtime ]\ |
| || [ "${3}" = full ]; then |
| set_build_dir cbb-gcc-${PKG_GCC_VERSION} cross; |
| cd ${PKG_BUILD_DIR}; |
| if [ "${3}" = runtime ]; then |
| |
| if ! is_build_script_done build; then |
| make ${MAKEFLAGS} all-target-libgcc; |
| set_build_script_done build -install; |
| fi; |
| if ! is_build_script_done install; then |
| make ${MAKEFLAGS} install-target-libgcc; |
| set_build_script_done install finish; |
| fi; |
| elif [ "${3}" = full ]; then |
| |
| if ! is_build_script_done build1; then |
| make ${MAKEFLAGS} all-target-libstdc++-v3; |
| set_build_script_done build1 -install1; |
| fi; |
| if ! is_build_script_done install1; then |
| make ${MAKEFLAGS} install-target-libstdc++-v3; |
| set_build_script_done install1 -build2; |
| fi; |
| if ! is_build_script_done build2; then |
| make ${MAKEFLAGS}; |
| set_build_script_done build2 -install2; |
| fi; |
| if ! is_build_script_done install2; then |
| make ${MAKEFLAGS} install; |
| set_build_script_done install2 finish; |
| fi; |
| fi; |
| else |
| if [ "${3}" = stage1 ]; then |
| |
| if ! is_build_script_done fetch; then |
| fetch_git cbb-gcc-${PKG_GCC_VERSION} \ |
| ${GITROOT}/cbb/cbb-gcc-${PKG_GCC_VERSION}; |
| set_build_script_done fetch -configure; |
| fi; |
| set_build_dir cbb-gcc-${PKG_GCC_VERSION} cross; |
| export cbb_ldflags_for_target=--sysroot=${PKG_PREFIX} \ |
| cbb_sysroot_for_libgcc=${PKG_PREFIX} \ |
| cbb_target=${TARGET} \ |
| cbb_neutral_libiberty=no \ |
| cbb_xgcc_for_specs=${WORKDIR}/${PKG_BUILD_DIR}/gcc/xgcc; |
| GCCTARGET_FLAGS="-DIN_TARGET_LIBRARY_BUILD --sysroot=${PKG_PREFIX}"; |
| elif [ "${3}" = native ]; then |
| |
| set_build_dir cbb-gcc-${PKG_GCC_VERSION} native; |
| export cbb_ldflags_for_target=--sysroot=${PKG_PREFIX} \ |
| cbb_sysroot_for_libgcc=${PKG_PREFIX} \ |
| cbb_target=${TARGET} \ |
| cbb_xgcc_for_specs=${TARGET}-gcc; |
| GCCTARGET_FLAGS="-DIN_TARGET_LIBRARY_BUILD --sysroot=${PKG_PREFIX}"; |
| fi; |
| GCCFLAGS="${CFLAGS:+${CFLAGS} }--include $(readlink -f ${WORKDIR}/cbb-gcc-${PKG_GCC_VERSION}/libc/cbb-musl-pe.h)"; |
| set_env_vars "${GCCFLAGS}" CFLAGS CFLAGS_FOR_BUILD CPPFLAGS_FOR_BUILD CXXFLAGS CXXFLAGS_FOR_BUILD; |
| set_env_vars "${GCCTARGET_FLAGS}" CFLAGS_FOR_TARGET CPPFLAGS_FOR_TARGET CXXFLAGS_FOR_TARGET LIBCFLAGS_FOR_TARGET XGCC_FLAGS_FOR_TARGET; |
| set_env_vars "${CFLAGS_FOR_BUILD}" cbb_cflags_for_stage1 cbb_cflags_for_stage2 cbb_cflags_for_stage3 cbb_cflags_for_stage4; |
| export CFLAGS CXXFLAGS CFLAGS_FOR_BUILD CPPFLAGS_FOR_BUILD CXXFLAGS_FOR_BUILD CFLAGS_FOR_TARGET XGCC_FLAGS_FOR_TARGET CPPFLAGS_FOR_TARGET CXXFLAGS_FOR_TARGET LIBCFLAGS_FOR_TARGET; |
| if ! is_build_script_done configure; then |
| if [ "${3}" = stage1 ]; then |
| mkdir -p -- ${PKG_PREFIX}/include; |
| [ \! -d ${PKG_PREFIX}/usr ] && \ |
| ln -s -- . ${PKG_PREFIX}/usr; |
| _configure_args="--prefix=${PREFIX} --with-sysroot=${PKG_PREFIX}"; |
| elif [ "${3}" = native ]; then |
| mkdir -p -- ${PKG_PREFIX}/${TARGET}; |
| if [ \! -d ${PKG_PREFIX}/${TARGET}/usr ]; then |
| ln -s -- . ${PKG_PREFIX}/${TARGET}/usr; |
| fi; |
| if [ "${ARCH}" = nt32 ]; then |
| _configure_args="--host=i686-nt32-midipix"; |
| else |
| _configure_args="--host=x86_64-nt64-midipix"; |
| fi; |
| _configure_args="${_configure_args} \ |
| --prefix=/ \ |
| --with-elf=${PKG_PREFIX} \ |
| --with-gmp=${PKG_PREFIX} \ |
| --with-mpc=${PKG_PREFIX} \ |
| --with-mpfr=${PKG_PREFIX} \ |
| --with-sysroot="; |
| fi; |
| rm_if_exists -m -c ${PKG_BUILD_DIR}; |
| ../cbb-gcc-${PKG_GCC_VERSION}/configure \ |
| --disable-bootstrap \ |
| --disable-libmudflap \ |
| --disable-multilib \ |
| --disable-nls \ |
| --disable-obsolete \ |
| --disable-sjlj-exceptions \ |
| --disable-symvers \ |
| --enable-canonical-system-headers \ |
| --enable-__cxa_atexit \ |
| --enable-debug \ |
| --enable-gnu-indirect-function \ |
| --enable-gnu-unique-object \ |
| --enable-initfini-array \ |
| --enable-languages=c,c++,objc,lto \ |
| --enable-libstdcxx-debug \ |
| --enable-lto \ |
| --enable-multiarch \ |
| --enable-secureplt \ |
| --enable-shared \ |
| --enable-threads=posix \ |
| --target=${TARGET} \ |
| --with-fpmath=sse \ |
| ${_configure_args}; |
| set_build_script_done configure clean -build; |
| else |
| cd ${PKG_BUILD_DIR}; |
| fi; |
| if ! is_build_script_done clean; then |
| make ${MAKEFLAGS} clean; |
| set_build_script_done clean -build; |
| fi; |
| if ! is_build_script_done build; then |
| if [ "${3}" = stage1 ]; then |
| make ${MAKEFLAGS} all-gcc; |
| elif [ "${3}" = native ]; then |
| make ${MAKEFLAGS} all-gcc; |
| make ${MAKEFLAGS} all-target-libgcc; |
| make ${MAKEFLAGS} all-target-libstdc++-v3; |
| make ${MAKEFLAGS} all; |
| fi; |
| set_build_script_done build -install; |
| fi; |
| if ! is_build_script_done install; then |
| if [ "${3}" = stage1 ]; then |
| make ${MAKEFLAGS} install-gcc; |
| if match_uname_any CYGWIN\*; then |
| ln -s -- ${PREFIX}/libexec/gcc/${TARGET}/${PKG_GCC_VERSION}/liblto_plugin.dll.a \ |
| ln -s -- ${PREFIX}/libexec/gcc/${TARGET}/${PKG_GCC_VERSION}/liblto_plugin.so; |
| fi; |
| elif [ "${3}" = native ]; then |
| make ${MAKEFLAGS} DESTDIR=${PKG_PREFIX} install; |
| fi; |
| set_build_script_done install finish; |
| fi; |
| fi; |
| |
| |