Skip to content
This repository was archived by the owner on Aug 31, 2021. It is now read-only.

Commit 324da7f

Browse files
committed
[[ LCB ]] Added finit/init to each native code module.
[[ LCB ]] Finished correct generation of all_modules.c.
1 parent a7cdea6 commit 324da7f

36 files changed

+334
-98
lines changed

engine/engine.xcodeproj/project.pbxproj

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -275,13 +275,10 @@
275275
4D7740CC1226AA65001C9150 /* Quartz.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4D5881C10B80C7C300200116 /* Quartz.framework */; };
276276
4D77F1DD183F8298002EEBB4 /* exec-keywords.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4D77F1DC183F8298002EEBB4 /* exec-keywords.cpp */; };
277277
4D77F1DE183F8298002EEBB4 /* exec-keywords.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4D77F1DC183F8298002EEBB4 /* exec-keywords.cpp */; };
278-
4D79B7321A275B2900DD750C /* canvas.mlc in Sources */ = {isa = PBXBuildFile; fileRef = 4D79B7301A275ADE00DD750C /* canvas.mlc */; };
279278
4D79B7D41A308FFD00DD750C /* libstdscript.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4D79B72D1A275A7C00DD750C /* libstdscript.a */; };
280279
4D79B8991A36050800DD750C /* sysunxthreads.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4D79B8981A3604F200DD750C /* sysunxthreads.cpp */; };
281280
4D79B89B1A36055B00DD750C /* platform-recorder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4D79B89A1A36054900DD750C /* platform-recorder.cpp */; };
282281
4D79B89D1A36058300DD750C /* image_rep_densitymapped.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4D79B89C1A36057400DD750C /* image_rep_densitymapped.cpp */; };
283-
4D79B8AD1A37118900DD750C /* widget.mlc in Sources */ = {isa = PBXBuildFile; fileRef = 4D79B8AA1A37104800DD750C /* widget.mlc */; };
284-
4D79B8E81A375E8700DD750C /* modules.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4D79B8E71A375E8700DD750C /* modules.cpp */; };
285282
4D79B9041A3761C700DD750C /* libffi.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7261915D1A26091900851787 /* libffi.a */; };
286283
4D79B9051A3761CA00DD750C /* libstdscript.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4D79B72D1A275A7C00DD750C /* libstdscript.a */; };
287284
4D79B9061A3761CE00DD750C /* libscript.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 726191731A260B6D00851787 /* libscript.a */; };
@@ -349,7 +346,6 @@
349346
4DCB65721653B2F700E438E6 /* stackcache.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4DCB65711653B2F700E438E6 /* stackcache.cpp */; };
350347
4DCFFD2E10CE927700FA2262 /* iquantize_new.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4DCFFD2D10CE927700FA2262 /* iquantize_new.cpp */; };
351348
4DD9D74F1A3AE4580006366D /* exec-extension.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4DD9D74E1A3AE4580006366D /* exec-extension.cpp */; };
352-
4DD9D7671A3B1EA10006366D /* engine.mlc in Sources */ = {isa = PBXBuildFile; fileRef = 4DD9D7661A3B185A0006366D /* engine.mlc */; };
353349
4DD9D7871A3B22E60006366D /* module-engine.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4DD9D7861A3B22E60006366D /* module-engine.cpp */; };
354350
4DDB666F14139FF500E5C84C /* tilecache.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4DDB666D14139FF500E5C84C /* tilecache.cpp */; };
355351
4DDB66721413A02000E5C84C /* redraw.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4DDB66701413A02000E5C84C /* redraw.cpp */; };
@@ -480,6 +476,7 @@
480476
4DEE2B120FDE42710009423C /* visual.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4D587E480B8096FD00200116 /* visual.cpp */; };
481477
4DEE2C370FDE51370009423C /* securemode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4DEE2B4A0FDE44690009423C /* securemode.cpp */; };
482478
4DEE2CA20FDE53620009423C /* libkernel.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4DEE29F60FDE41BE0009423C /* libkernel.a */; };
479+
4DEEFCB91ABB2D3E00CAFDB5 /* all_modules.c in Sources */ = {isa = PBXBuildFile; fileRef = 4DEEFCB81ABB2D2D00CAFDB5 /* all_modules.c */; };
483480
4DF65E3310016337005A19CA /* capsule.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4DF65E2F10016337005A19CA /* capsule.cpp */; };
484481
4DFDDAB71074D70900FAE527 /* eventqueue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4DFDDAB61074D70900FAE527 /* eventqueue.cpp */; };
485482
4DFFC7E013DD8A91006233A4 /* syscfdate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4DFFC7DE13DD8A91006233A4 /* syscfdate.cpp */; };
@@ -497,7 +494,6 @@
497494
724459DB1A69359400D22C2C /* libffi.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7261915D1A26091900851787 /* libffi.a */; };
498495
724459DC1A69359400D22C2C /* libscript.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 726191731A260B6D00851787 /* libscript.a */; };
499496
724459DD1A69359400D22C2C /* libstdscript.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4D79B72D1A275A7C00DD750C /* libstdscript.a */; };
500-
724911171A6D175100DAFCE3 /* modules.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4D79B8E71A375E8700DD750C /* modules.cpp */; };
501497
724911181A6D175100DAFCE3 /* module-canvas.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4D79B72E1A275AA500DD750C /* module-canvas.cpp */; };
502498
724911191A6D175100DAFCE3 /* module-engine.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4DD9D7861A3B22E60006366D /* module-engine.cpp */; };
503499
7249111A1A6D175100DAFCE3 /* widget-events.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 726191551A2608F300851787 /* widget-events.cpp */; };
@@ -2013,7 +2009,6 @@
20132009
4D79B89A1A36054900DD750C /* platform-recorder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = "platform-recorder.cpp"; path = "src/platform-recorder.cpp"; sourceTree = "<group>"; };
20142010
4D79B89C1A36057400DD750C /* image_rep_densitymapped.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = image_rep_densitymapped.cpp; path = src/image_rep_densitymapped.cpp; sourceTree = "<group>"; };
20152011
4D79B8AA1A37104800DD750C /* widget.mlc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = widget.mlc; path = src/widget.mlc; sourceTree = "<group>"; };
2016-
4D79B8E71A375E8700DD750C /* modules.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = modules.cpp; path = src/modules.cpp; sourceTree = "<group>"; };
20172012
4D7FA7B61594E0FA00EEF440 /* libfoundation.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = libfoundation.xcodeproj; path = ../libfoundation/libfoundation.xcodeproj; sourceTree = SOURCE_ROOT; };
20182013
4D7FA7C61594E17500EEF440 /* exec-datetime.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = "exec-datetime.cpp"; path = "src/exec-datetime.cpp"; sourceTree = "<group>"; };
20192014
4D81A4C111171F6A008AE3F1 /* objectprops.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = objectprops.cpp; path = src/objectprops.cpp; sourceTree = "<group>"; };
@@ -2188,6 +2183,7 @@
21882183
4DEE2B400FDE44510009423C /* mode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = mode.h; path = src/mode.h; sourceTree = "<group>"; };
21892184
4DEE2B490FDE44690009423C /* securemode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = securemode.h; path = src/securemode.h; sourceTree = "<group>"; };
21902185
4DEE2B4A0FDE44690009423C /* securemode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = securemode.cpp; path = src/securemode.cpp; sourceTree = "<group>"; };
2186+
4DEEFCB81ABB2D2D00CAFDB5 /* all_modules.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = all_modules.c; path = ../_build/mac/Debug/all_modules.c; sourceTree = "<group>"; };
21912187
4DF65E2F10016337005A19CA /* capsule.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = capsule.cpp; path = src/capsule.cpp; sourceTree = "<group>"; };
21922188
4DF65E3010016337005A19CA /* capsule.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = capsule.h; path = src/capsule.h; sourceTree = "<group>"; };
21932189
4DF65E4510016351005A19CA /* deploy_capsule.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = deploy_capsule.cpp; path = src/deploy_capsule.cpp; sourceTree = "<group>"; };
@@ -3203,7 +3199,7 @@
32033199
4DD9D7661A3B185A0006366D /* engine.mlc */,
32043200
4D79B8AA1A37104800DD750C /* widget.mlc */,
32053201
4D79B7301A275ADE00DD750C /* canvas.mlc */,
3206-
4D79B8E71A375E8700DD750C /* modules.cpp */,
3202+
4DEEFCB81ABB2D2D00CAFDB5 /* all_modules.c */,
32073203
4D79B72E1A275AA500DD750C /* module-canvas.cpp */,
32083204
E8A1AD001A27799B0078F401 /* module-canvas.h */,
32093205
E8A1AD031A27817E0078F401 /* module-canvas-internal.h */,
@@ -5008,7 +5004,6 @@
50085004
728635E21A6D1991001D1FBF /* canvas.mlc in Sources */,
50095005
7249112F1A6D183400DAFCE3 /* exec-extension.cpp in Sources */,
50105006
7249112E1A6D17F200DAFCE3 /* mac-theme.mm in Sources */,
5011-
724911171A6D175100DAFCE3 /* modules.cpp in Sources */,
50125007
724911181A6D175100DAFCE3 /* module-canvas.cpp in Sources */,
50135008
724911191A6D175100DAFCE3 /* module-engine.cpp in Sources */,
50145009
7249111A1A6D175100DAFCE3 /* widget-events.cpp in Sources */,
@@ -5315,10 +5310,7 @@
53155310
isa = PBXSourcesBuildPhase;
53165311
buildActionMask = 2147483647;
53175312
files = (
5318-
4D79B7321A275B2900DD750C /* canvas.mlc in Sources */,
53195313
4DD9D7871A3B22E60006366D /* module-engine.cpp in Sources */,
5320-
4DD9D7671A3B1EA10006366D /* engine.mlc in Sources */,
5321-
4D79B8AD1A37118900DD750C /* widget.mlc in Sources */,
53225314
7210DD551A374F6700C23D23 /* module-canvas.cpp in Sources */,
53235315
4D79B89D1A36058300DD750C /* image_rep_densitymapped.cpp in Sources */,
53245316
4D79B89B1A36055B00DD750C /* platform-recorder.cpp in Sources */,
@@ -5517,10 +5509,10 @@
55175509
BEFE81D417B2B32800C9D14F /* dskmac.cpp in Sources */,
55185510
BEFD23CD17B5233800B9310D /* sysspec.cpp in Sources */,
55195511
76FA930A17FC7301003DB770 /* exec-strings-chunk.cpp in Sources */,
5512+
4DEEFCB91ABB2D3E00CAFDB5 /* all_modules.c in Sources */,
55205513
76D47DE918030E50006F9102 /* exec-interface-field-chunk.cpp in Sources */,
55215514
766E3298180EE4ED00CF7FCF /* graphicscontext.cpp in Sources */,
55225515
766E3299180EE4ED00CF7FCF /* imagelist.cpp in Sources */,
5523-
4D79B8E81A375E8700DD750C /* modules.cpp in Sources */,
55245516
76EF31A0181E7A1400FAC195 /* stackview.cpp in Sources */,
55255517
76EF31A4181E7CDB00FAC195 /* osxcisupport.mm in Sources */,
55265518
76EF31A6181E7D8700FAC195 /* cgimageutil.cpp in Sources */,

engine/src/dsklnxmain.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ int main(int argc, char *argv[], char *envp[])
5656
setlocale(LC_ALL, "");
5757
MCsysencoding = strclone(nl_langinfo(CODESET));
5858

59-
extern bool MCModulesInitialize();
59+
extern "C" bool MCModulesInitialize();
6060
if (!MCInitialize() || !MCSInitialize() ||
6161
!MCModulesInitialize() || !MCScriptInitialize())
6262
exit(-1);
@@ -115,7 +115,7 @@ int main(int argc, char *argv[], char *envp[])
115115

116116
int t_exit_code = X_close();
117117

118-
extern void MCModulesFinalize();
118+
extern "C" void MCModulesFinalize();
119119
MCScriptFinalize();
120120
MCModulesFinalize();
121121
MCFinalize();

engine/src/dskw32main.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -205,7 +205,7 @@ int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLi
205205
++csptr;
206206
}
207207

