Skip to content

Commit 672e3b8

Browse files
committed
fix(core): avoid use static library
1 parent 59e7192 commit 672e3b8

24 files changed

Lines changed: 309 additions & 3511 deletions

.gitignore

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
lib/
1+
lib
22
.idea/
33
node_modules/
4-
temp/
5-
dist/
4+
temp
5+
dist
66
*.log
77
*.dat
88
*.config.yaml
@@ -18,3 +18,4 @@ cmake_install.cmake
1818
ta_config.h
1919
ta-lib/Makefile
2020
ta-lib/c/Makefile
21+
ta-lib/c/bin

binding.gyp

Lines changed: 206 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,216 @@
33
{
44
"target_name": "talib_binding",
55
"sources": [
6+
"ta-lib/c/src/ta_abstract/frames/ta_frame.c",
7+
"ta-lib/c/src/ta_abstract/ta_abstract.c",
8+
"ta-lib/c/src/ta_abstract/ta_def_ui.c",
9+
"ta-lib/c/src/ta_abstract/ta_func_api.c",
10+
"ta-lib/c/src/ta_abstract/ta_group_idx.c",
11+
"ta-lib/c/src/ta_abstract/tables/table_a.c",
12+
"ta-lib/c/src/ta_abstract/tables/table_b.c",
13+
"ta-lib/c/src/ta_abstract/tables/table_c.c",
14+
"ta-lib/c/src/ta_abstract/tables/table_d.c",
15+
"ta-lib/c/src/ta_abstract/tables/table_e.c",
16+
"ta-lib/c/src/ta_abstract/tables/table_f.c",
17+
"ta-lib/c/src/ta_abstract/tables/table_g.c",
18+
"ta-lib/c/src/ta_abstract/tables/table_h.c",
19+
"ta-lib/c/src/ta_abstract/tables/table_i.c",
20+
"ta-lib/c/src/ta_abstract/tables/table_j.c",
21+
"ta-lib/c/src/ta_abstract/tables/table_k.c",
22+
"ta-lib/c/src/ta_abstract/tables/table_l.c",
23+
"ta-lib/c/src/ta_abstract/tables/table_m.c",
24+
"ta-lib/c/src/ta_abstract/tables/table_n.c",
25+
"ta-lib/c/src/ta_abstract/tables/table_o.c",
26+
"ta-lib/c/src/ta_abstract/tables/table_p.c",
27+
"ta-lib/c/src/ta_abstract/tables/table_q.c",
28+
"ta-lib/c/src/ta_abstract/tables/table_r.c",
29+
"ta-lib/c/src/ta_abstract/tables/table_s.c",
30+
"ta-lib/c/src/ta_abstract/tables/table_t.c",
31+
"ta-lib/c/src/ta_abstract/tables/table_u.c",
32+
"ta-lib/c/src/ta_abstract/tables/table_v.c",
33+
"ta-lib/c/src/ta_abstract/tables/table_w.c",
34+
"ta-lib/c/src/ta_abstract/tables/table_x.c",
35+
"ta-lib/c/src/ta_abstract/tables/table_y.c",
36+
"ta-lib/c/src/ta_abstract/tables/table_z.c",
37+
"ta-lib/c/src/ta_common/ta_global.c",
38+
"ta-lib/c/src/ta_common/ta_retcode.c",
39+
"ta-lib/c/src/ta_common/ta_version.c",
40+
"ta-lib/c/src/ta_func/ta_ACCBANDS.c",
41+
"ta-lib/c/src/ta_func/ta_ACOS.c",
42+
"ta-lib/c/src/ta_func/ta_AD.c",
43+
"ta-lib/c/src/ta_func/ta_ADD.c",
44+
"ta-lib/c/src/ta_func/ta_ADOSC.c",
45+
"ta-lib/c/src/ta_func/ta_ADX.c",
46+
"ta-lib/c/src/ta_func/ta_ADXR.c",
47+
"ta-lib/c/src/ta_func/ta_APO.c",
48+
"ta-lib/c/src/ta_func/ta_AROON.c",
49+
"ta-lib/c/src/ta_func/ta_AROONOSC.c",
50+
"ta-lib/c/src/ta_func/ta_ASIN.c",
51+
"ta-lib/c/src/ta_func/ta_ATAN.c",
52+
"ta-lib/c/src/ta_func/ta_ATR.c",
53+
"ta-lib/c/src/ta_func/ta_AVGDEV.c",
54+
"ta-lib/c/src/ta_func/ta_AVGPRICE.c",
55+
"ta-lib/c/src/ta_func/ta_BBANDS.c",
56+
"ta-lib/c/src/ta_func/ta_BETA.c",
57+
"ta-lib/c/src/ta_func/ta_BOP.c",
58+
"ta-lib/c/src/ta_func/ta_CCI.c",
59+
"ta-lib/c/src/ta_func/ta_CDL2CROWS.c",
60+
"ta-lib/c/src/ta_func/ta_CDL3BLACKCROWS.c",
61+
"ta-lib/c/src/ta_func/ta_CDL3INSIDE.c",
62+
"ta-lib/c/src/ta_func/ta_CDL3LINESTRIKE.c",
63+
"ta-lib/c/src/ta_func/ta_CDL3OUTSIDE.c",
64+
"ta-lib/c/src/ta_func/ta_CDL3STARSINSOUTH.c",
65+
"ta-lib/c/src/ta_func/ta_CDL3WHITESOLDIERS.c",
66+
"ta-lib/c/src/ta_func/ta_CDLABANDONEDBABY.c",
67+
"ta-lib/c/src/ta_func/ta_CDLADVANCEBLOCK.c",
68+
"ta-lib/c/src/ta_func/ta_CDLBELTHOLD.c",
69+
"ta-lib/c/src/ta_func/ta_CDLBREAKAWAY.c",
70+
"ta-lib/c/src/ta_func/ta_CDLCLOSINGMARUBOZU.c",
71+
"ta-lib/c/src/ta_func/ta_CDLCONCEALBABYSWALL.c",
72+
"ta-lib/c/src/ta_func/ta_CDLCOUNTERATTACK.c",
73+
"ta-lib/c/src/ta_func/ta_CDLDARKCLOUDCOVER.c",
74+
"ta-lib/c/src/ta_func/ta_CDLDOJI.c",
75+
"ta-lib/c/src/ta_func/ta_CDLDOJISTAR.c",
76+
"ta-lib/c/src/ta_func/ta_CDLDRAGONFLYDOJI.c",
77+
"ta-lib/c/src/ta_func/ta_CDLENGULFING.c",
78+
"ta-lib/c/src/ta_func/ta_CDLEVENINGDOJISTAR.c",
79+
"ta-lib/c/src/ta_func/ta_CDLEVENINGSTAR.c",
80+
"ta-lib/c/src/ta_func/ta_CDLGAPSIDESIDEWHITE.c",
81+
"ta-lib/c/src/ta_func/ta_CDLGRAVESTONEDOJI.c",
82+
"ta-lib/c/src/ta_func/ta_CDLHAMMER.c",
83+
"ta-lib/c/src/ta_func/ta_CDLHANGINGMAN.c",
84+
"ta-lib/c/src/ta_func/ta_CDLHARAMI.c",
85+
"ta-lib/c/src/ta_func/ta_CDLHARAMICROSS.c",
86+
"ta-lib/c/src/ta_func/ta_CDLHIGHWAVE.c",
87+
"ta-lib/c/src/ta_func/ta_CDLHIKKAKE.c",
88+
"ta-lib/c/src/ta_func/ta_CDLHIKKAKEMOD.c",
89+
"ta-lib/c/src/ta_func/ta_CDLHOMINGPIGEON.c",
90+
"ta-lib/c/src/ta_func/ta_CDLIDENTICAL3CROWS.c",
91+
"ta-lib/c/src/ta_func/ta_CDLINNECK.c",
92+
"ta-lib/c/src/ta_func/ta_CDLINVERTEDHAMMER.c",
93+
"ta-lib/c/src/ta_func/ta_CDLKICKING.c",
94+
"ta-lib/c/src/ta_func/ta_CDLKICKINGBYLENGTH.c",
95+
"ta-lib/c/src/ta_func/ta_CDLLADDERBOTTOM.c",
96+
"ta-lib/c/src/ta_func/ta_CDLLONGLEGGEDDOJI.c",
97+
"ta-lib/c/src/ta_func/ta_CDLLONGLINE.c",
98+
"ta-lib/c/src/ta_func/ta_CDLMARUBOZU.c",
99+
"ta-lib/c/src/ta_func/ta_CDLMATCHINGLOW.c",
100+
"ta-lib/c/src/ta_func/ta_CDLMATHOLD.c",
101+
"ta-lib/c/src/ta_func/ta_CDLMORNINGDOJISTAR.c",
102+
"ta-lib/c/src/ta_func/ta_CDLMORNINGSTAR.c",
103+
"ta-lib/c/src/ta_func/ta_CDLONNECK.c",
104+
"ta-lib/c/src/ta_func/ta_CDLPIERCING.c",
105+
"ta-lib/c/src/ta_func/ta_CDLRICKSHAWMAN.c",
106+
"ta-lib/c/src/ta_func/ta_CDLRISEFALL3METHODS.c",
107+
"ta-lib/c/src/ta_func/ta_CDLSEPARATINGLINES.c",
108+
"ta-lib/c/src/ta_func/ta_CDLSHOOTINGSTAR.c",
109+
"ta-lib/c/src/ta_func/ta_CDLSHORTLINE.c",
110+
"ta-lib/c/src/ta_func/ta_CDLSPINNINGTOP.c",
111+
"ta-lib/c/src/ta_func/ta_CDLSTALLEDPATTERN.c",
112+
"ta-lib/c/src/ta_func/ta_CDLSTICKSANDWICH.c",
113+
"ta-lib/c/src/ta_func/ta_CDLTAKURI.c",
114+
"ta-lib/c/src/ta_func/ta_CDLTASUKIGAP.c",
115+
"ta-lib/c/src/ta_func/ta_CDLTHRUSTING.c",
116+
"ta-lib/c/src/ta_func/ta_CDLTRISTAR.c",
117+
"ta-lib/c/src/ta_func/ta_CDLUNIQUE3RIVER.c",
118+
"ta-lib/c/src/ta_func/ta_CDLUPSIDEGAP2CROWS.c",
119+
"ta-lib/c/src/ta_func/ta_CDLXSIDEGAP3METHODS.c",
120+
"ta-lib/c/src/ta_func/ta_CEIL.c",
121+
"ta-lib/c/src/ta_func/ta_CMO.c",
122+
"ta-lib/c/src/ta_func/ta_CORREL.c",
123+
"ta-lib/c/src/ta_func/ta_COS.c",
124+
"ta-lib/c/src/ta_func/ta_COSH.c",
125+
"ta-lib/c/src/ta_func/ta_DEMA.c",
126+
"ta-lib/c/src/ta_func/ta_DIV.c",
127+
"ta-lib/c/src/ta_func/ta_DX.c",
128+
"ta-lib/c/src/ta_func/ta_EMA.c",
129+
"ta-lib/c/src/ta_func/ta_EXP.c",
130+
"ta-lib/c/src/ta_func/ta_FLOOR.c",
131+
"ta-lib/c/src/ta_func/ta_HT_DCPERIOD.c",
132+
"ta-lib/c/src/ta_func/ta_HT_DCPHASE.c",
133+
"ta-lib/c/src/ta_func/ta_HT_PHASOR.c",
134+
"ta-lib/c/src/ta_func/ta_HT_SINE.c",
135+
"ta-lib/c/src/ta_func/ta_HT_TRENDLINE.c",
136+
"ta-lib/c/src/ta_func/ta_HT_TRENDMODE.c",
137+
"ta-lib/c/src/ta_func/ta_IMI.c",
138+
"ta-lib/c/src/ta_func/ta_KAMA.c",
139+
"ta-lib/c/src/ta_func/ta_LINEARREG_ANGLE.c",
140+
"ta-lib/c/src/ta_func/ta_LINEARREG_INTERCEPT.c",
141+
"ta-lib/c/src/ta_func/ta_LINEARREG_SLOPE.c",
142+
"ta-lib/c/src/ta_func/ta_LINEARREG.c",
143+
"ta-lib/c/src/ta_func/ta_LN.c",
144+
"ta-lib/c/src/ta_func/ta_LOG10.c",
145+
"ta-lib/c/src/ta_func/ta_MA.c",
146+
"ta-lib/c/src/ta_func/ta_MACD.c",
147+
"ta-lib/c/src/ta_func/ta_MACDEXT.c",
148+
"ta-lib/c/src/ta_func/ta_MACDFIX.c",
149+
"ta-lib/c/src/ta_func/ta_MAMA.c",
150+
"ta-lib/c/src/ta_func/ta_MAVP.c",
151+
"ta-lib/c/src/ta_func/ta_MAX.c",
152+
"ta-lib/c/src/ta_func/ta_MAXINDEX.c",
153+
"ta-lib/c/src/ta_func/ta_MEDPRICE.c",
154+
"ta-lib/c/src/ta_func/ta_MFI.c",
155+
"ta-lib/c/src/ta_func/ta_MIDPOINT.c",
156+
"ta-lib/c/src/ta_func/ta_MIDPRICE.c",
157+
"ta-lib/c/src/ta_func/ta_MIN.c",
158+
"ta-lib/c/src/ta_func/ta_MININDEX.c",
159+
"ta-lib/c/src/ta_func/ta_MINMAX.c",
160+
"ta-lib/c/src/ta_func/ta_MINMAXINDEX.c",
161+
"ta-lib/c/src/ta_func/ta_MINUS_DI.c",
162+
"ta-lib/c/src/ta_func/ta_MINUS_DM.c",
163+
"ta-lib/c/src/ta_func/ta_MOM.c",
164+
"ta-lib/c/src/ta_func/ta_MULT.c",
165+
"ta-lib/c/src/ta_func/ta_NATR.c",
166+
"ta-lib/c/src/ta_func/ta_NVI.c",
167+
"ta-lib/c/src/ta_func/ta_OBV.c",
168+
"ta-lib/c/src/ta_func/ta_PLUS_DI.c",
169+
"ta-lib/c/src/ta_func/ta_PLUS_DM.c",
170+
"ta-lib/c/src/ta_func/ta_PPO.c",
171+
"ta-lib/c/src/ta_func/ta_PVI.c",
172+
"ta-lib/c/src/ta_func/ta_ROC.c",
173+
"ta-lib/c/src/ta_func/ta_ROCP.c",
174+
"ta-lib/c/src/ta_func/ta_ROCR.c",
175+
"ta-lib/c/src/ta_func/ta_ROCR100.c",
176+
"ta-lib/c/src/ta_func/ta_RSI.c",
177+
"ta-lib/c/src/ta_func/ta_SAR.c",
178+
"ta-lib/c/src/ta_func/ta_SAREXT.c",
179+
"ta-lib/c/src/ta_func/ta_SIN.c",
180+
"ta-lib/c/src/ta_func/ta_SINH.c",
181+
"ta-lib/c/src/ta_func/ta_SMA.c",
182+
"ta-lib/c/src/ta_func/ta_SQRT.c",
183+
"ta-lib/c/src/ta_func/ta_STDDEV.c",
184+
"ta-lib/c/src/ta_func/ta_STOCH.c",
185+
"ta-lib/c/src/ta_func/ta_STOCHF.c",
186+
"ta-lib/c/src/ta_func/ta_STOCHRSI.c",
187+
"ta-lib/c/src/ta_func/ta_SUB.c",
188+
"ta-lib/c/src/ta_func/ta_SUM.c",
189+
"ta-lib/c/src/ta_func/ta_T3.c",
190+
"ta-lib/c/src/ta_func/ta_TAN.c",
191+
"ta-lib/c/src/ta_func/ta_TANH.c",
192+
"ta-lib/c/src/ta_func/ta_TEMA.c",
193+
"ta-lib/c/src/ta_func/ta_TRANGE.c",
194+
"ta-lib/c/src/ta_func/ta_TRIMA.c",
195+
"ta-lib/c/src/ta_func/ta_TRIX.c",
196+
"ta-lib/c/src/ta_func/ta_TSF.c",
197+
"ta-lib/c/src/ta_func/ta_TYPPRICE.c",
198+
"ta-lib/c/src/ta_func/ta_ULTOSC.c",
199+
"ta-lib/c/src/ta_func/ta_utility.c",
200+
"ta-lib/c/src/ta_func/ta_VAR.c",
201+
"ta-lib/c/src/ta_func/ta_WCLPRICE.c",
202+
"ta-lib/c/src/ta_func/ta_WILLR.c",
203+
"ta-lib/c/src/ta_func/ta_WMA.c",
6204
"src/talib-binding.generated.cc"
7205
],
8206
"include_dirs": [
207+
"ta-lib/c/include/",
208+
"ta-lib/c/src/ta_abstract/",
209+
"ta-lib/c/src/ta_abstract/frames/",
210+
"ta-lib/c/src/ta_abstract/tables/",
211+
"ta-lib/c/src/ta_abstract/templates/",
212+
"ta-lib/c/src/ta_common/",
213+
"ta-lib/c/src/ta_func/",
9214
"<!(node -e \"require('nan')\")"
10-
],
11-
"link_settings": {
12-
"libraries": [
13-
"../ta-lib/c/lib/libta_libc_csr.a"
14-
]
15-
}
215+
]
16216
}
17217
]
18218
}

