#! /bin/sh # This script has been known to work with pfe 0.33.73w, Linux Mint 19.3, # and gcc 7.4.0. --dnw 03-Feb-2021 # Compile, link, and install the pfe loadable module libmpfr-pfe.so from # source files in the current directory, libmpfr-pfe.c and # libmpfr-pfe-dll.c. ### PATHS MODULE=libmpfr-pfe # Should be a version that avoids LLVM or CLANG. CC=gcc # CC=/usr/local/bin/gcc CFLAGS="-m64 -DABI_64" # CFLAGS="-m32 -DABI_32" INSTALL=install # INSTALL=/usr/bin/install PREFIX=/usr/local # PREFIX=$HOME # These directories must already exist. INCLUDEDIR=$PREFIX/include LIBDIR=$PREFIX/lib/pfe-forth ### COMPILE $CC -I. -I$INCLUDEDIR -DHAVE_CONFIG_H \ -DNDEBUG -O3 -Wall $CFLAGS -DUNROLL_NEXT \ -Wwrite-strings -Wstrict-prototypes \ -fno-strict-aliasing -fomit-frame-pointer -D_OMIT_FRAME_POINTER \ -c $MODULE.c -fPIC -DPIC -o $MODULE.o $CC -I. -I$INCLUDEDIR -DHAVE_CONFIG_H \ -DNDEBUG -O3 -Wall $CFLAGS -DUNROLL_NEXT \ -Wwrite-strings -Wstrict-prototypes \ -fno-strict-aliasing -fomit-frame-pointer -D_OMIT_FRAME_POINTER \ -c $MODULE-dll.c -fPIC -DPIC -o $MODULE-dll.o ### LINK $CC -shared $MODULE-dll.o $MODULE.o -ldl -lm \ -L$PREFIX/lib -lgmp -lmpfr -Wl,-soname -Wl,$MODULE.so -o $MODULE.so ### INSTALL # cp -p $MODULE.so $LIBDIR $INSTALL -p $MODULE.so $LIBDIR