Op 2019-10-08 om 17:02 schreef fredvs:

The script first clean everything and do the compilation of fpc with ppcx64
and all seems ok.
But, when the compilation is ok and a "new" ppcx64 is created, I dont know
why, the process continue, remove all was already done, recompile all using
ppc386 (fpc 32 bit) and finally only install new fpc 32 bit (ppc386).

Here is my buildscript used to build a new snapshot. Note that it passes the /new/ compiler to make install.  (FPC=compiler/$GENCOMPILER)

The script is made so that I can easily move it around machines and only adapt things like "CORES", OPTSETTINGS etc.

#!/usr/bin/env bash
# simple i386/x86_64 building on linux/*BSD.

# Rule of thumb physical+1
CORES=5
HOSTARCH=`uname -m`
HOSTOS=`uname -s`
SRCDIR=/fpc/fpctrunk
DESTDIR=~/src/builded
HAVEDEBUG=1
OVERRIDEDETECTION=0
HAVEOPT=0
LIBCRTL=0
ARGS=" -viwn -Sg -Fl/usr/local/lib  -dLZX_USETHREADS "
OPTSETTINGS=" -O4 -Opcoreavx -Cpcoreavx  -Cfavx "
DEBUGSETTING=" -gw2 -godwarfsets "

#----------------------

is64=0
START=ppcrel
GENCOMPILER=ppc386
NEWOPT=""

if [ $LIBCRTL = "1" ] ; then
  ARGS+=" - dFPC_USE_LIBC "
fi
if [ $OVERRIDEDETECTION != 1 ]; then
if [ "$HOSTARCH" = "x86_64" ] ; then
  is64=1
fi
if [ "$HOSTARCH" = "amd64" ] ; then
  is64=1
fi
fi

if [ $is64 = 1 ]; then
  START=ppcrel64
  GENCOMPILER=ppcx64
fi

if [ "$HAVEDEBUG" = "1" ] ; then
  if [ "$ARGS" != "" ]; then
   ARGS="$ARGS$DEBUGSETTING"
  fi
fi

if [ "$HAVEOPT" = "1" ] ; then
  $NEWOPT=$OPTSETTINGS
fi

GMAKE=gmake
if [ $HOSTOS = "Linux" ] ; then
  GMAKE=make
fi

JOPT="-j $CORES"
FPMAKEOPT="-T $CORES"
while getopts ":nj:" optname
  do
    case "$optname" in
      "j")
        echo Cores overriden to $OPTARG
        JOPT="-j $OPTARG"
        FPMAKEOPT="-T $OPTARG"
        ;;
      "n")
         JOPT=""
        ;;
      *)
        echo "Unknown error while processing options"
        ;;
    esac
  done

if [ $OVERRIDEDETECTION != 1 ]; then
echo ARCH is $HOSTARCH on \(OS:\) $HOSTOS
echo Build in $SRCDIR, installing in $DESTDIR with $CORES cores
fi

cd $SRCDIR

$GMAKE $JOPT clean all  FPMAKEOPT="$FPMAKEOPT" PP="$START" FPC="$START" OPT="$ARGS" NEWOPT="$NEWOPT" &> ~/buildlog64

if [ ! $? = 0 ] ; then
 echo Grr, failed again
else
 $GMAKE install FPC=compiler/$GENCOMPILER OPT="$ARGS" NEWOPT=$NEWOPT INSTALL_PREFIX=$DESTDIR &> ~/installog64
 if [ ! $? = 0 ] ; then
  echo INSTALL failed | tee ~/outcome
 else
  echo Everything _should_ be fine.| tee ~/outcome
 fi
fi



_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Reply via email to