@agoric/xsnap 0.14.3-u14.0 → 0.14.3-u16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (137) hide show
  1. package/README.md +3 -3
  2. package/api.js +4 -2
  3. package/build.env +1 -1
  4. package/moddable/modules/data/base64/base64.js +28 -0
  5. package/moddable/modules/data/base64/manifest.json +11 -0
  6. package/moddable/modules/data/base64/modBase64.c +188 -0
  7. package/moddable/modules/data/binaryMessage/BinaryMessage.js +106 -0
  8. package/moddable/modules/data/crc/crc.c +205 -0
  9. package/moddable/modules/data/crc/crc.js +36 -0
  10. package/moddable/modules/data/crc/manifest.json +8 -0
  11. package/moddable/modules/data/hex/hex.js +28 -0
  12. package/moddable/modules/data/hex/manifest.json +11 -0
  13. package/moddable/modules/data/hex/modHex.c +139 -0
  14. package/moddable/modules/data/logical/logical.js +32 -0
  15. package/moddable/modules/data/logical/modLogical.c +98 -0
  16. package/moddable/modules/data/qrcode/manifest.json +9 -0
  17. package/moddable/modules/data/qrcode/qrcode.c +93 -0
  18. package/moddable/modules/data/qrcode/qrcode.js +23 -0
  19. package/moddable/modules/data/qrcode/qrcodegen.c +1025 -0
  20. package/moddable/modules/data/qrcode/qrcodegen.h +267 -0
  21. package/moddable/modules/data/text/decoder/manifest.json +8 -0
  22. package/moddable/modules/data/text/decoder/textdecoder.c +480 -0
  23. package/moddable/modules/data/text/decoder/textdecoder.js +27 -0
  24. package/moddable/modules/data/text/encoder/manifest.json +8 -0
  25. package/moddable/modules/data/text/encoder/textencoder.c +232 -0
  26. package/moddable/modules/data/text/encoder/textencoder.js +24 -0
  27. package/moddable/modules/data/tinyint/tinyint.c +150 -0
  28. package/moddable/modules/data/tinyint/tinyint.js +53 -0
  29. package/moddable/modules/data/url/manifest.json +17 -0
  30. package/moddable/modules/data/url/url.c +1959 -0
  31. package/moddable/modules/data/url/url.js +210 -0
  32. package/moddable/modules/data/wavreader/manifest.json +8 -0
  33. package/moddable/modules/data/wavreader/wavreader.js +128 -0
  34. package/moddable/modules/data/zlib/deflate.c +161 -0
  35. package/moddable/modules/data/zlib/deflate.js +63 -0
  36. package/moddable/modules/data/zlib/inflate.c +145 -0
  37. package/moddable/modules/data/zlib/inflate.js +66 -0
  38. package/moddable/modules/data/zlib/manifest_deflate.json +9 -0
  39. package/moddable/modules/data/zlib/manifest_inflate.json +9 -0
  40. package/moddable/modules/data/zlib/miniz.c +4924 -0
  41. package/moddable/xs/includes/xs.d.ts +73 -0
  42. package/moddable/xs/includes/xs.h +1533 -0
  43. package/moddable/xs/includes/xsmc.h +206 -0
  44. package/moddable/xs/makefiles/lin/makefile +33 -0
  45. package/moddable/xs/makefiles/lin/xsc.mk +118 -0
  46. package/moddable/xs/makefiles/lin/xsid.mk +90 -0
  47. package/moddable/xs/makefiles/lin/xsl.mk +168 -0
  48. package/moddable/xs/makefiles/lin/xst.mk +201 -0
  49. package/moddable/xs/makefiles/mac/makefile +33 -0
  50. package/moddable/xs/makefiles/mac/xsc.mk +130 -0
  51. package/moddable/xs/makefiles/mac/xsid.mk +102 -0
  52. package/moddable/xs/makefiles/mac/xsl.mk +177 -0
  53. package/moddable/xs/makefiles/mac/xst.mk +203 -0
  54. package/moddable/xs/makefiles/mac/xst_no_asan.txt +52 -0
  55. package/moddable/xs/makefiles/win/build.bat +26 -0
  56. package/moddable/xs/makefiles/win/xsc.mak +142 -0
  57. package/moddable/xs/makefiles/win/xsid.mak +113 -0
  58. package/moddable/xs/makefiles/win/xsl.mak +186 -0
  59. package/moddable/xs/makefiles/win/xst.mak +195 -0
  60. package/moddable/xs/platforms/lin_xs.h +99 -0
  61. package/moddable/xs/platforms/mac_xs.h +97 -0
  62. package/moddable/xs/platforms/wasm_xs.h +79 -0
  63. package/moddable/xs/platforms/win_xs.h +104 -0
  64. package/moddable/xs/platforms/xsHost.h +63 -0
  65. package/moddable/xs/platforms/xsPlatform.h +618 -0
  66. package/moddable/xs/sources/xsAPI.c +2555 -0
  67. package/moddable/xs/sources/xsAll.c +294 -0
  68. package/moddable/xs/sources/xsAll.h +2741 -0
  69. package/moddable/xs/sources/xsArguments.c +222 -0
  70. package/moddable/xs/sources/xsArray.c +2657 -0
  71. package/moddable/xs/sources/xsAtomics.c +844 -0
  72. package/moddable/xs/sources/xsBigInt.c +1859 -0
  73. package/moddable/xs/sources/xsBoolean.c +109 -0
  74. package/moddable/xs/sources/xsCode.c +4493 -0
  75. package/moddable/xs/sources/xsCommon.c +1710 -0
  76. package/moddable/xs/sources/xsCommon.h +1142 -0
  77. package/moddable/xs/sources/xsDataView.c +2890 -0
  78. package/moddable/xs/sources/xsDate.c +1541 -0
  79. package/moddable/xs/sources/xsDebug.c +2710 -0
  80. package/moddable/xs/sources/xsDefaults.c +134 -0
  81. package/moddable/xs/sources/xsError.c +353 -0
  82. package/moddable/xs/sources/xsFunction.c +776 -0
  83. package/moddable/xs/sources/xsGenerator.c +865 -0
  84. package/moddable/xs/sources/xsGlobal.c +839 -0
  85. package/moddable/xs/sources/xsJSON.c +1091 -0
  86. package/moddable/xs/sources/xsLexical.c +1969 -0
  87. package/moddable/xs/sources/xsLockdown.c +933 -0
  88. package/moddable/xs/sources/xsMapSet.c +1649 -0
  89. package/moddable/xs/sources/xsMarshall.c +1020 -0
  90. package/moddable/xs/sources/xsMath.c +624 -0
  91. package/moddable/xs/sources/xsMemory.c +1941 -0
  92. package/moddable/xs/sources/xsModule.c +3101 -0
  93. package/moddable/xs/sources/xsNumber.c +560 -0
  94. package/moddable/xs/sources/xsObject.c +1102 -0
  95. package/moddable/xs/sources/xsPlatforms.c +480 -0
  96. package/moddable/xs/sources/xsProfile.c +577 -0
  97. package/moddable/xs/sources/xsPromise.c +1199 -0
  98. package/moddable/xs/sources/xsProperty.c +636 -0
  99. package/moddable/xs/sources/xsProxy.c +1014 -0
  100. package/moddable/xs/sources/xsRegExp.c +1168 -0
  101. package/moddable/xs/sources/xsRun.c +4889 -0
  102. package/moddable/xs/sources/xsScope.c +1293 -0
  103. package/moddable/xs/sources/xsScript.c +288 -0
  104. package/moddable/xs/sources/xsScript.h +1186 -0
  105. package/moddable/xs/sources/xsSnapshot.c +2161 -0
  106. package/moddable/xs/sources/xsSnapshot.h +51 -0
  107. package/moddable/xs/sources/xsSourceMap.c +218 -0
  108. package/moddable/xs/sources/xsString.c +3332 -0
  109. package/moddable/xs/sources/xsSymbol.c +503 -0
  110. package/moddable/xs/sources/xsSyntaxical.c +4193 -0
  111. package/moddable/xs/sources/xsTree.c +1893 -0
  112. package/moddable/xs/sources/xsType.c +1488 -0
  113. package/moddable/xs/sources/xsdtoa.c +6672 -0
  114. package/moddable/xs/sources/xsmc.c +340 -0
  115. package/moddable/xs/sources/xsre.c +7578 -0
  116. package/package.json +37 -20
  117. package/scripts/get_xsnap_version.sh +14 -0
  118. package/scripts/test-package.sh +21 -0
  119. package/src/avaAssertXS.js +6 -2
  120. package/src/avaHandler.cjs +2 -5
  121. package/src/avaXS.js +7 -8
  122. package/src/build.js +161 -28
  123. package/src/replay.js +0 -3
  124. package/src/xsnap.js +105 -91
  125. package/src/xsrepl.js +2 -3
  126. package/xsnap-native/xsnap/makefiles/lin/makefile +10 -0
  127. package/xsnap-native/xsnap/makefiles/lin/xsnap-worker.mk +156 -0
  128. package/xsnap-native/xsnap/makefiles/lin/xsnap.mk +144 -0
  129. package/xsnap-native/xsnap/makefiles/mac/makefile +10 -0
  130. package/xsnap-native/xsnap/makefiles/mac/xsnap-worker.mk +165 -0
  131. package/xsnap-native/xsnap/makefiles/mac/xsnap.mk +153 -0
  132. package/xsnap-native/xsnap/sources/xsnap-worker.c +1008 -0
  133. package/xsnap-native/xsnap/sources/xsnap.c +717 -0
  134. package/xsnap-native/xsnap/sources/xsnap.h +142 -0
  135. package/xsnap-native/xsnap/sources/xsnapPlatform.c +1501 -0
  136. package/xsnap-native/xsnap/sources/xsnapPlatform.h +105 -0
  137. package/CHANGELOG.md +0 -654
