Opened 6 years ago

Closed 6 years ago

Last modified 6 years ago

#6432 closed defect (duplicate)

SYMBIAN: remove macro conflict in system headers

Reported by: SF/superzanac Owned by: anotherguest
Priority: normal Component: Engine: TsAGE
Keywords: build Cc:
Game: Blue Force

Description

I try to build ringworl with Sourcery_CodeBench_Lite_for_ARM_SymbianOS 4.6.3 under windows. unistd.h already has "#define remove(x) unlink(x)". Is this macro useful?
In file included from D:\Symbian\Projects\SDL\scummvm\engines\tsage/core.h:33,
from D:\Symbian\Projects\SDL\scummvm\engines\tsage/tsage.h:31,
from D:\Symbian\Projects\SDL\scummvm\engines\tsage\blue_force\blueforce_dialogs.cpp:28:
D:\Symbian\Projects\SDL\scummvm\engines\tsage/graphics.h:197: macro `remove' used without args
D:\Symbian\Projects\SDL\scummvm\engines\tsage/graphics.h:337: macro `remove' used without args
In file included from D:\Symbian\Projects\SDL\scummvm\engines\tsage/tsage.h:31,
from D:\Symbian\Projects\SDL\scummvm\engines\tsage\blue_force\blueforce_dialogs.cpp:28:
D:\Symbian\Projects\SDL\scummvm\engines\tsage/core.h:126: macro `remove' used without args
D:\Symbian\Projects\SDL\scummvm\engines\tsage/core.h:148: macro `remove' used without args
D:\Symbian\Projects\SDL\scummvm\engines\tsage/core.h:197: macro `remove' used without args
D:\Symbian\Projects\SDL\scummvm\engines\tsage/core.h:300: macro `remove' used without args
D:\Symbian\Projects\SDL\scummvm\engines\tsage/core.h:333: macro `remove' used without args
D:\Symbian\Projects\SDL\scummvm\engines\tsage/core.h:348: macro `remove' used without args
D:\Symbian\Projects\SDL\scummvm\engines\tsage/core.h:422: macro `remove' used without args
D:\Symbian\Projects\SDL\scummvm\engines\tsage/core.h:510: macro `remove' used without args
D:\Symbian\Projects\SDL\scummvm\engines\tsage/core.h:592: macro `remove' used without args
In file included from D:\Symbian\Projects\SDL\scummvm\engines\tsage/converse.h:28,
from D:\Symbian\Projects\SDL\scummvm\engines\tsage/scenes.h:27,
from D:\Symbian\Projects\SDL\scummvm\engines\tsage/globals.h:29,
from D:\Symbian\Projects\SDL\scummvm\engines\tsage\blue_force\blueforce_dialogs.cpp:32:
D:\Symbian\Projects\SDL\scummvm\engines\tsage/sound.h:445: macro `remove' used without args
In file included from D:\Symbian\Projects\SDL\scummvm\engines\tsage/scenes.h:27,
from D:\Symbian\Projects\SDL\scummvm\engines\tsage/globals.h:29,
from D:\Symbian\Projects\SDL\scummvm\engines\tsage\blue_force\blueforce_dialogs.cpp:32:
D:\Symbian\Projects\SDL\scummvm\engines\tsage/converse.h:65: macro `remove' used without args
D:\Symbian\Projects\SDL\scummvm\engines\tsage/converse.h:93: macro `remove' used without args
D:\Symbian\Projects\SDL\scummvm\engines\tsage/converse.h:239: macro `remove' used without args
D:\Symbian\Projects\SDL\scummvm\engines\tsage\blue_force\blueforce_dialogs.cpp:427: macro `remove' used without args
D:\Symbian\Projects\SDL\scummvm\engines\tsage\blue_force\blueforce_dialogs.cpp:456: macro `remove' used without args

Ticket imported from: #3615142. Ticket imported from: bugs/6432.

Change History (9)

comment:1 by dreammaster, 6 years ago

I'm frankly suprised that they'd set up such a common word like remove as a macro, and moreso that there aren't more engines getting errors as a result of it. If it's desirable to compile ScummVM for SymbionOS like this, suppose we could simply work around this for the TsAGE engine by putting in an #ifdef / #undef block at the start of core.h?

Comments?

comment:2 by SF/superzanac, 6 years ago

You mean this changes:
#define TSAGE_CORE_H

#ifdef __SYMBIAN32__
#undef remove(x)
#endif

#include "common/scummsys.h"

comment:3 by SF/superzanac, 6 years ago

I'm very surprised too. I compared this file with others in symbian 6.1 and 7.0 and S^1 and S^3 QT SDKs. All they are same and hasn't this macro

comment:4 by SF/superzanac, 6 years ago

Previos definition in sys/unistd.h

comment:5 by digitall, 6 years ago

Summary: macro `remove' used without argsSYMBIAN: remove macro conflict in system headers

comment:6 by dreammaster, 6 years ago

Resolution: fixed
Status: newclosed

comment:7 by digitall, 6 years ago

Owner: set to anotherguest

comment:8 by digitall, 6 years ago

As this fix was not successful, superzanac reopened this as bug #3615153:
https://sourceforge.net/tracker/index.php?func=detail&aid=3615153&group_id=37116&atid=418820

I would close that as duplicate, but that contains a significant amount of detail.. so am going to leave this closed, but as duplicate, leave comment posting closed and we can continue at the new bug.

comment:9 by digitall, 6 years ago

Resolution: fixedduplicate
Note: See TracTickets for help on using tickets.