fix the dependencies between our action .q files
Without this fix, rebuilds sometimes result in stale type IDs being used
for struct members, which then causes binary_log_writer to LOG(FATAL)
because it can't find them.
Change-Id: Iaf1eda9ebee8083102b23eb07d2029a0c8dbba02
diff --git a/frc971/actors/actors.gyp b/frc971/actors/actors.gyp
index 5a93ebb..da884d2 100644
--- a/frc971/actors/actors.gyp
+++ b/frc971/actors/actors.gyp
@@ -312,11 +312,11 @@
},
'dependencies': [
'<(AOS)/common/actions/actions.gyp:action_queue',
- 'lift_action_queue',
+ 'lift_action_params',
],
'export_dependent_settings': [
'<(AOS)/common/actions/actions.gyp:action_queue',
- 'lift_action_queue',
+ 'lift_action_params',
],
'includes': ['../../aos/build/queues.gypi'],
},
@@ -365,13 +365,11 @@
},
'dependencies': [
'<(AOS)/common/actions/actions.gyp:action_queue',
- 'stack_action_queue',
- 'lift_action_queue',
+ 'stack_action_params',
],
'export_dependent_settings': [
'<(AOS)/common/actions/actions.gyp:action_queue',
- 'stack_action_queue',
- 'lift_action_queue',
+ 'stack_action_params',
],
'includes': ['../../aos/build/queues.gypi'],
},
@@ -420,13 +418,13 @@
},
'dependencies': [
'<(AOS)/common/actions/actions.gyp:action_queue',
- 'stack_action_queue',
- 'lift_action_queue',
+ 'stack_action_params',
+ 'lift_action_params',
],
'export_dependent_settings': [
'<(AOS)/common/actions/actions.gyp:action_queue',
- 'stack_action_queue',
- 'lift_action_queue',
+ 'stack_action_params',
+ 'lift_action_params',
],
'includes': ['../../aos/build/queues.gypi'],
},
@@ -468,24 +466,44 @@
],
},
{
+ # This is a wrapper target to avoid adding the directory with a stale
+ # stack_action_params.q.h to the compiler's include path.
'target_name': 'stack_action_queue',
+ 'type': 'none',
+ 'dependencies': ['stack_action_queue_real'],
+ 'export_dependent_settings': ['stack_action_queue_real'],
+ },
+ {
+ 'target_name': 'stack_action_queue_real',
'type': 'static_library',
'sources': [
'stack_action.q',
- 'stack_action_params.q',
],
'variables': {
'header_path': 'frc971/actors',
},
'dependencies': [
'<(AOS)/common/actions/actions.gyp:action_queue',
+ 'stack_action_params',
],
'export_dependent_settings': [
'<(AOS)/common/actions/actions.gyp:action_queue',
+ 'stack_action_params',
],
'includes': ['../../aos/build/queues.gypi'],
},
{
+ 'target_name': 'stack_action_params',
+ 'type': 'static_library',
+ 'sources': [
+ 'stack_action_params.q',
+ ],
+ 'variables': {
+ 'header_path': 'frc971/actors',
+ },
+ 'includes': ['../../aos/build/queues.gypi'],
+ },
+ {
'target_name': 'stack_action_test',
'type': 'executable',
'sources': [
@@ -540,24 +558,44 @@
],
},
{
+ # This is a wrapper target to avoid adding the directory with a stale
+ # lift_action_params.q.h to the compiler's include path.
'target_name': 'lift_action_queue',
+ 'type': 'none',
+ 'dependencies': ['lift_action_queue_real'],
+ 'export_dependent_settings': ['lift_action_queue_real'],
+ },
+ {
+ 'target_name': 'lift_action_queue_real',
'type': 'static_library',
'sources': [
'lift_action.q',
- 'lift_action_params.q',
],
'variables': {
'header_path': 'frc971/actors',
},
'dependencies': [
'<(AOS)/common/actions/actions.gyp:action_queue',
+ 'lift_action_params',
],
'export_dependent_settings': [
'<(AOS)/common/actions/actions.gyp:action_queue',
+ 'lift_action_params',
],
'includes': ['../../aos/build/queues.gypi'],
},
{
+ 'target_name': 'lift_action_params',
+ 'type': 'static_library',
+ 'sources': [
+ 'lift_action_params.q',
+ ],
+ 'variables': {
+ 'header_path': 'frc971/actors',
+ },
+ 'includes': ['../../aos/build/queues.gypi'],
+ },
+ {
'target_name': 'lift_action_lib',
'type': 'static_library',
'sources': [