208-
extern bool MCModulesInitialize();
208+
extern "C" bool MCModulesInitialize();
209209
if (!MCInitialize() || !MCSInitialize() ||
210210
!MCModulesInitialize() || !MCScriptInitialize())
211211
exit(-1);
@@ -314,7 +314,7 @@ int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLi
314314
g_mainthread_errno = _errno();
315315
int r = X_close();
316316

317-
extern void MCModulesFinalize();
317+
extern "C" void MCModulesFinalize();
318318
MCScriptFinalize();
319319
MCModulesFinalize();
320320
MCFinalize();

engine/src/mac-core.mm

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1969,6 +1969,9 @@ static void display_reconfiguration_callback(CGDirectDisplayID display, CGDispla
19691969

19701970
////////////////////////////////////////////////////////////////////////////////
19711971

1972+
extern "C" bool MCModulesInitialize(void);
1973+
extern "C" void MCModulesFinalize(void);
1974+
19721975
int main(int argc, char *argv[], char *envp[])
19731976
{
19741977
extern bool MCS_mac_elevation_bootstrap_main(int argc, char* argv[]);
@@ -1988,7 +1991,6 @@ int main(int argc, char *argv[], char *envp[])
19881991
// Register for reconfigurations.
19891992
CGDisplayRegisterReconfigurationCallback(display_reconfiguration_callback, nil);
19901993

1991-
extern bool MCModulesInitialize();
19921994
if (!MCInitialize() || !MCSInitialize() ||
19931995
!MCModulesInitialize() || !MCScriptInitialize())
19941996
exit(-1);
@@ -2041,7 +2043,6 @@ int main(int argc, char *argv[], char *envp[])
20412043
// Drain the autorelease pool.
20422044
[t_pool release];
20432045

2044-
extern void MCModulesFinalize(void);
20452046
MCScriptFinalize();
20462047
MCModulesFinalize();
20472048
MCFinalize();

engine/src/mblandroiddc.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ along with LiveCode. If not see <http://www.gnu.org/licenses/>. */
5656

5757
#include "script.h"
5858

59-
extern bool MCModulesInitialize();
59+
extern "C" bool MCModulesInitialize();
6060

6161
////////////////////////////////////////////////////////////////////////////////
6262

engine/src/mbliphoneapp.mm

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2024,7 +2024,7 @@ Exec_stat MCIPhoneHandleMessage(MCNameRef p_message, MCParameter *p_parameters)
20242024
return s;
20252025
}
20262026

2027-
extern bool MCModulesInitialize();
2027+
extern "C" bool MCModulesInitialize();
20282028

20292029
MC_DLLEXPORT int main(int argc, char *argv[], char *envp[])
20302030
{

engine/src/module-canvas.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -514,7 +514,7 @@ static MCNameRef s_cap_style_map[kMCGCapStyleCount];
514514
bool MCCanvasStringsInitialize();
515515
void MCCanvasStringsFinalize();
516516

517-
bool MCCanvasModuleInitialize()
517+
extern "C" bool com_livecode_canvas_Initialize()
518518
{
519519
if (!MCCanvasErrorsInitialize())
520520
return false;
@@ -527,7 +527,7 @@ bool MCCanvasModuleInitialize()
527527
return true;
528528
}
529529

530-
void MCCanvasModuleFinalize()
530+
extern "C" void com_livecode_canvas_Finalize()
531531
{
532532
MCCanvasConstantsFinalize();
533533
MCCanvasTypesFinalize();

engine/src/module-engine.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -701,7 +701,7 @@ MCTypeInfoRef kMCEngineScriptObjectNoContextErrorTypeInfo = nil;
701701

702702
////////////////////////////////////////////////////////////////////////////////
703703

704-
bool MCEngineModuleInitialize(void)
704+
extern "C" bool com_livecode_engine_Initialize(void)
705705
{
706706
if (!MCNamedErrorTypeInfoCreate(MCNAME("com.livecode.engine.ScriptObjectDoesNotExistError"), MCNAME("engine"), MCSTR("object does not exist"), kMCEngineScriptObjectDoesNotExistErrorTypeInfo))
707707
return false;
@@ -720,7 +720,7 @@ bool MCEngineModuleInitialize(void)
720720
return true;
721721
}
722722

723-
void MCEngineModuleFinalize(void)
723+
extern "C" void com_livecode_engine_Finalize(void)
724724
{
725725
MCValueRelease(s_log_buffer);
726726
MCValueRelease(kMCEngineScriptObjectTypeInfo);

engine/src/srvmain.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -605,8 +605,8 @@ void X_main_loop(void)
605605

606606
////////////////////////////////////////////////////////////////////////////////
607607

608-
extern bool MCModulesInitialize();
609-
extern void MCModulesFinalize();
608+
extern "C" bool MCModulesInitialize();
609+
extern "C" void MCModulesFinalize();
610610

611611
int main(int argc, char *argv[], char *envp[])
612612
{

engine/src/widget.cpp

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1835,3 +1835,16 @@ extern "C" MC_DLLEXPORT void MCWidgetEvalIsPointNotWithinRect(MCCanvasPointRef p
18351835
MCWidgetEvalIsPointWithinRect(p_point, p_rect, t_within);
18361836
r_not_within = !t_within;
18371837
}
1838+
1839+
////////////////////////////////////////////////////////////////////////////////
1840+
1841+
extern "C" bool com_livecode_widget_Initialize(void)
1842+
{
1843+
return true;
1844+
}
1845+
1846+
extern "C" void com_livecode_widget_Finalize(void)
1847+
{
1848+
}
1849+
1850+
////////////////////////////////////////////////////////////////////////////////

0 commit comments

Comments
 (0)