aboutsummaryrefslogtreecommitdiff

iclm

Interactive Clean Make

This is an expect wrapper around clm, the Clean make tool. It assumes you have a tagfile built by cloogletags -c in $CLEAN_HOME/lib/tags. It attempts to guess which libraries must be added by looking at the compiler errors.

Usage

Simply use iclm instead of clm. If you want that arguments are stored, such that iclm does not have to guess every time again, use iclm -P. This stores arguments in .iclmargs.

Example run

spawn clm test
Compiling Data.Maybe
Can't find Data.Maybe.icl
 --> Adding /opt/clean/lib/Platform to libraries.
spawn clm -I /opt/clean/lib/Platform test
Compiling GenEq
Can't find GenEq.icl
 --> Adding /opt/clean/lib/Generics to libraries.
spawn clm -I /opt/clean/lib/Platform -I /opt/clean/lib/Generics test
Linking test
/usr/bin/ld: /tmp/linkerXQR2I8: relocation R_X86_64_32S against `.data' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: final link failed: Nonrepresentable section on output
collect2: error: ld returned 1 exit status
 --> Using -l -no-pie.
spawn clm -I /opt/clean/lib/Platform -I /opt/clean/lib/Generics -l -no-pie test
Linking test
 --> Done.

Copyright © 2017–present Camil Staps. Licensed under MIT, see the LICENSE file.