Opened 3 months ago

Closed 3 months ago

#11960 closed defect (invalid)

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

Reported by: raziel- Owned by: raziel-
Priority: normal Component: Common
Version: 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- 3 months ago.

Download all attachments as: .zip

Change History (2)

by raziel-, 3 months ago

Attachment: Bug.txt added

comment:1 by raziel-, 3 months ago

Owner: set to raziel-
Resolution: invalid
Status: newclosed

One of those dreaded " do a clean first" type of pitas.

Note: See TracTickets for help on using tickets.