jetc: rename --shared build output convention from .so to .jtc
Purely a naming-convention change per user request, not a format
change - the output is still a real ELF shared object (-shared -fPIC),
still dlopen()-able exactly as before. .jtc ("jet compiled") marks it as
an APIServer-loadable content module rather than a generic library.
build-shared.sh: usage text and STEM derivation
(basename "$OUTPUT" .so -> .jtc) both updated - the STEM change is the
one functional piece here, everything else in this commit is comments/
usage strings. Doc comments in jetc.cpp/JetCodegen.h/host_test.cpp/
api_test.cpp updated to match.
Verified live: rebuilt jetc and all five demo*.jtc modules, reran
api_test/host_test against demo3.jtc (still resolves jetc_api_demo3/
jetc_render_demo3 and renders correctly) - the extension is purely
cosmetic to dlopen(), as expected.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
3f273b0a95
commit
9bbb95cc57
6 files changed
+28
-22
No files matched your search
Executable → Regular
+4
-4
@@ -1,5 +1,5 @@
|
||||
// Minimal stand-in for the not-yet-built server: dlopen()s a compiled
|
||||
// template .so and calls its exported render entry point directly, the
|
||||
// Minimal stand-in for a server: dlopen()s a compiled
|
||||
// template .jtc and calls its exported render entry point directly, the
|
||||
// way a persistent content-provider process would (no process spawn per
|
||||
// request, no re-parsing the .jet source - both the compile step AND
|
||||
// the shared-object load happen once, ahead of time).
|
||||
@@ -14,7 +14,7 @@ typedef void (*RenderFn)(jet::Global &, coreutils::MString &);
|
||||
|
||||
int main(int argc, char **argv, char **envp) {
|
||||
if (argc < 3) {
|
||||
std::cerr << "usage: host_test <module.so> <symbol>" << std::endl;
|
||||
std::cerr << "usage: host_test <module.jtc> <symbol>" << std::endl;
|
||||
return 1;
|
||||
}
|
||||
void *handle = dlopen(argv[1], RTLD_NOW);
|
||||
@@ -31,7 +31,7 @@ int main(int argc, char **argv, char **envp) {
|
||||
}
|
||||
|
||||
// Simulate the host calling the SAME module twice, for two different
|
||||
// "requests", to prove the .so is reusable across calls without being
|
||||
// "requests", to prove the .jtc is reusable across calls without being
|
||||
// reloaded - the actual point of a persistent content provider.
|
||||
for (int i = 0; i < 2; ++i) {
|
||||
jet::Global global(envp);
|
||||
|
||||
Reference in new issue
Block a user