@@ -0,0 +1,203 @@
1
+ #
2
+ # Copyright (c) 2016-2022 Moddable Tech, Inc.
3
+ #
4
+ # This file is part of the Moddable SDK Tools.
5
+ #
6
+ # The Moddable SDK Tools is free software: you can redistribute it and/or modify
7
+ # it under the terms of the GNU General Public License as published by
8
+ # the Free Software Foundation, either version 3 of the License, or
9
+ # (at your option) any later version.
10
+ #
11
+ # The Moddable SDK Tools is distributed in the hope that it will be useful,
12
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
13
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
+ # GNU General Public License for more details.
15
+ #
16
+ # You should have received a copy of the GNU General Public License
17
+ # along with the Moddable SDK Tools. If not, see <http://www.gnu.org/licenses/>.
18
+ #
19
+
20
+ % : %.c
21
+ %.o : %.c
22
+
23
+ GOAL ?= debug
24
+ NAME = xst
25
+ MAKEFLAGS += --jobs
26
+ ifneq ($(VERBOSE),1)
27
+ MAKEFLAGS += --silent
28
+ endif
29
+
30
+ XS_DIR ?= $(realpath ../..)
31
+ BUILD_DIR ?= $(realpath ../../../build)
32
+
33
+ BIN_DIR = $(BUILD_DIR)/bin/mac/$(GOAL)
34
+ INC_DIR = $(XS_DIR)/includes
35
+ PLT_DIR = $(XS_DIR)/platforms
36
+ SRC_DIR = $(XS_DIR)/sources
37
+ TLS_DIR = $(XS_DIR)/tools
38
+ TMP_DIR = $(BUILD_DIR)/tmp/mac/$(GOAL)/$(NAME)
39
+
40
+ # MACOS_ARCH ?= -arch i386
41
+ MACOS_ARCH ?=
42
+ MACOS_VERSION_MIN ?= -mmacosx-version-min=10.10
43
+
44
+ FUZZILLI ?= 0
45
+ OSSFUZZ ?= 0
46
+ OSSFUZZ_JSONPARSE ?= 0
47
+ FUZZING ?= 0
48
+
49
+ C_OPTIONS = \
50
+ -fno-common \
51
+ $(MACOS_ARCH) \
52
+ $(MACOS_VERSION_MIN) \
53
+ -DINCLUDE_XSPLATFORM \
54
+ -DXSPLATFORM=\"xst.h\" \
55
+ -DmxDebug=1 \
56
+ -DmxLockdown=1 \
57
+ -DmxNoConsole=1 \
58
+ -DmxParse=1 \
59
+ -DmxProfile=1 \
60
+ -DmxRun=1 \
61
+ -DmxSloppy=1 \
62
+ -DmxSnapshot=1 \
63
+ -DmxRegExpUnicodePropertyEscapes=1 \
64
+ -DmxStringNormalize=1 \
65
+ -DmxMinusZero=1 \
66
+ -I$(INC_DIR) \
67
+ -I$(PLT_DIR) \
68
+ -I$(SRC_DIR) \
69
+ -I$(TLS_DIR) \
70
+ -I$(TLS_DIR)/yaml \
71
+ -I$(TMP_DIR)
72
+ ifneq ("x$(SDKROOT)", "x")
73
+ C_OPTIONS += -isysroot $(SDKROOT)
74
+ endif
75
+ ifeq ($(GOAL),debug)
76
+ C_OPTIONS += -g -O0 -Wall -Wextra -Wno-missing-field-initializers -Wno-unused-parameter
77
+ else
78
+ C_OPTIONS += -DmxMultipleThreads=1 -O3
79
+ endif
80
+
81
+ LIBRARIES = -framework CoreServices
82
+
83
+ LINK_OPTIONS = $(MACOS_VERSION_MIN) $(MACOS_ARCH)
84
+ ifneq ("x$(SDKROOT)", "x")
85
+ LINK_OPTIONS += -isysroot $(SDKROOT)
86
+ endif
87
+
88
+ ifeq ($(GOAL),debug)
89
+ C_OPTIONS += -DmxASANStackMargin=131072 -fsanitize=address -fno-omit-frame-pointer -fsanitize-blacklist=xst_no_asan.txt
90
+ LINK_OPTIONS += -fsanitize=address -fno-omit-frame-pointer
91
+
92
+ ifneq ($(FUZZING),0)
93
+ C_OPTIONS += -DmxNoChunks=1
94
+ C_OPTIONS += -DmxStress=1
95
+ C_OPTIONS += -DFUZZING=1
96
+ endif
97
+ ifneq ($(OSSFUZZ),0)
98
+ C_OPTIONS += -DOSSFUZZ=1
99
+ C_OPTIONS += $(CFLAGS)
100
+ LINK_OPTIONS += $(CXXFLAGS)
101
+ ifneq ($(OSSFUZZ_JSONPARSE),0)
102
+ C_OPTIONS += -DOSSFUZZ_JSONPARSE=1
103
+ endif
104
+ endif
105
+ ifneq ($(FUZZILLI),0)
106
+ C_OPTIONS += -DFUZZILLI=1 -fsanitize-coverage=trace-pc-guard
107
+ endif
108
+ endif
109
+
110
+ OBJECTS = \
111
+ $(TMP_DIR)/xsAll.o \
112
+ $(TMP_DIR)/xsAPI.o \
113
+ $(TMP_DIR)/xsArguments.o \
114
+ $(TMP_DIR)/xsArray.o \
115
+ $(TMP_DIR)/xsAtomics.o \
116
+ $(TMP_DIR)/xsBigInt.o \
117
+ $(TMP_DIR)/xsBoolean.o \
118
+ $(TMP_DIR)/xsCode.o \
119
+ $(TMP_DIR)/xsCommon.o \
120
+ $(TMP_DIR)/xsDataView.o \
121
+ $(TMP_DIR)/xsDate.o \
122
+ $(TMP_DIR)/xsDebug.o \
123
+ $(TMP_DIR)/xsDefaults.o \
124
+ $(TMP_DIR)/xsError.o \
125
+ $(TMP_DIR)/xsFunction.o \
126
+ $(TMP_DIR)/xsGenerator.o \
127
+ $(TMP_DIR)/xsGlobal.o \
128
+ $(TMP_DIR)/xsJSON.o \
129
+ $(TMP_DIR)/xsLexical.o \
130
+ $(TMP_DIR)/xsLockdown.o \
131
+ $(TMP_DIR)/xsMapSet.o \
132
+ $(TMP_DIR)/xsMarshall.o \
133
+ $(TMP_DIR)/xsMath.o \
134
+ $(TMP_DIR)/xsMemory.o \
135
+ $(TMP_DIR)/xsModule.o \
136
+ $(TMP_DIR)/xsNumber.o \
137
+ $(TMP_DIR)/xsObject.o \
138
+ $(TMP_DIR)/xsPlatforms.o \
139
+ $(TMP_DIR)/xsProfile.o \
140
+ $(TMP_DIR)/xsPromise.o \
141
+ $(TMP_DIR)/xsProperty.o \
142
+ $(TMP_DIR)/xsProxy.o \
143
+ $(TMP_DIR)/xsRegExp.o \
144
+ $(TMP_DIR)/xsRun.o \
145
+ $(TMP_DIR)/xsScope.o \
146
+ $(TMP_DIR)/xsScript.o \
147
+ $(TMP_DIR)/xsSourceMap.o \
148
+ $(TMP_DIR)/xsString.o \
149
+ $(TMP_DIR)/xsSymbol.o \
150
+ $(TMP_DIR)/xsSyntaxical.o \
151
+ $(TMP_DIR)/xsTree.o \
152
+ $(TMP_DIR)/xsType.o \
153
+ $(TMP_DIR)/xsdtoa.o \
154
+ $(TMP_DIR)/xsre.o \
155
+ $(TMP_DIR)/api.o \
156
+ $(TMP_DIR)/dumper.o \
157
+ $(TMP_DIR)/emitter.o \
158
+ $(TMP_DIR)/loader.o \
159
+ $(TMP_DIR)/parser.o \
160
+ $(TMP_DIR)/reader.o \
161
+ $(TMP_DIR)/scanner.o \
162
+ $(TMP_DIR)/writer.o \
163
+ $(TMP_DIR)/xsmc.o \
164
+ $(TMP_DIR)/textdecoder.o \
165
+ $(TMP_DIR)/textencoder.o \
166
+ $(TMP_DIR)/modBase64.o \
167
+ $(TMP_DIR)/xst.o
168
+
169
+ VPATH += $(SRC_DIR) $(TLS_DIR) $(TLS_DIR)/yaml
170
+ VPATH += $(MODDABLE)/modules/data/text/decoder
171
+ VPATH += $(MODDABLE)/modules/data/text/encoder
172
+ VPATH += $(MODDABLE)/modules/data/base64
173
+
174
+ build: $(TMP_DIR) $(BIN_DIR) $(BIN_DIR)/$(NAME)
175
+
176
+ $(TMP_DIR):
177
+ mkdir -p $(TMP_DIR)
178
+
179
+ $(BIN_DIR):
180
+ mkdir -p $(BIN_DIR)
181
+
182
+ $(BIN_DIR)/$(NAME): $(OBJECTS)
183
+ @echo "#" $(NAME) $(GOAL) ": cc" $(@F)
184
+ ifneq ($(OSSFUZZ),0)
185
+ $(CXX) $(LIB_FUZZING_ENGINE) $(LINK_OPTIONS) $(LIBRARIES) $(OBJECTS) -o $@
186
+ else
187
+ $(CC) $(LINK_OPTIONS) $(LIBRARIES) $(OBJECTS) -o $@
188
+ endif
189
+
190
+ $(OBJECTS): $(TLS_DIR)/xst.h
191
+ $(OBJECTS): $(PLT_DIR)/xsPlatform.h
192
+ $(OBJECTS): $(SRC_DIR)/xsCommon.h
193
+ $(OBJECTS): $(SRC_DIR)/xsAll.h
194
+ $(OBJECTS): $(SRC_DIR)/xsScript.h
195
+ $(TMP_DIR)/%.o: %.c
196
+ @echo "#" $(NAME) $(GOAL) ": cc" $(<F)
197
+ $(CC) $< $(C_OPTIONS) -c -o $@
198
+
199
+ clean:
200
+ rm -rf $(BUILD_DIR)/bin/mac/debug/$(NAME)
201
+ rm -rf $(BUILD_DIR)/bin/mac/release/$(NAME)
202
+ rm -rf $(BUILD_DIR)/tmp/mac/debug/$(NAME)
203
+ rm -rf $(BUILD_DIR)/tmp/mac/release/$(NAME)
@@ -0,0 +1,52 @@
1
+ # create / delete new VM
2
+ fun:*fxCreateMachine*
3
+ fun:*fxDeleteMachine*
4
+ fun:*fxCreateMachinePlatform*
5
+ fun:*fxDeleteMachinePlatform*
6
+ fun:*fxAllocate*
7
+
8
+ # primordial builders
9
+ fun:*fxBuildKeys*
10
+ fun:*fxBuildGlobal*
11
+ fun:*fxBuildObject*
12
+ fun:*fxBuildFunction*
13
+ fun:*fxBuildBoolean*
14
+ fun:*fxBuildSymbol*
15
+ fun:*fxBuildError*
16
+ fun:*fxBuildNumber*
17
+ fun:*fxBuildMath*
18
+ fun:*fxBuildBigInt*
19
+ fun:*fxBuildDate*
20
+ fun:*fxBuildString*
21
+ fun:*fxBuildRegExp*
22
+ fun:*fxBuildArguments*
23
+ fun:*fxBuildArray*
24
+ fun:*fxBuildDataView*
25
+ fun:*fxBuildAtomics*
26
+ fun:*fxBuildMapSet*
27
+ fun:*fxBuildJSON*
28
+ fun:*fxBuildGenerator*
29
+ fun:*fxBuildPromise*
30
+ fun:*fxBuildProxy*
31
+ fun:*fxBuildModule*
32
+
33
+ # functions called (mostly) only by primordial builders
34
+ fun:*fxNextHostFunctionProperty*
35
+ fun:*fxLastProperty*
36
+ fun:*fxNextHostAccessorProperty*
37
+ fun:*fxNextUndefinedProperty*
38
+ fun:*fxNextNullProperty*
39
+ fun:*fxNextBooleanProperty*
40
+ fun:*fxNextIntegerProperty*
41
+ fun:*fxNextNumberProperty*
42
+ fun:*fxNextReferenceProperty*
43
+ fun:*fxNextSlotProperty*
44
+ fun:*fxNextStringProperty*
45
+ fun:*fxNextStringXProperty*
46
+ fun:*fxNextSymbolProperty*
47
+ fun:*fxNextTypeDispatchProperty*
48
+ fun:*fxBuildHostConstructor*
49
+ fun:*fxNewHostFunction*
50
+
51
+ # initialize new slots
52
+ fun:*fxGrowSlots*
@@ -0,0 +1,26 @@
1
+ @echo off
2
+ REM
3
+ REM Copyright (c) 2016-2017 Moddable Tech, Inc.
4
+ REM
5
+ REM This file is part of the Moddable SDK Tools.
6
+ REM
7
+ REM The Moddable SDK Tools is free software: you can redistribute it and/or modify
8
+ REM it under the terms of the GNU General Public License as published by
9
+ REM the Free Software Foundation, either version 3 of the License, or
10
+ REM (at your option) any later version.
11
+ REM
12
+ REM The Moddable SDK Tools is distributed in the hope that it will be useful,
13
+ REM but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ REM MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
+ REM GNU General Public License for more details.
16
+ REM
17
+ REM You should have received a copy of the GNU General Public License
18
+ REM along with the Moddable SDK Tools. If not, see <http://www.gnu.org/licenses/>.
19
+ REM
20
+ REM
21
+ SET BUILD_DIR=%MODDABLE%\build
22
+ SET XS_DIR=%MODDABLE%\xs
23
+ @echo on
24
+
25
+ nmake GOAL=debug BUILD_DIR=%BUILD_DIR% XS_DIR=%XS_DIR% /c /f xst.mak /s
26
+ nmake GOAL=release BUILD_DIR=%BUILD_DIR% XS_DIR=%XS_DIR% /c /f xst.mak /s
@@ -0,0 +1,142 @@
1
+ #
2
+ # Copyright (c) 2016-2023 Moddable Tech, Inc.
3
+ #
4
+ # This file is part of the Moddable SDK Tools.
5
+ #
6
+ # The Moddable SDK Tools is free software: you can redistribute it and/or modify
7
+ # it under the terms of the GNU General Public License as published by
8
+ # the Free Software Foundation, either version 3 of the License, or
9
+ # (at your option) any later version.
10
+ #
11
+ # The Moddable SDK Tools is distributed in the hope that it will be useful,
12
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
13
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
+ # GNU General Public License for more details.
15
+ #
16
+ # You should have received a copy of the GNU General Public License
17
+ # along with the Moddable SDK Tools. If not, see <http://www.gnu.org/licenses/>.
18
+ #
19
+ # This file incorporates work covered by the following copyright and
20
+ # permission notice:
21
+ #
22
+ # Copyright (C) 2010-2016 Marvell International Ltd.
23
+ # Copyright (C) 2002-2010 Kinoma, Inc.
24
+ #
25
+ # Licensed under the Apache License, Version 2.0 (the "License");
26
+ # you may not use this file except in compliance with the License.
27
+ # You may obtain a copy of the License at
28
+ #
29
+ # http://www.apache.org/licenses/LICENSE-2.0
30
+ #
31
+ # Unless required by applicable law or agreed to in writing, software
32
+ # distributed under the License is distributed on an "AS IS" BASIS,
33
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
34
+ # See the License for the specific language governing permissions and
35
+ # limitations under the License.
36
+ #
37
+
38
+ !IFNDEF GOAL
39
+ GOAL = debug
40
+ !ENDIF
41
+ NAME = xsc
42
+
43
+ !IFNDEF XS_DIR
44
+ XS_DIR = ..\..
45
+ !ENDIF
46
+
47
+ !IFNDEF BUILD_DIR
48
+ BUILD_DIR = ..\..\..\build
49
+ !ENDIF
50
+
51
+ BIN_DIR = $(BUILD_DIR)\bin\win\$(GOAL)
52
+ INC_DIR = $(XS_DIR)\includes
53
+ PLT_DIR = $(XS_DIR)\platforms
54
+ SRC_DIR = $(XS_DIR)\sources
55
+ TLS_DIR = $(XS_DIR)\tools
56
+ TMP_DIR = $(BUILD_DIR)\tmp\win\$(GOAL)\$(NAME)
57
+
58
+ C_OPTIONS = \
59
+ /c \
60
+ /D _CONSOLE \
61
+ /D WIN32 \
62
+ /D _CRT_SECURE_NO_DEPRECATE \
63
+ -D mxCompile=1 \
64
+ -D mxParse=1 \
65
+ /I$(INC_DIR) \
66
+ /I$(PLT_DIR) \
67
+ /I$(SRC_DIR) \
68
+ /I$(TLS_DIR) \
69
+ /I$(TMP_DIR) \
70
+ /nologo \
71
+ /MP
72
+
73
+ !IF "$(GOAL)"=="debug"
74
+ C_OPTIONS = $(C_OPTIONS) \
75
+ /D _DEBUG \
76
+ /D mxDebug \
77
+ /Fp$(TMP_DIR_DBG)\ \
78
+ /Od \
79
+ /W3 \
80
+ /Z7
81
+ !ELSE
82
+ C_OPTIONS = $(C_OPTIONS) \
83
+ /D NDEBUG \
84
+ /Fp$(TMP_DIR_RLS)\ \
85
+ /O2 \
86
+ /W0
87
+ !ENDIF
88
+
89
+ LIBRARIES = ws2_32.lib advapi32.lib comctl32.lib comdlg32.lib gdi32.lib kernel32.lib user32.lib
90
+
91
+ LINK_OPTIONS = /incremental:no /nologo /subsystem:console
92
+ !IF "$(GOAL)"=="debug"
93
+ LINK_OPTIONS = $(LINK_OPTIONS) /debug
94
+ !ENDIF
95
+
96
+ OBJECTS = \
97
+ $(TMP_DIR)\xsBigInt.obj \
98
+ $(TMP_DIR)\xsCode.obj \
99
+ $(TMP_DIR)\xsCommon.obj \
100
+ $(TMP_DIR)\xsdtoa.obj \
101
+ $(TMP_DIR)\xsLexical.obj \
102
+ $(TMP_DIR)\xsre.obj \
103
+ $(TMP_DIR)\xsScope.obj \
104
+ $(TMP_DIR)\xsScript.obj \
105
+ $(TMP_DIR)\xsSourceMap.obj \
106
+ $(TMP_DIR)\xsSyntaxical.obj \
107
+ $(TMP_DIR)\xsTree.obj \
108
+ $(TMP_DIR)\xsc.obj
109
+
110
+ build : $(TMP_DIR) $(BIN_DIR) $(BIN_DIR)\$(NAME).exe
111
+
112
+ $(TMP_DIR) :
113
+ if not exist $(TMP_DIR)\$(NULL) mkdir $(TMP_DIR)
114
+
115
+ $(BIN_DIR) :
116
+ if not exist $(BIN_DIR)\$(NULL) mkdir $(BIN_DIR)
117
+
118
+ $(BIN_DIR)\$(NAME).exe : $(OBJECTS)
119
+ link \
120
+ $(LINK_OPTIONS) \
121
+ $(LIBRARIES) \
122
+ $(OBJECTS) \
123
+ /implib:$(TMP_DIR)\$(NAME).lib \
124
+ /out:$(BIN_DIR)\$(NAME).exe
125
+
126
+ $(OBJECTS) : $(PLT_DIR)\xsPlatform.h
127
+ $(OBJECTS) : $(SRC_DIR)\xsCommon.h
128
+ $(OBJECTS) : $(SRC_DIR)\xsScript.h
129
+
130
+ {$(SRC_DIR)\}.c{$(TMP_DIR)\}.obj::
131
+ cd $(TMP_DIR)
132
+ cl $< $(C_OPTIONS)
133
+ {$(TLS_DIR)\}.c{$(TMP_DIR)\}.obj::
134
+ cd $(TMP_DIR)
135
+ cl $< $(C_OPTIONS)
136
+
137
+ clean :
138
+ del /Q $(BUILD_DIR)\bin\win\debug\$(NAME).exe
139
+ del /Q $(BUILD_DIR)\bin\win\release\$(NAME).exe
140
+ del /Q $(BUILD_DIR)\tmp\win\debug\$(NAME)
141
+ del /Q $(BUILD_DIR)\tmp\win\release\$(NAME)
142
+
@@ -0,0 +1,113 @@
1
+ #
2
+ # Copyright (c) 2016-2023 Moddable Tech, Inc.
3
+ #
4
+ # This file is part of the Moddable SDK Tools.
5
+ #
6
+ # The Moddable SDK Tools is free software: you can redistribute it and/or modify
7
+ # it under the terms of the GNU General Public License as published by
8
+ # the Free Software Foundation, either version 3 of the License, or
9
+ # (at your option) any later version.
10
+ #
11
+ # The Moddable SDK Tools is distributed in the hope that it will be useful,
12
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
13
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
+ # GNU General Public License for more details.
15
+ #
16
+ # You should have received a copy of the GNU General Public License
17
+ # along with the Moddable SDK Tools. If not, see <http://www.gnu.org/licenses/>.
18
+ #
19
+
20
+ !IFNDEF GOAL
21
+ GOAL = debug
22
+ !ENDIF
23
+ NAME = xsid
24
+
25
+ !IFNDEF XS_DIR
26
+ XS_DIR = ..\..
27
+ !ENDIF
28
+
29
+ !IFNDEF BUILD_DIR
30
+ BUILD_DIR = ..\..\..\build
31
+ !ENDIF
32
+
33
+ BIN_DIR = $(BUILD_DIR)\bin\win\$(GOAL)
34
+ INC_DIR = $(XS_DIR)\includes
35
+ PLT_DIR = $(XS_DIR)\platforms
36
+ SRC_DIR = $(XS_DIR)\sources
37
+ TLS_DIR = $(XS_DIR)\tools
38
+ TMP_DIR = $(BUILD_DIR)\tmp\win\$(GOAL)\$(NAME)
39
+
40
+ C_OPTIONS = \
41
+ /c \
42
+ /D _CONSOLE \
43
+ /D WIN32 \
44
+ /D _CRT_SECURE_NO_DEPRECATE \
45
+ /I$(INC_DIR) \
46
+ /I$(PLT_DIR) \
47
+ /I$(SRC_DIR) \
48
+ /I$(TLS_DIR) \
49
+ /I$(TMP_DIR) \
50
+ /nologo \
51
+ /MP
52
+
53
+ !IF "$(GOAL)"=="debug"
54
+ C_OPTIONS = $(C_OPTIONS) \
55
+ /D _DEBUG \
56
+ /D mxDebug \
57
+ /Fp$(TMP_DIR_DBG)\ \
58
+ /Od \
59
+ /W3 \
60
+ /Z7
61
+ !ELSE
62
+ C_OPTIONS = $(C_OPTIONS) \
63
+ /D NDEBUG \
64
+ /Fp$(TMP_DIR_RLS)\ \
65
+ /O2 \
66
+ /W0
67
+ !ENDIF
68
+
69
+ LIBRARIES = ws2_32.lib advapi32.lib comctl32.lib comdlg32.lib gdi32.lib kernel32.lib user32.lib
70
+
71
+ LINK_OPTIONS = /incremental:no /nologo /subsystem:console
72
+ !IF "$(GOAL)"=="debug"
73
+ LINK_OPTIONS = $(LINK_OPTIONS) /debug
74
+ !ENDIF
75
+
76
+ OBJECTS = \
77
+ $(TMP_DIR)\xsdtoa.obj \
78
+ $(TMP_DIR)\xsre.obj \
79
+ $(TMP_DIR)\xsCommon.obj \
80
+ $(TMP_DIR)\xsid.obj
81
+
82
+ build : $(TMP_DIR) $(BIN_DIR) $(BIN_DIR)\$(NAME).exe
83
+
84
+ $(TMP_DIR) :
85
+ if not exist $(TMP_DIR)\$(NULL) mkdir $(TMP_DIR)
86
+
87
+ $(BIN_DIR) :
88
+ if not exist $(BIN_DIR)\$(NULL) mkdir $(BIN_DIR)
89
+
90
+ $(BIN_DIR)\$(NAME).exe : $(OBJECTS)
91
+ link \
92
+ $(LINK_OPTIONS) \
93
+ $(LIBRARIES) \
94
+ $(OBJECTS) \
95
+ /implib:$(TMP_DIR)\$(NAME).lib \
96
+ /out:$(BIN_DIR)\$(NAME).exe
97
+
98
+ $(OBJECTS) : $(PLT_DIR)\xsPlatform.h
99
+ $(OBJECTS) : $(SRC_DIR)\xsCommon.h
100
+
101
+ {$(SRC_DIR)\}.c{$(TMP_DIR)\}.obj::
102
+ cd $(TMP_DIR)
103
+ cl $< $(C_OPTIONS)
104
+ {$(TLS_DIR)\}.c{$(TMP_DIR)\}.obj::
105
+ cd $(TMP_DIR)
106
+ cl $< $(C_OPTIONS)
107
+
108
+ clean :
109
+ del /Q $(BUILD_DIR)\bin\win\debug\$(NAME).exe
110
+ del /Q $(BUILD_DIR)\bin\win\release\$(NAME).exe
111
+ del /Q $(BUILD_DIR)\tmp\win\debug\$(NAME)
112
+ del /Q $(BUILD_DIR)\tmp\win\release\$(NAME)
113
+