bsloane1650 commented on a change in pull request #422:
URL: https://github.com/apache/incubator-daffodil/pull/422#discussion_r499688509
##########
File path: daffodil-runtime2/src/main/c/common_runtime.c
##########
@@ -0,0 +1,92 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
Review comment:
I'd rather not get in the bussiness of shipping precompiled static
libraries.
At the moment, Daffodil is mostly platform independent by virtue of running
on the JVM. This goes away if we include compiled c code. Further, providing a
shared library for multiple supported systems from a single build would involve
setting up cross compilation, which is another headache.
Since our output is c source code anyway, the user already needs to go
through a c compile step regardless, so I do not think we are saving them much
by pre compiling the common runtime.
Further, a common usecase for runtime2 would likely be embedded systems,
where space is at a premium. Users of such systems may prefer to compile
everything at once with static linking in order to benifit from the size
reductions of dead code elimination (as portions of the runtime may not be used
by every format)
If we do want to provide a shared library, I don't think including it in the
jar makes sense. You need the .so at parser runtime; which (unlike with jni)
does not occur under a jvm. If we provide a .so, I would think it should be
distributed seperatly.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]