[freem-dev] FreeM 0.1.6 now builds cleanly!

John P. Willis jpw at coherent-logic.com
Mon Mar 2 09:13:02 MST 2020


Hello all,

FreeM 0.1.6 now builds cleanly with the default Makefile, 
and produces no compiler warnings! This means we have cleared
our first hurdle towards satisfying Shalom's conditions for the
general public release of FreeM.

Some of this is a little hacky: we need to replace my libfill.h
workaround (which mostly deals with forward declarations for functions
normally in <stdlib.h>. This will involve renaming the "random"
global variable to something unique, as stdlib.h brings in the
random() function, causing a naming clash. 

Once this is done, I'd like to move forward on introducing -Wall
to CFLAGS in src/Makefile so we can really get persnickety. From this
point forward, the expectation is that no new code will introduce
new compiler warnings. Future builds that produce warnings using
the current Makefile (without -Wall in CFLAGS) will be considered
broken.

Below is the latest build output:

jpw at hesperos:~/development/freem$ make clean && make
(cd bin; make clean)
make[1]: Entering directory '/home/jpw/development/freem/bin'
rm -f gcompact gfix gl glocks grestore gverify mumps
make[1]: Leaving directory '/home/jpw/development/freem/bin'
(cd src; make clean)
make[1]: Entering directory '/home/jpw/development/freem/src'
rm -f core tags version version.[ho]
rm -f gcompact gfix gl glocks grestore gverify mumps compact.o fix.o gl.o locks.o mumps.o restore.o verify.o mumps.a xecline.o expr.o symtab.o ssvn.o ssvn_character.o ssvn_device.o ssvn_display.o ssvn_event.o ssvn_global.o ssvn_job.o ssvn_lock.o ssvn_routine.o ssvn_system.o ssvn_window.o ssvn_z.o global.o operator.o service.o strings.o views.o	
make[1]: Leaving directory '/home/jpw/development/freem/src'
rm -rf namespace
rm -f mlib/^%E mlib/^%SYS
rm -f mak.log
(cd src; make install)
make[1]: Entering directory '/home/jpw/development/freem/src'
gcc -g -O0 -DHACK_NOXLATE -DUSE_GETOPT -DDEBUG_GBL -DNEWSTACK -DSSVN_DEBUG    -c -o version.o version.c
gcc   version.o   -o version
./version > version.h
gcc -g -O0 -DHACK_NOXLATE -DUSE_GETOPT -DDEBUG_GBL -DNEWSTACK -DSSVN_DEBUG    -c -o compact.o compact.c
gcc -g -O0 -DHACK_NOXLATE -DUSE_GETOPT -DDEBUG_GBL -DNEWSTACK -DSSVN_DEBUG    -c -o xecline.o xecline.c
gcc -g -O0 -DHACK_NOXLATE -DUSE_GETOPT -DDEBUG_GBL -DNEWSTACK -DSSVN_DEBUG    -c -o expr.o expr.c
gcc -g -O0 -DHACK_NOXLATE -DUSE_GETOPT -DDEBUG_GBL -DNEWSTACK -DSSVN_DEBUG    -c -o symtab.o symtab.c
gcc -g -O0 -DHACK_NOXLATE -DUSE_GETOPT -DDEBUG_GBL -DNEWSTACK -DSSVN_DEBUG    -c -o ssvn.o ssvn.c
gcc -g -O0 -DHACK_NOXLATE -DUSE_GETOPT -DDEBUG_GBL -DNEWSTACK -DSSVN_DEBUG    -c -o ssvn_character.o ssvn_character.c
gcc -g -O0 -DHACK_NOXLATE -DUSE_GETOPT -DDEBUG_GBL -DNEWSTACK -DSSVN_DEBUG    -c -o ssvn_device.o ssvn_device.c
gcc -g -O0 -DHACK_NOXLATE -DUSE_GETOPT -DDEBUG_GBL -DNEWSTACK -DSSVN_DEBUG    -c -o ssvn_display.o ssvn_display.c
gcc -g -O0 -DHACK_NOXLATE -DUSE_GETOPT -DDEBUG_GBL -DNEWSTACK -DSSVN_DEBUG    -c -o ssvn_event.o ssvn_event.c
gcc -g -O0 -DHACK_NOXLATE -DUSE_GETOPT -DDEBUG_GBL -DNEWSTACK -DSSVN_DEBUG    -c -o ssvn_global.o ssvn_global.c
gcc -g -O0 -DHACK_NOXLATE -DUSE_GETOPT -DDEBUG_GBL -DNEWSTACK -DSSVN_DEBUG    -c -o ssvn_job.o ssvn_job.c
gcc -g -O0 -DHACK_NOXLATE -DUSE_GETOPT -DDEBUG_GBL -DNEWSTACK -DSSVN_DEBUG    -c -o ssvn_lock.o ssvn_lock.c
gcc -g -O0 -DHACK_NOXLATE -DUSE_GETOPT -DDEBUG_GBL -DNEWSTACK -DSSVN_DEBUG    -c -o ssvn_routine.o ssvn_routine.c
gcc -g -O0 -DHACK_NOXLATE -DUSE_GETOPT -DDEBUG_GBL -DNEWSTACK -DSSVN_DEBUG    -c -o ssvn_system.o ssvn_system.c
gcc -g -O0 -DHACK_NOXLATE -DUSE_GETOPT -DDEBUG_GBL -DNEWSTACK -DSSVN_DEBUG    -c -o ssvn_window.o ssvn_window.c
gcc -g -O0 -DHACK_NOXLATE -DUSE_GETOPT -DDEBUG_GBL -DNEWSTACK -DSSVN_DEBUG    -c -o ssvn_z.o ssvn_z.c
gcc -g -O0 -DHACK_NOXLATE -DUSE_GETOPT -DDEBUG_GBL -DNEWSTACK -DSSVN_DEBUG    -c -o global.o global.c
gcc -g -O0 -DHACK_NOXLATE -DUSE_GETOPT -DDEBUG_GBL -DNEWSTACK -DSSVN_DEBUG    -c -o operator.o operator.c
gcc -g -O0 -DHACK_NOXLATE -DUSE_GETOPT -DDEBUG_GBL -DNEWSTACK -DSSVN_DEBUG    -c -o service.o service.c
gcc -g -O0 -DHACK_NOXLATE -DUSE_GETOPT -DDEBUG_GBL -DNEWSTACK -DSSVN_DEBUG    -c -o strings.o strings.c
gcc -g -O0 -DHACK_NOXLATE -DUSE_GETOPT -DDEBUG_GBL -DNEWSTACK -DSSVN_DEBUG    -c -o views.o views.c
ar rv  mumps.a xecline.o expr.o symtab.o ssvn.o ssvn_character.o ssvn_device.o ssvn_display.o ssvn_event.o ssvn_global.o ssvn_job.o ssvn_lock.o ssvn_routine.o ssvn_system.o ssvn_window.o ssvn_z.o global.o operator.o service.o strings.o views.o		
ar: creating mumps.a
a - xecline.o
a - expr.o
a - symtab.o
a - ssvn.o
a - ssvn_character.o
a - ssvn_device.o
a - ssvn_display.o
a - ssvn_event.o
a - ssvn_global.o
a - ssvn_job.o
a - ssvn_lock.o
a - ssvn_routine.o
a - ssvn_system.o
a - ssvn_window.o
a - ssvn_z.o
a - global.o
a - operator.o
a - service.o
a - strings.o
a - views.o
ranlib mumps.a
gcc -g -O0 -DHACK_NOXLATE -DUSE_GETOPT -DDEBUG_GBL -DNEWSTACK -DSSVN_DEBUG  compact.o mumps.a	-o gcompact
gcc -g -O0 -DHACK_NOXLATE -DUSE_GETOPT -DDEBUG_GBL -DNEWSTACK -DSSVN_DEBUG    -c -o fix.o fix.c
gcc -g -O0 -DHACK_NOXLATE -DUSE_GETOPT -DDEBUG_GBL -DNEWSTACK -DSSVN_DEBUG  fix.o mumps.a		-o gfix
gcc -g -O0 -DHACK_NOXLATE -DUSE_GETOPT -DDEBUG_GBL -DNEWSTACK -DSSVN_DEBUG    -c -o gl.o gl.c
gcc -g -O0 -DHACK_NOXLATE -DUSE_GETOPT -DDEBUG_GBL -DNEWSTACK -DSSVN_DEBUG  gl.o mumps.a		-o gl
gcc -g -O0 -DHACK_NOXLATE -DUSE_GETOPT -DDEBUG_GBL -DNEWSTACK -DSSVN_DEBUG    -c -o locks.o locks.c
gcc -g -O0 -DHACK_NOXLATE -DUSE_GETOPT -DDEBUG_GBL -DNEWSTACK -DSSVN_DEBUG  locks.o mumps.a		-o glocks
gcc -g -O0 -DHACK_NOXLATE -DUSE_GETOPT -DDEBUG_GBL -DNEWSTACK -DSSVN_DEBUG    -c -o restore.o restore.c
gcc -g -O0 -DHACK_NOXLATE -DUSE_GETOPT -DDEBUG_GBL -DNEWSTACK -DSSVN_DEBUG  restore.o mumps.a	-o grestore
gcc -g -O0 -DHACK_NOXLATE -DUSE_GETOPT -DDEBUG_GBL -DNEWSTACK -DSSVN_DEBUG    -c -o verify.o verify.c
gcc -g -O0 -DHACK_NOXLATE -DUSE_GETOPT -DDEBUG_GBL -DNEWSTACK -DSSVN_DEBUG  verify.o mumps.a		-o gverify
gcc -g -O0 -DHACK_NOXLATE -DUSE_GETOPT -DDEBUG_GBL -DNEWSTACK -DSSVN_DEBUG    -c -o mumps.o mumps.c
gcc -g -O0 -DHACK_NOXLATE -DUSE_GETOPT -DDEBUG_GBL -DNEWSTACK -DSSVN_DEBUG  mumps.o mumps.a		-o mumps
mv gcompact gfix gl glocks grestore gverify mumps ../bin
make[1]: Leaving directory '/home/jpw/development/freem/src'

Best,
 -jpw

/*
 * John P. Willis, CEO
 * Coherent Logic Development LLC
 *  Solutions: Everywhere
 * 
 * 425 S. Telshor Blvd. Ste. 202
 * Las Cruces, NM 88011
 *
 * Tel: 575.520.9542
 * Fax: 575.449.4122
 *
 * jpw at coherent-logic.com
 * http://www.coherent-logic.com/
 *
 */


More information about the freem-dev mailing list