# This is a semi-automatic script for building the binary packages. # It is intended to be progressively copied/pasted to a bash shell. set -x PACKAGENAME=gcc VERSION=-13.2.0 VERSIONPATCH=-mintelf-20240130 VERSIONBIN=-bin-cygwin VERSIONBUILD=-$(date +%Y%m%d) INSTALL_DIR=/opt/cross-mintelf ARCHIVES_DIR="$HOME/archives/$PACKAGENAME/$PACKAGENAME$VERSION" BUILD_DIR=$HOME/compil cd $BUILD_DIR tar xvf $ARCHIVES_DIR/$PACKAGENAME$VERSION.tar.xz mv $PACKAGENAME$VERSION $PACKAGENAME$VERSION$VERSIONPATCH cd $PACKAGENAME$VERSION$VERSIONPATCH xzcat $ARCHIVES_DIR/$PACKAGENAME$VERSION$VERSIONPATCH.patch.xz |patch -p1 cd .. mkdir $PACKAGENAME$VERSION$VERSIONPATCH.obj cd $PACKAGENAME$VERSION$VERSIONPATCH.obj ../$PACKAGENAME$VERSION$VERSIONPATCH/configure --target=m68k-atari-mintelf --prefix=$INSTALL_DIR --enable-languages="c,c++" --disable-nls --disable-libstdcxx-pch --disable-libcc1 --disable-sjlj-exceptions --disable-fixincludes CFLAGS_FOR_TARGET="-O2 -fomit-frame-pointer" CXXFLAGS_FOR_TARGET="-O2 -fomit-frame-pointer" make all-gcc # The temporary compiler is very slow on Cygwin (it will be fast when fully installed) # The following hack can sometimes increase the compilation speed # by avoiding a shell wrapper for "as". #ln -sf $INSTALL_DIR/bin/m68k-atari-mintelf-as gcc/as make all-target-libgcc ###################################### # Now, open another terminal window, and compile and install the MiNTlib from there. # Do the same with fdlibm. # Then go back here. ###################################### # Dirty hack to fix the PATH_MAX issue. # The right solution would be to configure gcc using --with-sysroot cat ../$PACKAGENAME$VERSION$VERSIONPATCH/gcc/limitx.h ../$PACKAGENAME$VERSION$VERSIONPATCH/gcc/glimits.h ../$PACKAGENAME$VERSION$VERSIONPATCH/gcc/limity.h >gcc/include/limits.h make make install DESTDIR=$PWD/binary-package cd binary-package rm -r ${INSTALL_DIR#/}/include rm -r ${INSTALL_DIR#/}/share/info rm -r ${INSTALL_DIR#/}/share/man/man7 strip ${INSTALL_DIR#/}/bin/* strip ${INSTALL_DIR#/}/libexec/gcc/m68k-atari-mintelf/${VERSION#-}/* strip ${INSTALL_DIR#/}/libexec/gcc/m68k-atari-mintelf/${VERSION#-}/install-tools/* find ${INSTALL_DIR#/}/m68k-atari-mintelf/lib -name '*.a' -print -exec m68k-atari-mintelf-strip -S -x '{}' ';' find ${INSTALL_DIR#/}/lib/gcc/m68k-atari-mintelf/* -name '*.a' -print -exec m68k-atari-mintelf-strip -S -x '{}' ';' gzip -9 ${INSTALL_DIR#/}/share/man/*/*.1 tar --owner=0 --group=0 -Jcvf $PACKAGENAME$VERSION$VERSIONPATCH$VERSIONBIN$VERSIONBUILD.tar.xz ${INSTALL_DIR#/} #mv $PACKAGENAME$VERSION$VERSIONPATCH$VERSIONBIN$VERSIONBUILD.tar.xz $ARCHIVES_DIR/