summaryrefslogtreecommitdiffhomepage
path: root/008.gcc.full.build
diff options
context:
space:
mode:
authorLucio Andrés Illanes Albornoz (arab, vxp) <l.illanes@gmx.de>2016-06-09 18:58:37 +0000
committerLucio Andrés Illanes Albornoz (arab, vxp) <l.illanes@gmx.de>2016-06-09 18:58:37 +0000
commit95162014754fca037510884f5a3c0c73988cd902 (patch)
treec66d9cc03d8809c467509faf59536cdf0796af73 /008.gcc.full.build
parent87cf3d28e3e7dd2ad1960b72d0a342cdf306134d (diff)
downloadmidipix_build-95162014754fca037510884f5a3c0c73988cd902.tar.bz2
midipix_build-95162014754fca037510884f5a3c0c73988cd902.tar.xz
Adds and integrates slibtool:
- Adds ${PKG_SLIBTOOL}. - pkg.build: export ${MAKE} as `make LIBTOOL=${PKG_SLIBTOOL}'. - binutils{_host,}: use slibtool-static. - git: add NEEDS_SSL_WITH_CURL=1 to ${PKG_GIT_MAKEFLAGS_BUILD_EXTRA}. - pacman-5.0.1: add `LIBALPM_LIBS=-lssl -lbz2 -llzma -lz' to ${PKG_PACMAN_ENV_VARS_EXTRA}; Makefile.am patch. Introduces 32-bit (i686-nt32-midipix) support, selected by ARCH=nt32 and defaulting to 64-bit builds: - Create ${PREFIX_TARGET}/lib. - Remove ${PREFIX_TARGET} when cleaning the prefix if -c has been specified. - Set ${HOST_NATIVE}, ${TARGET}, and ${TARBALL_{SRC_,}FNAME_PREFIX} from ${ARCH}. - pkg.build: use ${TARGET}-dlltool instead of x86_64-nt64-midipix-dlltool. - glib-2.46.2: broken at present. - libffi-3.2.1/src/x86/win32.S: fix symbol prefix. - musl-1.1.12/arch/nt32/bits/syscall.h: copied from musl-1.1.12/arch/nt64/bits/syscall.h. - perl-5.22.1: Set --target from ${TARGET}. Bug fixes: - psxstub: make {_,__}so_entry_point weak symbols to express preference for the real psxscl shared object. - bash-4.3: fix lib/intl/libgnuintl.h issue. - libarchive-3.1.2: import FreeBSD-SA-16:23.libarchive and FreeBSD-SA-16:22.libarchive security fixes. Include all directories beneath ${WORKDIR} in the source tarball. Updated TODO list at the end of README.
Diffstat (limited to '008.gcc.full.build')
-rw-r--r--008.gcc.full.build151
1 files changed, 151 insertions, 0 deletions
diff --git a/008.gcc.full.build b/008.gcc.full.build
new file mode 100644
index 00000000..4c7f6f24
--- /dev/null
+++ b/008.gcc.full.build
@@ -0,0 +1,151 @@
+#
+# . ./build.vars and set -o errexit are assumed.
+#
+
+# Order: stage1, runtime, full, native
+
+if [ "${3}" = runtime ]\
+|| [ "${3}" = full ]; then
+ set_build_dir cbb-gcc-${PKG_GCC_VERSION} cross;
+ cd ${PKG_BUILD_DIR};
+ if [ "${3}" = runtime ]; then
+ # GCC, compiler runtime.
+ 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
+ # GCC, everything else.
+ 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
+ # GCC, stage1.
+ 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=${PREFIX_LVL} \
+ cbb_sysroot_for_libgcc=${PREFIX_LVL} \
+ cbb_target=${TARGET} \
+ cbb_neutral_libiberty=no \
+ cbb_xgcc_for_specs=${WORKDIR}/${PKG_BUILD_DIR}/gcc/xgcc;
+ GCCTARGET_FLAGS="-DIN_TARGET_LIBRARY_BUILD --sysroot=${PREFIX_LVL}";
+ elif [ "${3}" = native ]; then
+ # GCC, native.
+ set_build_dir cbb-gcc-${PKG_GCC_VERSION} native;
+ export cbb_ldflags_for_target=--sysroot=${PREFIX_LVL} \
+ cbb_sysroot_for_libgcc=${PREFIX_LVL} \
+ cbb_target=${TARGET} \
+ cbb_xgcc_for_specs=${TARGET}-gcc;
+ GCCTARGET_FLAGS="-DIN_TARGET_LIBRARY_BUILD --sysroot=${PREFIX_LVL}";
+ 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 ${PREFIX_LVL}/include;
+ [ \! -d ${PREFIX_LVL}/usr ] && \
+ ln -s . ${PREFIX_LVL}/usr;
+ _configure_args="--prefix=${PREFIX} --with-sysroot=${PREFIX_LVL}";
+ elif [ "${3}" = native ]; then
+ mkdir -p ${PREFIX_LVL}/${TARGET};
+ if [ \! -d ${PREFIX_LVL}/${TARGET}/usr ]; then
+ ln -s . ${PREFIX_LVL}/${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=${PREFIX_LVL} \
+ --with-gmp=${PREFIX_LVL} \
+ --with-mpc=${PREFIX_LVL} \
+ --with-mpfr=${PREFIX_LVL} \
+ --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=${PREFIX_LVL} install;
+ fi;
+ set_build_script_done install finish;
+ fi;
+fi;
+
+# vim:filetype=sh