TypeChef icon indicating copy to clipboard operation
TypeChef copied to clipboard

Support modules in Linux

Open ckaestne opened this issue 11 years ago • 1 comments

This occurs quite frequently during linking, that two files cannot be linked together but are also just compiled as separate modules (which controls linking restrictively).

First of all, we need to handle how to read the feature model correctly to not attempt to link those files.

Second, we should build a mechanisms to check modules and infer their interfaces.

Here is an example of two files that may be linked individually or be loaded both as modules, but not linked both (the feature model does describe the constraints correctly, but we do not process them correctly):

** processing drivers/media/radio/si470x **
parsing3 files
composing
 * si470x_get_register when !CONFIG_VIDEO_DEV | CONFIG_VIDEO_DEV & !CONFIG_RADIO_SI470X | CONFIG_VIDEO_DEV & CONFIG_RADIO_SI470X & !CONFIG_USB_SI470X | CONFIG_VIDEO_DEV & CONFIG_RADIO_SI470X & CONFIG_USB_SI470X & !CONFIG_I2C_SI470X
    si470x_get_register: (*struct si470x_device, signed int) => signed int      if CONFIG_VIDEO_DEV & CONFIG_RADIO_SI470X & CONFIG_I2C_SI470X       at l/drivers/media/radio/si470x/radio-si470x-i2c:0:0
    si470x_get_register: (*struct si470x_device, signed int) => signed int      if CONFIG_VIDEO_DEV & CONFIG_RADIO_SI470X & CONFIG_USB_SI470X       at l/drivers/media/radio/si470x/radio-si470x-usb:0:0

ckaestne avatar Mar 28 '13 16:03 ckaestne

feature model extraction should be precise enough now to cover this. should work out of the box now?

ckaestne avatar Nov 19 '15 23:11 ckaestne