| #ifndef SOFORT_DRIVER_IMPL_H |
| #define SOFORT_DRIVER_IMPL_H |
| |
| #include <stdint.h> |
| #include <stdio.h> |
| #include <sys/types.h> |
| |
| #include <slibtool/slibtool.h> |
| #include "argv/argv.h" |
| |
| extern int slibtool_main(int, char **, char **); |
| extern const struct argv_option slbt_default_options[]; |
| |
| enum app_tags { |
| TAG_HELP, |
| TAG_HELP_ALL, |
| TAG_VERSION, |
| TAG_CONFIG, |
| TAG_DEBUG, |
| TAG_DRY_RUN, |
| TAG_FEATURES, |
| TAG_MODE, |
| TAG_WARNINGS, |
| TAG_DEPS, |
| TAG_SILENT, |
| TAG_TAG, |
| TAG_VERBOSE, |
| TAG_TARGET, |
| TAG_HOST, |
| TAG_FLAVOR, |
| TAG_AR, |
| TAG_RANLIB, |
| TAG_DLLTOOL, |
| TAG_OUTPUT, |
| TAG_RPATH, |
| TAG_RELEASE, |
| TAG_VERSION_INFO, |
| TAG_NO_SUPPRESS, |
| TAG_PREFER_PIC, |
| TAG_PREFER_NON_PIC, |
| TAG_SHARED, |
| TAG_STATIC, |
| TAG_NO_UNDEFINED, |
| TAG_COMPILER_FLAG, |
| TAG_VERBATIM_FLAG, |
| }; |
| |
| struct slbt_host_strs { |
| char * host; |
| char * flavor; |
| char * ar; |
| char * ranlib; |
| char * dlltool; |
| }; |
| |
| struct slbt_driver_ctx_impl { |
| struct slbt_common_ctx cctx; |
| struct slbt_driver_ctx ctx; |
| struct slbt_host_strs host; |
| char * libname; |
| char ** targv; |
| char ** cargv; |
| }; |
| |
| struct slbt_unit_ctx_impl { |
| const char * path; |
| struct slbt_input map; |
| struct slbt_common_ctx cctx; |
| struct slbt_unit_ctx uctx; |
| }; |
| |
| #endif |