[m-dev.] mmc --generate-dependencies and foreign import modules

Keri Harris keri at gentoo.org
Tue Mar 24 03:37:57 AEDT 2020


Hi,

I've noticed that with mercury 20.01.1 the
hard_coded/foreign_import_module unit test is failing:

   mmc --generate-dependencies foreign_import_module
   mmc --compile-to-c foreign_import_module
   mgnuc -- -c foreign_import_module.c -o foreign_import_module.o
   foreign_import_module.c:40.10: fatal error:
    foreign_import_module_2.mh: No such file or directory
   compilation terminated.

It appears that the 'mmc --generate-dependencies' step is generating a
'.d' file which is missing .mh dependencies:

   $ mmc --generate-dependencies foreign_import_module

   $ grep -A4 "foreign_import_module\.\$O" foreign_import_module.d
     foreign_import_module.$O : \
                     builtin.mh \
                     int.mh \
                     io.mh \
                     private_builtin.mh

After the subsequent call to 'mmc --compile-to-c' the '.d' file does
contain all dependencies:

   $ mmc --compile-to-c foreign_import_module

   $ grep -A7 "foreign_import_module\.\$O" foreign_import_module.d
     foreign_import_module.$O : \
                     array.mh \
                     bitmap.mh \
                     foreign_import_module.mh \
                     foreign_import_module_2.mh \
                     io.mh \
                     string.mh \
                     time.mh

Running 'mmc --make foreign_import_module' works, but the unit tests
rely on 'mmc --generate-dependencies' generating a correct dependency
graph. Is this a known issue?


Thanks

Keri



More information about the developers mailing list