GNOME Bugzilla – Bug 781572
Produced tarballs break the Vala preprocessor
Last modified: 2017-05-03 08:23:29 UTC
The produced tarballs include C files compiled from the Vala sources: this doesn't work with Vala macros as once compiled, the macros are resolved and can't be resolved again later by compiling the intermediate C code. Even though the tarballs contain the Vala source and the generated C, only the C get compiled. Two solutions arise: - avoid shipping C files and always compile from Vala by rewriting part of the build system - avoid using Vala macros by rewriting part of the code as C The former is cleaner but probably more complex. Given the depreciation of Vala in GNOME, porting part of the application to C could make sense.
Created attachment 350527 [details] [review] Add coding style for C
Created attachment 350528 [details] [review] gamepad: Port StandardGamepadAxis to C This will help to port part of the gamepad handling to C to avoid using Vala macros.
Created attachment 350529 [details] [review] gamepad: Port StandardGamepadButton to C This will help to port part of the gamepad handling to C to avoid using Vala macros.
Created attachment 350530 [details] [review] gamepad: Port RawGamepad to C This will help to port part of the gamepad handling to C to avoid using Vala macros.
Created attachment 350531 [details] [review] gamepad: Port RawGamepadMonitor to C This will help to port part of the gamepad handling to C to avoid using Vala macros.
Created attachment 350532 [details] [review] gamepad: Port LinuxRawGamepad to C This will help to port part of the gamepad handling to C to avoid using Vala macros.
Created attachment 350533 [details] [review] gamepad: Drop now unused GamesRawGamepadIface
Created attachment 350534 [details] [review] gamepad: Drop now unused libevdev.vapi
Created attachment 350535 [details] [review] gamepad: Port LinuxRawGamepadMonitor to C This will help to port part of the gamepad handling to C to avoid using Vala macros.
Created attachment 350536 [details] [review] gamepad: Port LinuxRawGamepadMonitor fallback to C This will help to port part of the gamepad handling to C to avoid using Vala macros.
Created attachment 350537 [details] [review] gamepad: Drop now unused GamesRawGamepadMonitorIface
Created attachment 350538 [details] [review] gamepad: Drop now unused linux-raw-gamepad.vapi
Created attachment 350577 [details] [review] Add coding style for C
Created attachment 350578 [details] [review] gamepad: Port StandardGamepadAxis to C This will help to port part of the gamepad handling to C to avoid using the Vala preprocessor.
Created attachment 350579 [details] [review] gamepad: Port StandardGamepadButton to C This will help to port part of the gamepad handling to C to avoid using the Vala preprocessor.
Created attachment 350580 [details] [review] gamepad: Port RawGamepad to C This will help to port part of the gamepad handling to C to avoid using the Vala preprocessor.
Created attachment 350581 [details] [review] gamepad: Port RawGamepadMonitor to C This will help to port part of the gamepad handling to C to avoid using the Vala preprocessor.
Created attachment 350582 [details] [review] gamepad: Port LinuxRawGamepad to C This will help to port part of the gamepad handling to C to avoid using the Vala preprocessor.
Created attachment 350583 [details] [review] gamepad: Drop now unused GamesRawGamepadIface
Created attachment 350584 [details] [review] gamepad: Drop now unused libevdev.vapi
Created attachment 350585 [details] [review] gamepad: Port LinuxRawGamepadMonitor to C This will help to port part of the gamepad handling to C to avoid using the Vala preprocessor.
Created attachment 350586 [details] [review] gamepad: Port LinuxRawGamepadMonitor fallback to C This will help to port part of the gamepad handling to C to avoid using the Vala preprocessor.
Created attachment 350588 [details] [review] gamepad: Drop now unused GamesRawGamepadMonitorIface
Created attachment 350589 [details] [review] gamepad: Drop now unused linux-raw-gamepad.vapi
Created attachment 350929 [details] [review] Add coding style for C
Created attachment 350930 [details] [review] gamepad: Port StandardGamepadAxis to C This will help to port part of the gamepad handling to C to avoid using the Vala preprocessor.
Created attachment 350931 [details] [review] gamepad: Port StandardGamepadButton to C This will help to port part of the gamepad handling to C to avoid using the Vala preprocessor.
Created attachment 350932 [details] [review] gamepad: Port RawGamepad to C This will help to port part of the gamepad handling to C to avoid using the Vala preprocessor.
Created attachment 350933 [details] [review] gamepad: Port RawGamepadMonitor to C Also port RawGamepadCallback to C. This will help to port part of the gamepad handling to C to avoid using the Vala preprocessor.
Created attachment 350934 [details] [review] gamepad: Port LinuxRawGamepad to C This will help to port part of the gamepad handling to C to avoid using the Vala preprocessor.
Created attachment 350935 [details] [review] gamepad: Drop now unused GamesRawGamepadIface
Created attachment 350936 [details] [review] gamepad: Port LinuxRawGamepadMonitor to C This will help to port part of the gamepad handling to C to avoid using the Vala preprocessor.
Created attachment 350937 [details] [review] gamepad: Port LinuxRawGamepadMonitor fallback to C This will help to port part of the gamepad handling to C to avoid using the Vala preprocessor.
Created attachment 350938 [details] [review] gamepad: Drop now unused GamesRawGamepadMonitorIface
Created attachment 350939 [details] [review] gamepad: Port GamepadInputType to C This will help to port part of the gamepad handling to C to avoid using the Vala preprocessor. Also makes GamepadInputType.INVALID the first value, hence the value associated to 0, so it act as a safe default.
Created attachment 350940 [details] [review] gamepad: Port GamepadMappingError to C This will help to port part of the gamepad handling to C to avoid using the Vala preprocessor.
Created attachment 350941 [details] [review] gamepad: Port GamepadMappedEvent to C This will help to port part of the gamepad handling to C to avoid using the Vala preprocessor.
Created attachment 350942 [details] [review] gamepad: Make GamepadDPad class a struct This better reflects the usage of this type.
Created attachment 350943 [details] [review] gamepad: Port GamepadDPad to C This will help to port part of the gamepad handling to C to avoid using the Vala preprocessor.
Created attachment 350944 [details] [review] gamepad: Port GamepadMapping to C This will help to port part of the gamepad handling to C to avoid using the Vala preprocessor.
Created attachment 350945 [details] [review] gamepad: Port GamepadMappingsManager to C This will help to port part of the gamepad handling to C to avoid using the Vala preprocessor.
Created attachment 350946 [details] [review] gamepad: Port Gamepad to C This will help to port part of the gamepad handling to C to avoid using the Vala preprocessor.
Created attachment 350947 [details] [review] gamepad: Port GamepadMonitor to C Also port GamepadCallback to C. This finishes porting the gamepad handling to C and, by extenstion, stops using the Vala preprocessor.
Created attachment 350948 [details] [review] gamepad: Remove unused VAPIs
Attachment 350929 [details] pushed as df04b2b - Add coding style for C Attachment 350930 [details] pushed as 851b8ac - gamepad: Port StandardGamepadAxis to C Attachment 350931 [details] pushed as 8b2997e - gamepad: Port StandardGamepadButton to C Attachment 350932 [details] pushed as d3e94be - gamepad: Port RawGamepad to C Attachment 350933 [details] pushed as f947a96 - gamepad: Port RawGamepadMonitor to C Attachment 350934 [details] pushed as 1c85038 - gamepad: Port LinuxRawGamepad to C Attachment 350935 [details] pushed as 623aea2 - gamepad: Drop now unused GamesRawGamepadIface Attachment 350936 [details] pushed as 976ea1b - gamepad: Port LinuxRawGamepadMonitor to C Attachment 350937 [details] pushed as fdc14dd - gamepad: Port LinuxRawGamepadMonitor fallback to C Attachment 350938 [details] pushed as 84c320f - gamepad: Drop now unused GamesRawGamepadMonitorIface Attachment 350939 [details] pushed as e344697 - gamepad: Port GamepadInputType to C Attachment 350940 [details] pushed as 19b861d - gamepad: Port GamepadMappingError to C Attachment 350941 [details] pushed as 4400cfa - gamepad: Port GamepadMappedEvent to C Attachment 350942 [details] pushed as b8f3cc6 - gamepad: Make GamepadDPad class a struct Attachment 350943 [details] pushed as e83e1b6 - gamepad: Port GamepadDPad to C Attachment 350944 [details] pushed as 6aca41c - gamepad: Port GamepadMapping to C Attachment 350945 [details] pushed as 0e5321c - gamepad: Port GamepadMappingsManager to C Attachment 350946 [details] pushed as 99d30bd - gamepad: Port Gamepad to C Attachment 350947 [details] pushed as 7c9c277 - gamepad: Port GamepadMonitor to C Attachment 350948 [details] pushed as 2db668f - gamepad: Remove unused VAPIs