package.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,14 @@
55
"version": "0.2.0",
66
"license": "MIT",
77
"scripts": {
8-
"install": "cd ta-lib && cmake ./ && make -j4 && mkdir -p c/lib/ c/bin/{gen_code,ta_regtest} c/temp/csr/gen_code && cd ./c/make/csr/linux/g++ && make -j4 && cd ../../../../../../ && node-gyp configure build -j4"
8+
"install2": "mkdir -p ta-lib/{lib,c/{lib,bin,temp/csr/{gen_code,ta_abstract,ta_common,ta_func,ta_libc,ta_regtest}}} && cd ta-lib && cmake ./ && make && cd ./c/make/csr/linux/g++ && CFLAGS=\"-arch $(uname -m)\" LDFLAGS=\"-arch $(uname -m)\" make && cd ../../../../../../ && node-gyp configure build -j4"
99
},
1010
"description": "The [TA-Lib](http://ta-lib.org/) sync bindings.",
1111
"devDependencies": {
12+
"@types/glob": "^5.0.32",
1213
"@types/node": "^8.0.30",
1314
"@types/xml2js": "^0.4.0",
15+
"glob": "^7.1.2",
1416
"json2ts": "^0.0.7",
1517
"known-types": "^1.0.1",
1618
"piclick": "^1.0.4",

src/generate.ts

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import * as fs from "fs"
1313
import {parseString} from "xml2js"
1414
import {OptionalInputArgument, OutputArgument, RequiredInputArgument, TaFuncApiXml} from "./ta_func_api.generated"
1515
import {createMap, IMap} from "known-types"
16+
import G = require("glob")
1617

1718
interface Json2ts {
1819
convertObjectToTsInterfaces<T>(content: T, name?: string): string;
@@ -530,4 +531,27 @@ export function generateTypes() {
530531
fs.writeFileSync(__dirname + '/talib-binding.generated.d.ts', body.build())
531532
}
532533

534+
export function generateGyp() {
535+
const sources = G.sync('ta-lib/c/src/{ta_abstract,ta_common,ta_func}/**/!(ta_java_defs|excel_glue).c', {
536+
cwd: __dirname + '/..',
537+
nodir: true,
538+
})
539+
const includes = G.sync('ta-lib/c/{include,src/{ta_abstract,ta_common,ta_func}/**}/', {
540+
cwd: __dirname + '/..',
541+
nodir: false,
542+
})
543+
sources.push('src/talib-binding.generated.cc')
544+
includes.push('<!(node -e "require(\'nan\')")')
545+
const config: any = {
546+
targets: [
547+
{
548+
target_name: 'talib_binding',
549+
sources: sources,
550+
include_dirs: includes,
551+
}
552+
]
553+
}
554+
fs.writeFileSync(__dirname + '/../binding.gyp', JSON.stringify(config, void 0, 2))
555+
}
556+
533557
autorun(module)

ta-lib/CHANGELOG.TXT

Lines changed: 0 additions & 23 deletions
This file was deleted.

0 commit comments

Comments
 (0)