Testing latest pari + WASM + node.js... and it works?! Wow.
License: GPL3
ubuntu2004
# Exported variables
_dlld_list='DL_DFLT_NAME DLLD DLLDFLAGS EXTRADLLDFLAGS DLSUFFIX soname sodest DLLTOOL'
# Which suffix for Dynamic Lib?
# Some linkers (SunOS 4) need minor and major lib version numbers.
# Some others (SunOS 5) need a link from a .so
# Some others (HPUX 09) do not want version numbers.
DLSUFFIX=so
soname=.$soname_num
do_dll=yes
case "$osname" in
gnu*|aix|osf1|solaris|linux|*bsd)
case $pari_release_verbose in
*STABLE*) sodest=.$version.$patch;; # released version
*DEVELOPMENT*) sodest=.$patch.0.0;; # unstable version
esac ;;
sunos) sodest=.$VersionMajor$VersionMinor.$patch
soname=$sodest;;
hpux) soname= ; sodest= ; DLSUFFIX=sl;;
irix) soname= ; sodest= ;;
os2|cygwin|mingw)soname= ; sodest= ; DLSUFFIX=dll
if test "x$DLLTOOL" = x; then
if dlltool --version >/dev/null 2>&1; then
DLLTOOL=dlltool
else
DLLTOOL=`$CC -dumpmachine`-dlltool
fi
fi;;
darwin)soname= ; sodest= ; DLSUFFIX=dylib;
compat_ver=$VersionMajor.$VersionMinor.0; num_ver=$VersionMajor.$VersionMinor.$patch;;
*) do_dll=no ;;
esac
# dlopen(NULL) should return a handle to the running process.
# On FreeBSD 2.2.5 (Y. Uchikawa) and Cygwin, this does not work.
case "$osname" in
freebsd|cygwin) DL_DFLT_NAME="\\\"\$(LIBPARI_DYN)\\\"" ;;
mingw) DL_DFLT_NAME="\\\"\$(LIBPARI_SO)\\\"" ;;
*) DL_DFLT_NAME=NULL ;;
esac
# if DLLD is defined at this point, respect it, even if do_dll=no
if test $do_dll = yes -a -z "$DLLD"; then
if test -n "$__gnuc__" -o "$osname" = "solaris"; then
DLLD="$CC"
else
DLLD=$ld # don't take risks
fi
fi
GNUdlld=
DLLDisGCC=
if test -n "$DLLD"; then
# Which Dynamic Lib Linker?
if test "$fastread" != yes; then
echo $n ..."Which linker for building dynamic libs? $c"
dflt="$DLLD"; rep=; . ./myread
DLLD=$ans
fi
if test "$DLLD" = "$CC" -a -n "$__gnuc__"; then
DLLDisGCC=yes;
GNUdlld=$GNULDused
else
case "$DLLD" in
*ld) if ($DLLD -v 2>&1 | grep GNU > /dev/null); then GNUdlld=yes; fi;;
esac
fi
# Which Flags for Dynamic Lib Linker ?
dlldflags="$DLLDFLAGS"
DLLDFLAGS=
if test -n "$GNUdlld"; then
DLLDFLAGS="-shared -soname=\$(LIBPARI_SONAME)"
else # DLLD != GNU ld
case "$osname" in
aix) DLLDFLAGS='-r' ;;
darwin) DLLDFLAGS="-compatibility_version $compat_ver -current_version $num_ver" ;;
freebsd) DLLDFLAGS='-Bshareable -x' ;;
hpux) DLLDFLAGS='-b' ;;
irix) DLLDFLAGS='-shared -elf -no_unresolved -all' ;;
osf1) DLLDFLAGS='-shared' ;;
solaris) DLLDFLAGS="-G -h \$(LIBPARI_SONAME)" ;;
sunos) DLLDFLAGS='-assert nodefinitions' ;;
os2) ;; # see below
linux) ;; # for e.g. the Portland Group cc (pgcc)
*) DLLD=;;
esac
fi
if test -n "$DLLDFLAGS"; then
DLLDFLAGS=`./ldflags "$DLLDisGCC" $DLLDFLAGS`
fi
case "$osname" in
os2) DLLDFLAGS="$CFLAGS -Zdll" ;; # assume DLLD = gcc
cygwin) DLLDFLAGS="-Wl,--out-implib=\$(LIBPARI_SO)\$(_A),--export-all-symbols";;
mingw) DLLDFLAGS="-Wl,--out-implib=\$(LIBPARI_SO)\$(_A)";;
esac
if test -n "$DLLDisGCC"; then
case "$arch-$osname" in
sparc-solaris) extra='-mimpure-text';;
*) extra=;;
esac
case "$osname" in
darwin) shared=-dynamiclib;;
*) shared=-shared;;
esac
DLLDFLAGS="$shared $extra \$(CFLAGS) \$(DLCFLAGS) $DLLDFLAGS"
fi
case "$osname" in
# Beware: will run through 'eval' [ hence ${...} instead of \$(...) ]
gnu*|cygwin|osf1|freebsd|linux|sunos|solaris) EXTRADLLDFLAGS='-lc ${LIBS}';;
esac
if test "$fastread" != yes; then
echo $n ..."Which flags for linker? $c"
dflt=$DLLDFLAGS; rep=; . ./myread
DLLDFLAGS=$ans
fi
DLLDFLAGS="$DLLDFLAGS $dlldflags"
fi
if test -z "$DLLD"; then
echo "No Dynamic Lib"
else
echo "Dynamic Lib linker is $DLLD $DLLDFLAGS"
fi