hi,
if the plan is to reduce this repo to just enough to build ksh93,
I think it should be moved to a separate repo, since this is supposed to
be all of AST.
I don't know if anyone still uses the whole thing but I'd rather keep it
whole.
Glenn and Dave used to package up ksh93 and just the libs needed to
build it,
I can put that up as /att/ksh93 if there's interest. it's from 2013,
like the master branch of AST.
the biggest issue I have with building AST isn't so much the legacy
code, but the header file incompatibilities, and these arise from AST
trying to replace system libraries with better versions.
at some point I had built AST with clang on linux but not on OSX and it
had to do
with the different headers in OSX.
thanks
lefteris
On 10/24/17 00:16, Kurtis Rader wrote:
Has anyone else worked on making it possible to build ksh93 on macOS
using clang/LLVM rather than gcc? After many hours of investigation
and experimentation I have a working solution. But it involves hacking
the `./src/cmd/nmake/ppcc.sh` script to special-case clang and remove
the `-I-` flag from the list of arguments. Doing that, plus
eliminating all the AST items not needed to build ksh93, reduces the
build time from 12 minutes to 8 minutes on my server. And that is
without optimizing all the `iffe` invocations.
The current build toolchain hasn't been updated in a very long time. A
lot of the logic involves dealing with ancient history such as C
compilers that only recognize K&R syntax, not ANSI C syntax. It is
also incredibly inefficient. For example, man source modules are
compiled twice (e.g., src/lib/libast/disc/sfstrtmp.c). Not to mention
redundant `iffe` invocations to detect various features of the platform.
There is an open issue, https://github.com/att/ast/issues/42
<https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_att_ast_issues_42&d=DwMFaQ&c=LFYZ-o9_HUMeMTSQicvjIg&r=w8fB702vkC3W-R3CrCrZ-z27uWBR8v2uNvO18rq1ia0&m=9ZDeGj9J8zJsJZtwaJZIlwXqG3_aTtX1uOQRouY9sVM&s=8uVh7UbGTIEmgiHrwImr8e0qpbHGiM7qXCCkqsEyHKI&e=>,
discussing replacing the current build system with something based on
autoconf or Cmake. Given what I've observed in the past few days
trying to get ksh93 to build on macOS with clang I feel quite strongly
the current build system needs to be replaced. What do you think?
Note that I'm approaching this from the perspective that no one cares
about anything in the AST project other than ksh93. Which is certainly
true for myself. It also appears to be true for everyone else who has
commented on the code for this project hosted on Github:
https://github.com/att/ast/
<https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_att_ast_&d=DwMFaQ&c=LFYZ-o9_HUMeMTSQicvjIg&r=w8fB702vkC3W-R3CrCrZ-z27uWBR8v2uNvO18rq1ia0&m=9ZDeGj9J8zJsJZtwaJZIlwXqG3_aTtX1uOQRouY9sVM&s=CotRuyK0MbUsjGmjg-G5TJtSDZGoa4z9f4-ZYPib7Xk&e=>.
--
Kurtis Rader
Caretaker of the exceptional canines Junior and Hank
_______________________________________________
ast-developers mailing list
ast-developers@lists.research.att.com
http://lists.research.att.com/mailman/listinfo/ast-developers
--
E. Koutsofios
AT&T Labs - Research
_______________________________________________
ast-developers mailing list
ast-developers@lists.research.att.com
http://lists.research.att.com/mailman/listinfo/ast-developers