index 070241473dfc406ad0a5442093ec611f9267ccd3..4551cab106ef4fa6eef1a657cb240806f43fc25e 100755 (executable)
--- a/make.sh
+++ b/make.sh
_useposix=false
+export CPCFLAGS="$CPCFLAGS"
+export CPLFLAGS="$CPLFLAGS"
+
###^^^^^^^^^^^###
### Functions ###
###___________###
echo "Environment variables:"
echo " CC C compiler binary"
echo " CFLAGS C compiler options"
+ echo " CPCFLAGS CPC compiler options"
+ echo " CPLFLAGS CPL linker options"
exit 2
}
}
native_compile() {
- "$_compiler" -legacy "$@"
+ "$_compiler" $CPCFLAGS -legacy "$@"
}
native_link() {
_outsystem="win32"
fi
shift
- "$_linker" -os "$_outsystem" -kernel Kernel -main Kernel -legacycodedir . -o "$_outexe" "$@"
+ "$_linker" $CPLFALGS -os "$_outsystem" -kernel Kernel -main Kernel -legacycodedir . -o "$_outexe" "$@"
fi
}
}
cpfront_compile() {
- "$_compiler" -outcode CodeC -outsym SymC "$@"
+ "$_compiler" $CPCFLAGS -outcode CodeC -outsym SymC "$@"
}
cpfront_link() {
local _main="$1"
if $_docompile; then
cpfront_main_module "$@" > "${_main}.cp"
- "$_compiler" -outcode CodeC -outsym SymC -main "${_main}.cp"
+ "$_compiler" $CPCFLAGS -outcode CodeC -outsym SymC -main "${_main}.cp"
fi
shift
if $_dolink; then
done
local _cc_cflags=
case "$CC" in
- *gcc) _cc_cflags="-Wno-int-conversion -Wno-int-to-pointer-cast -Wno-incompatible-pointer-types -Wno-implicit-function-declaration" ;;
+ *gcc) _cc_cflags="-std=c89 -Wno-int-conversion -Wno-int-to-pointer-cast -Wno-incompatible-pointer-types -Wno-implicit-function-declaration" ;;
+ clang|clang-*) _cc_cflags="-std=c89 -Wno-int-conversion -Wno-incompatible-pointer-types -Wno-logical-op-parentheses -Wno-bitwise-op-parentheses -Wno-pointer-sign -Wno-unused-value -Wno-return-type" ;;
*) _cc_cflags="" ;;
esac
local _cpu_cflags=
cygwin) _system_cflags="-liconv" ;;
*) _system_cflags="" ;;
esac
- "$CC" $_cc_cflags $_cpu_cflags $CFLAGS -o "${_main}" -I "$_this/C" "$_this/C/SYSTEM.c" $_list -lm -ldl $_system_cflags
+ "$CC" -g -D_XOPEN_SOURCE=700 $_cc_cflags $_cpu_cflags $CFLAGS -o "${_main}" -I "$_this/C" "$_this/C/SYSTEM.c" $_list -lm -ldl -lffi $_system_cflags
fi
}
Posix/Mod/Cdlfcn.cp Posix/Mod/Csignal.cp Posix/Mod/Csetjmp.cp \
Posix/Mod/Clibgen.cp \
Posix/Mod/Cmacro.cp
+ if [ "$_target" = "cpfront" ]; then
+ compile Lib/Mod/FFI.cp
+ fi
fi
###^^^^^^^^^^^^^^^^^^^^^^^^^^^^###
fi
compile System/Mod/Kernel.cp \
System/Mod/Console.odc System/Mod/Files.odc System/Mod/Dates.odc \
- System/Mod/Log.odc System/Mod/Strings.odc System/Mod/Services.odc \
- System/Mod/Integers.odc
+ System/Mod/Log.odc System/Mod/Strings.odc System/Mod/Meta.odc \
+ System/Mod/Services.odc System/Mod/Integers.odc
if [ "$_target" = "native" ]; then
mv -t System Code Sym