Generation of release installer for arm-wince Generated on gcc123.bak.milne.osuosl.org 'uname -a' output: Linux gcc123.bak.milne.osuosl.org 4.19.0-8-amd64 #1 SMP Debian 4.19.98-1 (2020-01-26) x86_64 GNU/Linux 2020-03-17 Cross configuration detected Generating binutils cross-install for arm-wince Successfully generated files: -rw-r--r-- 1 muller muller 72560640 Mar 17 16:59 ./fpc-3.2.0rc1-arm-wince.cross.x86_64-linux.tar Generated with locally modificated files: Locally modified files: 202:M install/makepack 3355:M fpcsrc/utils/fpcm/revision.inc Index: install/makepack =================================================================== --- install/makepack (revision 1457) +++ install/makepack (working copy) @@ -22,13 +22,16 @@ VERSION=`grep '^version *=' fpcsrc/Makefile.fpc | sed 's+[^=]*= *\([0-9\.]*\).*+\1+'` +if [ -z "$FPC" ] ; then + FPC=fpc +fi # Retrieve current system info by calling FPC. We need # to use the | head -n1 to fix a bug in fpc 1.9.4 and earlier # that uses exitcode 1 also when printing info resulting in # fpc binary to print an error line (PFV) -SOURCECPU=`fpc -iSP | head -n1` -SOURCEOS=`fpc -iSO | head -n1` +SOURCECPU=`$FPC -iSP | head -n1` +SOURCEOS=`$FPC -iSO | head -n1` # retrieve real OS. HOSTOS=`uname -s | tr "[:upper:]" "[:lower:]"` @@ -38,25 +41,26 @@ case "$HOSTOS" in *freebsd*) MAKE=gmake - EXTRAOPT="-Fl/usr/local/lib -Fl/usr/X11R6/lib -dFREEBSD5" + EXTRAOPT+=" -Fl/usr/local/lib -Fl/usr/X11R6/lib -dFREEBSD5" ;; *netbsd*) MAKE=gmake - EXTRAOPT="-Fl/usr/pkg/lib" + EXTRAOPT+=" -Fl/usr/pkg/lib" ;; *sunos*) MAKE=gmake # Use system linker if on solaris machine if [ "$SOURCEOS" == "solaris" ]; then - EXTRAOPT="-Xn" + EXTRAOPT+=" -Xn" fi # Use GNU tar if present if [ "`which gtar`" != "" ]; then TAR=`which gtar` fi - ;; + ;; *openbsd*) MAKE=gmake - EXTRAOPT="-Fl/usr/local/lib" + EXTRAOPT+=" -Fl/usr/local/lib" ;; + esac if [ $# -ne 0 ]; then @@ -71,6 +75,13 @@ TARGETOS=$SOURCEOS fi +case "$TARGETOS" in + linux) + if [ "$TARGETCPU" == "i386" ] ; then + EXTRAOPT+=" -Fl/lib32 -Fl/usr/lib32" + fi + ;; +esac # Set this to "no" if you want don't want to check for libgdb.a # Retrieve GDBMI_DEFAULT_OS_LIST from Makefile.fpc GDBMI_DEFAULT_OS_LIST=`grep '^GDBMI_DEFAULT_OS_LIST *=' Makefile.fpc | sed 's+[^=]*= *\(.*\)+\1+'` @@ -111,20 +122,14 @@ # Cross building # - add prefix # - no IDE -if [ "$FULLTARGET" != "$FULLSOURCE" ]; then +if [[ ("$FULLTARGET" != "$FULLSOURCE") && ( -z "$BUILDFULLNATIVE" ) ]]; then CROSS="cross" CROSSPREFIX=$FULLTARGET- - IDE= + CROSSSUFFIX=$FULLSOURCE else CROSS= CROSSPREFIX= - # Starting with version 3.1.1, the IDE is not a separate part anymore, but part of utils - if [ "X${VERSION#3.0.}" != "X${VERSION}" ] ; then - # Version 3.0.x, add the IDE as separate part - export IDE=ide - else - export IDE= - fi + CROSSSUFFIX=$FULLTARGET fi @@ -169,20 +174,22 @@ fi # check existence of binutils if cross packing -if [ ! "$CROSS" = "" ]; then - if [ ! -f binutils-${CROSSPREFIX}$FULLSOURCE.tar.gz ]; then - echo "No cross binutils available: binutils-${CROSSPREFIX}$FULLSOURCE.tar.gz missing." +if [ -n "$CROSS" ]; then + if [ ! -f binutils-${CROSSPREFIX}${FULLSOURCE}.tar.gz ]; then + echo "No cross binutils available: binutils-${CROSSPREFIX}${FULLSOURCE}.tar.gz missing." exit 1 fi fi # Build everything using the makefiles +zipinstall_log=`pwd`/${CROSS}zipinstall-$TARGETCPU-$TARGETOS.log + echo "Starting ${MAKE} distclean CPU_TARGET=$TARGETCPU OS_TARGET=$TARGETOS" ${MAKE} distclean CPU_TARGET=$TARGETCPU OS_TARGET=$TARGETOS -echo "Starting ${MAKE} ${CROSS}zipinstall CPU_TARGET=$TARGETCPU OS_TARGET=$TARGETOS OPT="${EXTRAOPT}" FPC_VERSION=$VERSION" -${MAKE} ${CROSS}zipinstall CPU_TARGET=$TARGETCPU OS_TARGET=$TARGETOS OPT="${EXTRAOPT}" FPC_VERSION=$VERSION +echo "Starting ${MAKE} ${CROSS}zipinstall CPU_TARGET=$TARGETCPU OS_TARGET=$TARGETOS OPT=\"${EXTRAOPT}\" FPC_VERSION=$VERSION > $zipinstall_log 2>&1" +${MAKE} ${CROSS}zipinstall CPU_TARGET=$TARGETCPU OS_TARGET=$TARGETOS CROSSOPT="${EXTRAOPT}" FPC_VERSION=$VERSION > $zipinstall_log 2>&1 if [ $? != 0 ]; then - echo "Failed to make distribution archive." + echo "Failed to generate distribution archive, log file is $zipinstall_log" exit 1 fi @@ -199,13 +206,23 @@ chmod 644 readme.txt # binary.*.tar -BINARYTAR=${CROSSPREFIX}binary.$FULLSOURCE.tar +if [ -n "${CROSSSUFFIX}" ] ; then + BINARYTAR=${CROSSPREFIX}binary.${CROSSSUFFIX}.tar +else + BINARYTAR=${CROSSPREFIX}binary.tar +fi echo "Creating $BINARYTAR" -BINPACKAGES="base $IDE units utils" +BINPACKAGES="${FULLTARGET}-base units-*.${FULLTARGET}" +if [ -z "${CROSS}" ]; then + BINPACKAGES+=" utils-*.${FULLTARGET}" +fi + BINFILES= for p in $BINPACKAGES; do - BINFILES="$BINFILES ${CROSSPREFIX}$p*.$FULLSOURCE.tar.gz" + BINFILES="$BINFILES $p*.tar.gz" done +echo "BINFILES=\"$BINFILES\"" +echo "${TAR} cf $BINARYTAR $BINFILES" ${TAR} cf $BINARYTAR $BINFILES if [ $? != 0 ]; then echo "Failed to create $BINARYTAR" @@ -224,7 +241,13 @@ fi # Files to be added to the .tar -DIRNAME=${CROSSPREFIX}fpc-$FULLVERSION.$FULLSOURCE +if [ "$FULLTARGET" == "$FULLSOURCE" ] ; then + DIRNAME=fpc-${FULLVERSION}-${FULLTARGET} +elif [ "$BUILDFULLNATIVE" == "1" ] ; then + DIRNAME=fpc-${FULLVERSION}-${FULLTARGET}.built-on-${FULLSOURCE} +else + DIRNAME=fpc-${FULLVERSION}-${FULLTARGET}.cross.${FULLSOURCE} +fi TARNAME=${DIRNAME}.tar echo "Creating $TARNAME" # Erase directory if it exists Index: fpcsrc/utils/fpcm/revision.inc =================================================================== --- fpcsrc/utils/fpcm/revision.inc (revision 44244) +++ fpcsrc/utils/fpcm/revision.inc (working copy) @@ -1 +1 @@ -'2019-05-28 rev 42133' +'2020-02-23 rev 44237'