as3使用flascc进行条件编译

时间:2012-12-14 03:50:14

标签: actionscript-3 mxmlc conditional-compilation flascc

我有自定义flex-config.xml的as3项目和mxmlc的条件编译指令,如下所示:

<define append="true">
  <name>CONFIG::DEBUG</name>
  <value>true</value>
</define>
<define append="true">
  <name>CONFIG::RELEASE</name>
  <value>false</value>
</define>

如何用flascc g ++做到这一点?

1 个答案:

答案 0 :(得分:2)

FlasCC的gcc的docs

-fllvm-llc-opt= Pass an argument through to the final invocation of llc (LLVM-IR->ABC codegen).
运行$FLASCC_HOME/usr/bin/llc --help

显示

-ascopt=<asc options> - Extra options to pass to ASC when compiling ActionScript

最后,运行java -jar $FLASCC_HOME/sdk/usr/lib/asc2.jar表明其中的一个参数是

[-config <ns::name=value>]

所以看起来我们应该能够做到这一点:

gcc ... -fllvm-llc-opt="-ascopt=-config CONFIG::RELEASE=true"

不幸的是,虽然标志确实实际上是asc.jar(!),但它似乎是以一个参数(而不是两个)传递,所以它出错了。 -config所需的空间正在搞砸。

workaround将分别传递两个arg:

gcc ... -fllvm-llc-opt=-ascopt=-config -fllvm-llc-opt=-ascopt=CONFIG::RELEASE=true