Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

design questions on minimizing dependencies #25

Open
matu3ba opened this issue Apr 11, 2022 · 1 comment
Open

design questions on minimizing dependencies #25

matu3ba opened this issue Apr 11, 2022 · 1 comment

Comments

@matu3ba
Copy link
Contributor

matu3ba commented Apr 11, 2022

I am wondering, if
#include <string.h>
#include <stdarg.h>
are strictly necessary, as we only need a few of the functions and argument handling doesnt sound super complicated either.

Can you add a comment on the other headers, what they are used for?

    #include <errno.h> // Kernel error codes
    #include <libgen.h> // regex for filter [but only contains dirname and __xpg_basename, so kinda useless???
    #include <unistd.h> // file seek
    #include <sys/types.h> // system types, but where are those used?!
    #include <sys/wait.h> // also includes features.h, pid exit status etc as process info
    #include <signal.h> // signal handler
    #include <time.h> // time
@jasmcaus
Copy link
Owner

jasmcaus commented Apr 11, 2022

Do you mean remove the includes completely, and add your own implementations only for the functions Tau uses? I'm all for minimal dependencies, but there are some sane arguments for using optimized-library functions.

That said, I'm experimenting with writing my own implementations for such library functions. I'm not going to include them with Tau for simplicity reasons, but I encourage you to check the core for my compiler which is a mini-C library of sorts. Most changes are periodically reflected in the CSTL repo for easy use.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants