| #ifndef SLIBTOOL_LINKCMD_IMPL_H |
| #define SLIBTOOL_LINKCMD_IMPL_H |
| |
| struct slbt_deps_meta { |
| char ** altv; |
| char * args; |
| int depscnt; |
| int infolen; |
| }; |
| |
| int slbt_get_deps_meta( |
| const struct slbt_driver_ctx * dctx, |
| char * libfilename, |
| int fexternal, |
| struct slbt_deps_meta * depsmeta); |
| |
| int slbt_exec_link_create_dep_file( |
| const struct slbt_driver_ctx * dctx, |
| struct slbt_exec_ctx * ectx, |
| char ** altv, |
| const char * libfilename, |
| bool farchive); |
| |
| bool slbt_adjust_object_argument( |
| char * arg, |
| bool fpic, |
| bool fany, |
| int fdcwd); |
| |
| bool slbt_adjust_wrapper_argument( |
| char * arg, |
| bool fpic, |
| const char * suffix); |
| |
| int slbt_adjust_linker_argument( |
| const struct slbt_driver_ctx * dctx, |
| char * arg, |
| char ** xarg, |
| bool fpic, |
| const char * dsosuffix, |
| const char * arsuffix, |
| struct slbt_deps_meta * depsmeta); |
| |
| int slbt_exec_link_adjust_argument_vector( |
| const struct slbt_driver_ctx * dctx, |
| struct slbt_exec_ctx * ectx, |
| struct slbt_deps_meta * depsmeta, |
| const char * cwd, |
| bool flibrary); |
| |
| int slbt_exec_link_finalize_argument_vector( |
| const struct slbt_driver_ctx * dctx, |
| struct slbt_exec_ctx * ectx); |
| |
| int slbt_exec_link_create_host_tag( |
| const struct slbt_driver_ctx * dctx, |
| struct slbt_exec_ctx * ectx, |
| char * deffilename); |
| |
| int slbt_exec_link_create_import_library( |
| const struct slbt_driver_ctx * dctx, |
| struct slbt_exec_ctx * ectx, |
| char * impfilename, |
| char * deffilename, |
| char * soname); |
| |
| int slbt_exec_link_create_archive( |
| const struct slbt_driver_ctx * dctx, |
| struct slbt_exec_ctx * ectx, |
| const char * arfilename, |
| bool fpic, |
| bool fdep); |
| |
| int slbt_exec_link_create_library( |
| const struct slbt_driver_ctx * dctx, |
| struct slbt_exec_ctx * ectx, |
| const char * dsobasename, |
| const char * dsofilename, |
| const char * relfilename, |
| bool fardlopen, |
| bool fpic); |
| |
| |
| int slbt_exec_link_create_executable( |
| const struct slbt_driver_ctx * dctx, |
| struct slbt_exec_ctx * ectx, |
| const char * exefilename); |
| |
| #endif |