Opened 9 days ago

#11960 new defect

BASE: Metaengine - Excluded engine's detection.cpp gets compiled/produce undefined references on linking

Reported by: raziel- Owned by:
Priority: normal Component: Common
Keywords: Cc:
Game:

Description

Latest sources

When trying to build a test version with every engine excluded except scumm, i get a long list of errors (undefined reference to the excluded engines metaengine) on linking.

I suspect the detection.cpp that are compiled for *all* engines, even the excluded ones.
You can see in the full list (attached) that the only engine that doesn't produce an error is scumm, which was included.
Shouldn't the exluded engine's detection.cpp be marked as excluded from compilation during configuration?

Like this:
engines/access/detection.o: In function `g_ACCESS_DETECTION_getObject()':
engines/access/detection.cpp:37: undefined reference to `AdvancedMetaEngineStatic::AdvancedMetaEngineStatic(void const*, unsigned int, PlainGameDescriptor const*,
ADExtraGuiOptionsMap const*)'
engines/access/detection.cpp:55: undefined reference to `vtable for AdvancedMetaEngineStatic'
engines/access/detection.cpp:55: undefined reference to `vtable for AdvancedMetaEngineStatic'
engines/access/detection.cpp:55: undefined reference to `vtable for AdvancedMetaEngineStatic'
engines/access/detection.cpp:55: undefined reference to `vtable for AdvancedMetaEngineStatic'
engines/access/detection.cpp:55: undefined reference to `typeinfo for AdvancedMetaEngineStatic'
engines/access/detection.cpp:55: undefined reference to `AdvancedMetaEngineStatic::getSupportedGames() const'
engines/access/detection.cpp:55: undefined reference to `AdvancedMetaEngineStatic::findGame(char const*) const'
engines/access/detection.cpp:55: undefined reference to `AdvancedMetaEngineStatic::detectGames(Common::FSList const&) const'
engines/access/detection.cpp:55: undefined reference to `AdvancedMetaEngineStatic::getExtraGuiOptions(Common::String const&) const'
engines/access/detection.cpp:55: undefined reference to `AdvancedMetaEngineStatic::detectGame(Common::FSNode const&, Common::HashMap<Common::String, Common::FSNode,
Common::IgnoreCase_Hash, Common::IgnoreCase_EqualTo> const&, Common::Language, Common::Platform, Common::String const&) const'
engines/access/detection.cpp:55: undefined reference to `AdvancedMetaEngineStatic::toDetectedGame(ADDetectedGame const&) const'

for the rest, see the attached file.

gcc (adtools build 8.3.0) 8.3.0
AmigaOS4 - PPC - SDL - BE

Attachments (1)

Bug.txt (124.4 KB ) - added by raziel- 9 days ago.

Download all attachments as: .zip

Change History (1)

by raziel-, 9 days ago

Attachment: Bug.txt added
Note: See TracTickets for help on using tickets.